使用 WebAuthN 检查 credential_id 在平台验证器上是否可用

Check if a credential_id is available on platform authenticator with WebAuthN

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

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

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

不幸的是,它与您的另一个问题的答案相同:无法 100% 确定。目前最好的解决方案是将凭据 id 存储在创建它的本地存储(或 cookie)中。这样,您可以检查是否应该在该设备上(即在该浏览器中)提供指纹登录(又名平台身份验证器)选项。

FIDO Alliance 和 W3C WebAuthn WG 已经尝试改变这一点,但到目前为止还没有完成,主要是出于隐私原因。