PublicKeyCredential: isConditionalMediationAvailable() static method
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The isConditionalMediationAvailable()
static method of the PublicKeyCredential
interface returns a Promise
which resolves to true
if conditional mediation is available.
Syntax
js
PublicKeyCredential.isConditionalMediationAvailable()
Parameters
None.
Return value
A Promise
which resolves to a boolean value indicating whether or not conditional mediation is available.
Examples
Before invoking a conditional WebAuthn API call, check if:
- The browser supports the Web Authentication API.
- The browser supports WebAuthn conditional UI.
js
// Availability of `window.PublicKeyCredential` means WebAuthn is usable.
if (
window.PublicKeyCredential &&
PublicKeyCredential.isConditionalMediationAvailable
) {
// Check if conditional mediation is available.
const isCMA = await PublicKeyCredential.isConditionalMediationAvailable();
if (isCMA) {
// Call WebAuthn authentication
const publicKeyCredentialRequestOptions = {
// Server generated challenge
challenge: ****,
// The same RP ID as used during registration
rpId: "example.com",
};
const credential = await navigator.credentials.get({
publicKey: publicKeyCredentialRequestOptions,
signal: abortController.signal,
// Specify 'conditional' to activate conditional UI
mediation: "conditional",
});
}
}
Note: See Sign in with a passkey through form autofill for more information about using conditional mediation.
Specifications
Specification |
---|
Web Authentication: An API for accessing Public Key Credentials - Level 3 # dom-publickeycredential-isconditionalmediationavailable |
Browser compatibility
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
isConditionalMediationAvailable() static method |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
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.