当前位置: 首页 > 知识库问答 >
问题:

如何检查WebAuthn平台类型的身份验证器?

赵永新
2023-03-14

所以尝试整合WebAuthn。如果对平台无关的(FIDO2安全密钥)检查更容易(是否一般支持webauthN-我们继续,也许用户插入USB密钥稍后),我找不到一种方法来检查平台相关的(Windows Hello,指纹扫描器等)身份验证器。IsUserVerifyingPlatforMauthenticatorAvailable()看起来就像我所需要的一样,只是

window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
  .then(() => true)
  .catch(() => false)
  .then((x) => console.log(x))

对于我的MacBook(Chrome,Firefox,Safari)总是返回true。此外,MacBook没有任何身份验证器,正在尝试使用

"authenticatorSelection": {
    "authenticatorAttachment" : "platform", 
    "requireResidentKey":false, 
    "userVerification":"preferred"
}

以“此设备不支持此网站请求的安全密钥类型”结束。留言(我的MacBook绝对没有指纹扫描仪,所以这是合理的!)

看到了类似的问题,但只提供了使用isUserVerifyingPlatforMauthenticatorAvailable()的建议。

共有1个答案

倪子晋
2023-03-14

IsUserVerifyingPlatforMauthenticatorAvailable()返回一个布尔值的promise,因此您的代码应该更像:

window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
  .then(isAvailable => isAvailable)
  .catch(err => false)
  .then(result => console.log("Platform authenticator is available: " + result));

此处的MDN文章:https://developer.mozilla.org/en-us/docs/web/api/publickeycredential/isUserVerifingPlatforMauthenticatorAvailable

 类似资料:
  • 我正在谷歌云平台上工作,我必须使用java非Web应用程序访问云功能,就像我正在尝试使用谷歌云存储JSON API存储和检索谷歌云存储中的对象一样。 在访问这些之前,我需要对我的应用程序进行身份验证,所以我找到了授权API来进行授权访问。 null 我浏览了GCP文档,但没有得到区分这些文档的明确信息,我对GCP非常陌生,所以请您分享任何信息或博客链接,以说明如何使用Google Cloud Cl

  • 问题内容: 因此,我正在使用RESTeasy和Google App Engine开发REST Web服务。我的问题与GAE无关,但我提到它只是为了以防万一。碰巧的是,我自然需要保护自己的资源和我自己的用户(而不是Google的用户)。 REST Web服务的安全似乎是一个很有争议的主题,或者至少是一个非常“自由的”主题。REST对此没有施加任何标准。根据我在网络和文献上的研究,至少有3种方法适合我

  • 我们目前正在使用W3C Web身份验证支持的Keycloak 12.0.0无密码登录/身份验证功能(webAuthn用于无密码身份验证)。 我能够自定义身份验证流(通过keycloak的管理控制台)。使用Keycloak的“JavaScript适配器”,我们可以登录我们的Android应用程序(使用Chrome自定义标签-带指纹/设备PIN)。WebAuthn工作很好。 但在iOS14和Safar

  • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工

  • 我有一个需要以两种不同方式保护的API: 1) 对除1以外的所有请求URL使用JWT,该URL需要使用基本身份验证进行保护 2) 一个url的基本身份验证。 我已经为JWT和Basic Auth设置了安全配置。我的问题是,当我使用有效的用户名和密码请求基本的经过身份验证的URL时,它会成功地对我进行身份验证,并将数据存储在cassandra中。 然后,我希望必须通过/api/login为所有其他请