0

是否有 API 或其他方法可以确定设备上是否存在不需要先在 Android 中获取我的指纹的凭据?

目前,我可以getSignPendingIntent(PublicKeyCredentialRequestOptions)使用特定的凭证 ID 进行呼叫,然后系统会提示我使用我的指纹。提供指纹后,如果设备上不存在凭据,我将返回错误响应,如果存在凭据,我将获得成功响应。

是否有另一种方法来确定设备上是否存在凭据?

需要知道这一点的一个原因是,如果客户在设备 A 上注册了凭据,然后在设备 B 上访问了网站。如果他们在设备 B 上,我不想提示他们输入指纹以了解他们是否可以使用他们的 WebAuthN 凭证。我想先检查凭据是否存在,否则回退到标准身份验证方法。

4

1 回答 1

3

没有办法百分百确定。迄今为止最好的解决方案是将其credential id存储在创建它的本地存储(或 cookie)中。这样,您可以检查是否应该在该设备上(即在该浏览器中)提供指纹登录(又名平台验证器)选项。

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

于 2021-04-21T07:00:06.157 回答