一个网站可以注册用户与OpenID连接和认证他们与WebAuthn?



凭证存储在Azure AD中。Azure AD支持OpenID Connect。客户端使用Android/iPhone或Windows Hello的现代浏览器。

是否有可能实现您的网站的web认证API。当用户没有为您的网站存储私有/公共FIDO密钥时,让用户使用OpenID Connect和他们的Azure AD凭据进行身份验证?下次他们想要使用你的网站时,他们不必再使用他们的Azure AD凭证进行身份验证,因为他们的设备上有一个FIDO密钥。

或者我说的是完全愚蠢的东西,WebAuthn不这样工作吗?

我希望找到一个例子,他们确实实现了这样一个用例,但很难找到关于这个主题的东西。我发现这个主题WebAuthn如何允许依赖的web api访问公钥解密凭证,而无需发送密钥?但它仍然不能解释我是否在正确的轨道上。

OIDC的一般模式是永远不要在应用程序中编写身份验证代码。相反,你运行一个代码流,授权服务器处理凭证,包括WebAuthn密钥,所以你的应用程序不需要。相反,您的应用程序和api接收令牌,带有标识用户的主题声明。

通常,您然后在授权服务器中进行一些配置以获得所需的行为。一种选择是允许用户在每次登录时选择网络认证和密码。另一种方法是提示输入用户名来识别用户,然后查找他们的身份验证方法。例如,如果他们有现有的WebAuthn密钥,绕过身份验证选择屏幕。

对此进行推理的一个好方法是首先创建流程图,例如为新用户和未来的用户创建流程图,然后选择一个支持您所需行为的授权服务器,这将需要一些可扩展性。另请参阅Azure AD无密码选项。

WebAuthn和联邦协议(如OpenID Connect)之间没有直接关系。然而,它们经常一起使用,但是使用WebAuthn来向IdP (OIDC提供者)验证用户。

Federation不应该与本地凭据混合使用。我不建议这样做,因为这会让用户非常困惑。

最新更新