请问OpenID principal是否通过了双因素认证?
Can I ask if the OpenID principal did pass a two-factor authentication?
我正在为一个新项目设计一个身份验证方案。人们将能够使用 OpenID
通过 Google / Facebook / Microsoft 等帐户进行身份验证。所有这些提供商都支持双因素身份验证。
我的目标很简单:当用户使用OpenID主体注册或登录时,我想查询身份验证服务并判断用户是否启用了双因素身份验证。如果他这样做了,并且通过了两个步骤,"Welcome user",否则 "Sorry buddy but this site is very secure and you must enable two-factor authentication".
是否可以使用当前服务? 我已阅读 Google docs 但一无所获。由于 OpenID Connect 不支持令牌的任何 "two-step authentication" 属性,也不支持可能被利用的 "strength" 属性,因此我必须依赖可能泄露此类信息的特定配置文件 API。但我至少在 Google APIs.
中还没有发现
郑重声明:OpenID 2.0 和 OpenID Connect 是不同的协议。大多数提供商正在从早期的 OpenID 2.0 标准转向 OpenID Connect。
Facebook 不支持 OpenID 2.0 和 OpenID Connect,而是使用自己的建立在 OAuth 2.0 之上的登录协议。 Google 已弃用 OpenID 2.0 支持以支持 OpenID Connect。 Microsoft 支持 LiveID 的 OpenID 2.0,但也在转向 OpenID Connect;他们的 Azure AD 帐户已经支持 OpenID Connect。
OpenID Connect 支持不同的身份验证方法,客户端可以通过使用请求声明集中的 acr
声明作为身份验证请求的一部分来请求指定的值,请参阅:http://openid.net/specs/openid-connect-core-1_0.html#acrSemantics。提供商必须 return acr
在 id_token
中声明与请求值之一匹配的值。提供商还可以 return amr
声明这是一个 JSON 字符串数组,这些字符串是身份验证中使用的身份验证方法的标识符。
很遗憾,您提到的提供程序尚不支持 acr
概念,因此答案是 "no",尽管 Microsoft Azure AD return amr
在 id_token
.
中声明
我正在为一个新项目设计一个身份验证方案。人们将能够使用 OpenID
通过 Google / Facebook / Microsoft 等帐户进行身份验证。所有这些提供商都支持双因素身份验证。
我的目标很简单:当用户使用OpenID主体注册或登录时,我想查询身份验证服务并判断用户是否启用了双因素身份验证。如果他这样做了,并且通过了两个步骤,"Welcome user",否则 "Sorry buddy but this site is very secure and you must enable two-factor authentication".
是否可以使用当前服务? 我已阅读 Google docs 但一无所获。由于 OpenID Connect 不支持令牌的任何 "two-step authentication" 属性,也不支持可能被利用的 "strength" 属性,因此我必须依赖可能泄露此类信息的特定配置文件 API。但我至少在 Google APIs.
中还没有发现郑重声明:OpenID 2.0 和 OpenID Connect 是不同的协议。大多数提供商正在从早期的 OpenID 2.0 标准转向 OpenID Connect。
Facebook 不支持 OpenID 2.0 和 OpenID Connect,而是使用自己的建立在 OAuth 2.0 之上的登录协议。 Google 已弃用 OpenID 2.0 支持以支持 OpenID Connect。 Microsoft 支持 LiveID 的 OpenID 2.0,但也在转向 OpenID Connect;他们的 Azure AD 帐户已经支持 OpenID Connect。
OpenID Connect 支持不同的身份验证方法,客户端可以通过使用请求声明集中的 acr
声明作为身份验证请求的一部分来请求指定的值,请参阅:http://openid.net/specs/openid-connect-core-1_0.html#acrSemantics。提供商必须 return acr
在 id_token
中声明与请求值之一匹配的值。提供商还可以 return amr
声明这是一个 JSON 字符串数组,这些字符串是身份验证中使用的身份验证方法的标识符。
很遗憾,您提到的提供程序尚不支持 acr
概念,因此答案是 "no",尽管 Microsoft Azure AD return amr
在 id_token
.