禁用漫游身份验证器与 Android WebAuthn

问题描述

有没有办法通过 WebAuthn for Android 禁用漫游身份验证器,而只允许使用平台身份验证器?

我将 Fido2ApiClientgetSignPendingIntent API 用于 WebAuthn,如果我尝试使用设备平台身份验证器上不存在的密钥登录,它会弹出一个屏幕要求我设置漫游身份验证器(通过 USB、蓝牙或 NFC)以继续登录。我希望在用于登录的密钥出现时抛出错误,而不是使用漫游身份验证器的此选项不存在于设备的平台验证器上,或者以某种方式被通知设备上不存在密钥。

有没有办法用 PublicKeyCredentialRequestOptions 指定它?

解决方法

请查看注册仪式期间在选项中传递的身份验证器附件枚举:https://w3c.github.io/webauthn/#enum-attachment

它允许您阻止注册漫游身份验证器。

,

这可以通过在 Transport 设置中将 PublicKeyCredentialDescriptor 选项设置为 Transport.INTERNAL 来指定。