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:
Note: This method may only be used in top-level contexts and will not be available in an <iframe> for example.
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
None.
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.
The returned Promise may be rejected with the following values:
SecurityError DOMException
The RP domain is not valid.
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);
});
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
isUserVerifyingPlatformAuthenticatorAvailable_static |
67 | 18 | 60Only supports USB U2F tokens. |
54 | 13 | 70 | 9260–92Only supports USB U2F tokens. |
49 | 13 | 10.0 | No | 13 |
isUserVerifyingPlatformAuthenticator()
© 2005–2025 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_static