成功创建'platform'凭据后,我试图检索凭据以获取断言。
但是当我通过以下credentialRequestOptions
时
const publicKeyCredentialRequestOptions = {
challenge: Uint8Array.from(challengeFromServer, (c) => c.charCodeAt(0)),
allowCredentials: [
{
transports: ["internal"],
type: "public-key",
id: Uint8Array.from(credentialId, (c) => c.charCodeAt(0))
}
],
timeout: 60000,
userVerification: "required",
rpId: rpId
}
userVerification弹出,指纹验证,显示正常
但是在我完成它之后,我得到"操作要么超时要么不允许">例外。
当我删除时,tansports: ["internal"]选项,我的设备要求我"从蓝牙、NFC或usb中选择安全密钥">
我的设备似乎不支持"内部"凭据。
测试Env
- 设备:SM-N971N(Galaxy Note10)
- OS: Android12
- 浏览器:Chrome 107.0.5304.91
最可能的原因是凭据ID不正确。尝试在注册后立即使用console.log()记录它,并在做出断言之前立即记录,以确保没有编码问题。