Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

js
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:

SecurityError DOMException

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.
js
// 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

Browser-Kompatibilität