PublicKeyCredential: isUserVerifyingPlatformAuthenticatorAvailable() static method

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers .

The isUserVerifyingPlatformAuthenticatorAvailable() static method of the PublicKeyCredential interface returns a Promise which resolves to true if a user-verifying platform authenticator is present.

A user-verifying platform authenticator is a kind of multi-factor authenticator that is part of the client device (it is generally not removable) and that involves an action from the user in order to identify them. Common user-verifying platform authenticators include:

  • Touch ID or Face ID (macOS and iOS)
  • Windows Hello (Windows)
  • Device unlock (fingerprint, face, PIN, etc.) on Android

Note: This method may only be used in top-level contexts and will not be available in an <iframe> for example.

Syntax

js
PublicKeyCredential
.
isUserVerifyingPlatformAuthenticatorAvailable
(
)

Parameters

None.

Return value

A Promise which resolves to a boolean value indicating whether or a not a user-verifying platform authenticator is available.

Note: In earlier versions of the specification, the boolean also conveyed the consent of the user to disclose such an authenticator existed.

Examples

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
)
;

  }
)
;

Specifications

Specification
Web Authentication: An API for accessing Public Key Credentials - Level 3
# dom-publickeycredential-isuserverifyingplatformauthenticatoravailable

Browser compatibility

BCD tables only load in the browser

See also