PublicKeyCredential:isUserVerifyingPlatformAuthenticatorAvailable() 静态方法

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中。

isUserVerifyingPlatformAuthenticatorAvailable()PublicKeyCredential接口的静态方法,它返回一个Promise,如果存在用户验证平台身份验证器,则该 Promise 解析为true

用户验证平台身份验证器是一种多因素身份验证器,它是客户端设备的一部分(通常不可移除),并且需要用户执行操作才能识别他们。常见的用户验证平台身份验证器包括

  • Touch ID 或 Face ID(macOS 和 iOS)
  • Windows Hello(Windows)
  • Android 上的设备解锁(指纹、面部、PIN 等)

注意:此方法可能仅在顶级上下文中使用,例如,在<iframe>中将不可用。

语法

js
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()

参数

无。

返回值

一个Promise,它解析为一个布尔值,指示用户验证平台身份验证器是否可用。

注意:在早期版本的规范中,布尔值还传达了用户同意披露此类身份验证器存在的意愿。

示例

js
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
  .then((available) => {
    if (available) {
      // We can proceed with the creation of a PublicKeyCredential
      // with this authenticator
    } else {
      // Use another kind of authenticator or a classical login/password
      // workflow
    }
  })
  .catch((err) => {
    // Something went wrong
    console.error(err);
  });

规范

规范
Web 身份验证:访问公钥凭据的 API - 3 级
# dom-publickeycredential-isuserverifyingplatformauthenticatoravailable

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅