gpt4 book ai didi

webauthn - 如何检测浏览器是否支持webauthn

转载 作者:行者123 更新时间:2023-12-02 20:00:59 27 4
gpt4 key购买 nike

Webauthn 目前仅在有限数量的设备中受支持 https://caniuse.com/#search=webauthn .

在 JavaScript 中,我希望能够在向用户提供登录或加入表单之前检测用户浏览器是否支持。

检查 navigator.credentials 似乎有效,但这是检查此支持的正确方法吗?

if(!navigator.credentials) {
alert('fail');
}

最佳答案

通过检查navigator.credentials您正在检查浏览器是否支持 Credentials Management API ,这不仅仅是 WebAuthn。

Credential Management API 目前支持 3 种类型的凭证,FederatedCredential , PasswordCredentialPublicKeyCredential .

WebAuthn 建立在 PublicKeyCredential 接口(interface)之上。参见 https://www.w3.org/TR/webauthn/#iface-pkcredential .

所以你需要的是:

 if (typeof(PublicKeyCredential) == "undefined") {
alert('fail');
}

这就是为什么当您要求浏览器创建“WebAuthn 凭证”时,您需要指定公钥类型:navigator.credentials.create({ "publicKey": { ... } }),请参阅 https://developer.mozilla.org/en-US/docs/Web/API/CredentialsContainer/create#Parameters .

关于webauthn - 如何检测浏览器是否支持webauthn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55866575/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com