是否可以(在浏览器中运行的客户端javascript中)检测用户是否通过webauthn进行身份验证?不感兴趣的是浏览器是否支持webauthn或凭据是什么,但只有在身份验证已经发生时才感兴趣。我在https://www.w3.org/TR/webauthn-2/上查看了api,并在https://webauthn.io/上进行了演示,但不知道是否允许这样做。
我需要在一个网站上运行的第三方脚本中检测到这一点。因此,我无法访问实现webauthn的代码。如果网站通过webauthn实现MFA,我会更容易发现,但我认为这是不可能的;因此,作为一种后遗症,我希望我能够检测到mfa身份验证是否已经发生。
发布于 2021-11-11 14:50:38
因此,让我们考虑一下一般的身份验证。身份验证是特定服务的一个特性,由服务以特定方式实现。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
发布于 2021-11-11 18:11:29
可以在身份验证断言(例如SAML断言或OpenID连接ID令牌)中传递此信息,使用各种声明:
它也可以在访问令牌( https://www.rfc-editor.org/rfc/rfc9068.html#name-authentication-information- )中作为索赔进行传递。
https://stackoverflow.com/questions/69929858
复制相似问题