如何检查 WebAuthn 平台类型的身份验证器?
how to check for WebAuthn platform-type authenticators?
因此尝试集成 WebAuthN。如果对于独立于平台的(FIDO2 安全密钥)检查更容易(通常是否支持 webauthN - 我们继续,也许用户稍后插入 USB 密钥),我找不到检查平台相关的方法(Windows你好,指纹扫描仪等)验证器。 isUserVerifyingPlatformAuthenticatorAvailable()
看起来正是我所需要的,但是
window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
.then(() => true)
.catch(() => false)
.then((x) => console.log(x))
对于我的 MacBook(Chrome、Firefox、Safari)总是 returns 正确。除了 MacBook 没有任何身份验证器并尝试继续
的参数
"authenticatorSelection": {
"authenticatorAttachment" : "platform",
"requireResidentKey":false,
"userVerification":"preferred"
}
以“此设备不支持此网站请求的安全密钥类型”结尾。消息(而且我的 MacBook 肯定没有指纹扫描仪,所以这是合理的!)
看到了 similar questions,但只有使用此 isUserVerifyingPlatformAuthenticatorAvailable()
的建议。
isUserVerifyingPlatformAuthenticatorAvailable()
returns 一个布尔值的 Promise,所以你的代码看起来应该更像:
window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
.then(isAvailable => isAvailable)
.catch(err => false)
.then(result => console.log("Platform authenticator is available: " + result));
因此尝试集成 WebAuthN。如果对于独立于平台的(FIDO2 安全密钥)检查更容易(通常是否支持 webauthN - 我们继续,也许用户稍后插入 USB 密钥),我找不到检查平台相关的方法(Windows你好,指纹扫描仪等)验证器。 isUserVerifyingPlatformAuthenticatorAvailable()
看起来正是我所需要的,但是
window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
.then(() => true)
.catch(() => false)
.then((x) => console.log(x))
对于我的 MacBook(Chrome、Firefox、Safari)总是 returns 正确。除了 MacBook 没有任何身份验证器并尝试继续
的参数"authenticatorSelection": {
"authenticatorAttachment" : "platform",
"requireResidentKey":false,
"userVerification":"preferred"
}
以“此设备不支持此网站请求的安全密钥类型”结尾。消息(而且我的 MacBook 肯定没有指纹扫描仪,所以这是合理的!)
看到了 similar questions,但只有使用此 isUserVerifyingPlatformAuthenticatorAvailable()
的建议。
isUserVerifyingPlatformAuthenticatorAvailable()
returns 一个布尔值的 Promise,所以你的代码看起来应该更像:
window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
.then(isAvailable => isAvailable)
.catch(err => false)
.then(result => console.log("Platform authenticator is available: " + result));