我在一个Azure域中,用户可以使用他们的FIDO2安全密钥登录。我希望能够获得用户的Windows登录令牌使用他们的安全密钥。
有一些非常好的验证(断言)键的c++示例。https://github.com/aseigler/HelloSample/blob/master/hello/hello.cpp),但是我还没有找到任何方法来使用返回的断言信息来获取用户的登录令牌,然后将其用于模拟。这应该是可能的,因为用户可以使用相同的安全密钥登录或解锁Windows工作站。
我在Windows WebAuthN.dll中看到一些非常有趣的导出函数,如WebAuthNGetPlatformCredentials或WebAuthNDecodeAccountInformation。不幸的是,这些函数似乎没有文档记录。
有没有人设法使用WebAuthN获得Windows登录令牌,或者有任何想法如何做到这一点?
当用户访问IIS web应用程序并连接到IIS服务器上的web服务或SQL Server时,我就是这样使用Impersonation的。
impersonationContext = currentWindowsIdentity.Impersonate
'Insert your code that runs under the security context of the authenticating user here.
impersonationContext.Undo()
PS:如果你要求用户提供他们的凭证,…无论如何,你正在使用的系统应该被烧毁,你应该立即被解雇。