【问题标题】:Check if a credential_id is available on platform authenticator with WebAuthN使用 WebAuthN 检查平台身份验证器上是否有 credential_id
【发布时间】:2021-05-17 01:43:44
【问题描述】:

有没有办法在调用navigator.credentials.get 之前检查平台身份验证器上是否存在凭据?例如,如果您指定只能使用平台身份验证器而不能使用漫游身份验证器,那么您如何知道凭据是否仍然存在于平台身份验证器上?如果正在使用的平台身份验证器是您的手机,那么当您将设备恢复出厂设置时,凭据将被删除。

我熟悉常驻密钥与非常驻密钥的概念,并且常驻密钥是可发现的。我问的是非常驻密钥用例。是唯一的

注意:我已经问过一个类似的问题here,但我在这里问的是不同的。我想知道如何从浏览器检查凭据是否存在,而不是像其他问题那样使用 Android API。

【问题讨论】:

    标签: webauthn fido


    【解决方案1】:

    不幸的是,这与您的其他问题的答案相同:没有办法 100% 确定。迄今为止最好的解决方案是将凭证 ID 存储在创建它的本地存储(或 cookie)中。这样,您可以检查是否应该在该设备上(即在该浏览器中)提供指纹登录(又名平台验证器)选项。

    FIDO 联盟和 W3C WebAuthn WG 已经尝试过改变这一点,但到目前为止主要是由于隐私原因尚未完成。

    【讨论】:

    • 感谢您再次回复。我只是不明白在本地存储凭证 ID 有多大帮助。如果它存储在本地应用程序存储或 cookie 中,那么它将在应用程序卸载时被清除。如果它存储在外部存储中,它可能会被用户或潜在的其他应用程序修改。如果我遗漏了什么,请纠正我。如果我知道设备是创建凭据的位置,我已经决定始终表现得好像凭据存在于设备上一样。唯一会失败的情况是用户将设备恢复出厂设置。
    • 您是绝对正确的,应用程序卸载或用户清除本地存储时信息丢失。这就是为什么没有办法百分百确定的原因。不幸的是,截至目前没有更好的方法。
    猜你喜欢
    • 1970-01-01
    • 2022-07-19
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 2022-12-20
    相关资源
    最近更新 更多