检测用户是否使用 webauthn 进行身份验证
Detect if user authenticated with webauthn
是否可以检测(在客户端 javascript 运行 在浏览器中)用户是否通过 webauthn 进行了身份验证?对浏览器是否支持 webauthn 或凭据是什么不感兴趣,但只对已进行身份验证感兴趣。我已经查看了 https://www.w3.org/TR/webauthn-2/ and experimented w/ the demo at https://webauthn.io/ 的 api,但不知道是否允许这样做。
我需要在网站上检测这个 w/in 第三方脚本 运行。所以我无权访问将实现 webauthn 的代码。通过 webauthn 检测网站是否正在实施 MFA 对我来说会更容易,但我认为这是不可能的;所以作为后备,我希望我可以检测是否发生了 MFA 身份验证。
所以让我们考虑一下一般的身份验证。身份验证是特定服务的一项功能,由服务以特定方式实现。 Google 和 Facebook 之间的用户体验可能相似,但流程、API、密码散列对于每个提供商都是唯一的。
要确定您是否可以使用密码登录网站,您需要访问一个网站,例如查看它是否有登录表单。
与 WebAuthn 相同。这不是一些浏览器内的魔法。如果你想看看你是否可以在一个网站上使用 WebAuthn,你需要尝试登录一个网站,看看它是否在登录期间使用 WebAuthn API。
WebAuthn API 仅提供生成凭证并获取凭证断言(证明)的能力。您可以使用此信息来验证用户。您具体是如何做的,以及执行验证的过程对于每项服务都是不同的。
总之:
WebAuthn API 没有判断用户是否登录的功能,因为这不是 WebAuthn API 的目的。
如果您有兴趣了解有关 WebAuthn 的更多信息:
我们有一个很棒的指南:https://webauthn.guide/
有用资源的集合:https://github.com/herrjemand/awesome-webauthn
深入了解 WebAuthn API:https://medium.com/webauthnworks/introduction-to-webauthn-api-5fd1fb46c285
可以使用各种声明在身份验证断言(例如 SAML 断言或 OpenID Connect ID 令牌)中传达此信息:
- https://openid.net/specs/openid-connect-eap-acr-values-1_0-01.html#rfc.section.2
- http://docs.oasis-open.org/security/saml/v2.0/saml-authn-context-2.0-os.pdf
它也可以作为访问令牌中的声明来传达:https://www.rfc-editor.org/rfc/rfc9068.html#name-authentication-information-
是否可以检测(在客户端 javascript 运行 在浏览器中)用户是否通过 webauthn 进行了身份验证?对浏览器是否支持 webauthn 或凭据是什么不感兴趣,但只对已进行身份验证感兴趣。我已经查看了 https://www.w3.org/TR/webauthn-2/ and experimented w/ the demo at https://webauthn.io/ 的 api,但不知道是否允许这样做。
我需要在网站上检测这个 w/in 第三方脚本 运行。所以我无权访问将实现 webauthn 的代码。通过 webauthn 检测网站是否正在实施 MFA 对我来说会更容易,但我认为这是不可能的;所以作为后备,我希望我可以检测是否发生了 MFA 身份验证。
所以让我们考虑一下一般的身份验证。身份验证是特定服务的一项功能,由服务以特定方式实现。 Google 和 Facebook 之间的用户体验可能相似,但流程、API、密码散列对于每个提供商都是唯一的。
要确定您是否可以使用密码登录网站,您需要访问一个网站,例如查看它是否有登录表单。
与 WebAuthn 相同。这不是一些浏览器内的魔法。如果你想看看你是否可以在一个网站上使用 WebAuthn,你需要尝试登录一个网站,看看它是否在登录期间使用 WebAuthn API。
WebAuthn API 仅提供生成凭证并获取凭证断言(证明)的能力。您可以使用此信息来验证用户。您具体是如何做的,以及执行验证的过程对于每项服务都是不同的。
总之:
WebAuthn API 没有判断用户是否登录的功能,因为这不是 WebAuthn API 的目的。
如果您有兴趣了解有关 WebAuthn 的更多信息:
我们有一个很棒的指南:https://webauthn.guide/
有用资源的集合:https://github.com/herrjemand/awesome-webauthn
深入了解 WebAuthn API:https://medium.com/webauthnworks/introduction-to-webauthn-api-5fd1fb46c285
可以使用各种声明在身份验证断言(例如 SAML 断言或 OpenID Connect ID 令牌)中传达此信息:
- https://openid.net/specs/openid-connect-eap-acr-values-1_0-01.html#rfc.section.2
- http://docs.oasis-open.org/security/saml/v2.0/saml-authn-context-2.0-os.pdf
它也可以作为访问令牌中的声明来传达:https://www.rfc-editor.org/rfc/rfc9068.html#name-authentication-information-