PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()

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

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

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

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: This is a static method which is directly called on the PublicKeyCredential interface and not on an instance.

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

Examples

PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
  .then(function(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(function(err){
    // Something went wrong
    console.error(err);
  });

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
isUserVerifyingPlatformAuthenticatorAvailable
67
18
60
Only supports USB U2F tokens.
No
No
13
No
70
60
Only supports USB U2F tokens.
No
13
No

See also

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/isUserVerifyingPlatformAuthenticatorAvailable