PublicKeyCredential: isUserVerifyingPlatformAuthenticatorAvailable() static method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
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
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
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