Web/API/PublicKeyCredential/isUserVerifyingPlatformAuthenticatorAvailable
Secure contextThis 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.
At the time of this writing, this method's result only resolves to true
on Windows when Windows Hello capabilities are available (on recent versions of this OS).
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
indicating whether or a not a user-verifying platform authenticator is available. As of today (March 2019), this is basically indicating if Windows Hello may be used with the Web Authentication API and that the user has accepted its use.
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
Specification | Status | Comment |
---|---|---|
Web Authentication: An API for accessing Public Key Credentials Level 1The definition of 'isUserVerifyingPlatformAuthenticatorAvailable' in that specification. | Recommendation | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
isUserVerifyingPlatformAuthenticatorAvailable
|
Chrome Full support 67 Full support 67 Full support 65 Notes' Only supports USB U2F tokens.
Disabled' From version 65: this feature is behind the |
Edge
Full support 18 |
Firefox Full support 60 Full support 60 Notes' Only supports USB U2F tokens. |
IE
No support No |
Opera
No support No |
Safari
Full support 13 |
WebView Android
Full support 70 |
Chrome Android
Full support 70 |
Firefox Android Full support 60 Full support 60 Notes' Only supports USB U2F tokens. |
Opera Android
No support No |
Safari iOS
Full support 13.3 |
Samsung Internet Android
No support No |
Legend
- Full support
- Full support
- No support
- No support
- See implementation notes.'
- See implementation notes.
- User must explicitly enable this feature.'
- User must explicitly enable this feature.