PublicKeyCredential: Statische Methode isConditionalMediationAvailable()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Oktober 2023 browserübergreifend verfügbar.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die statische Methode isConditionalMediationAvailable() des PublicKeyCredential-Interfaces gibt ein Promise zurück, das mit true erfüllt wird, wenn das Gerät conditional get unterstützt.
Dies entspricht einem von PublicKeyCredential.getClientCapabilities() zurückgegebenen Objekt, dessen conditionalGet-Eigenschaft den Wert true hat. Entwicklern wird empfohlen, diese API zu bevorzugen.
Hinweis:
Diese Methode gibt nicht an, ob conditional create unterstützt wird. Prüfen Sie dazu den Wert von conditionalCreate im Objekt, das PublicKeyCredential.getClientCapabilities() zurückgibt.
Syntax
PublicKeyCredential.isConditionalMediationAvailable()
Parameter
Keine.
Rückgabewert
Ein Promise, das mit einem booleschen Wert erfüllt wird, der angibt, ob conditional get verfügbar ist.
Ausnahmen
Das zurückgegebene Promise kann mit folgendem Wert zurückgewiesen werden:
SecurityErrorDOMException-
Die RP-Domain ist ungültig.
Beispiele
Prüfen Sie vor dem Aufruf einer conditional WebAuthn API, ob:
- der Browser die Web Authentication API unterstützt.
- der Browser conditional get unterstützt.
// Availability of `window.PublicKeyCredential` means WebAuthn is usable.
if (
window.PublicKeyCredential &&
PublicKeyCredential.isConditionalMediationAvailable
) {
// Check if conditional get is available.
const isCMA = await PublicKeyCredential.isConditionalMediationAvailable();
if (isCMA) {
// Call WebAuthn authentication
const publicKeyCredentialRequestOptions = {
// Server generated challenge
challenge: challengeFromServer,
// 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",
});
}
}
Spezifikationen
| Spezifikation |
|---|
| Web Authentication: An API for accessing Public Key Credentials - Level 4> # dom-publickeycredential-isconditionalmediationavailable> |