PublicKeyCredential: Methode getClientExtensionResults()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die getClientExtensionResults()-Methode der PublicKeyCredential-Schnittstelle gibt eine Zuordnung zwischen den Kennungen der während der Erstellung oder Authentifizierung eines Zertifikats angeforderten Erweiterungen und deren Ergebnissen nach der Verarbeitung durch den Benutzeragenten zurück.

Während der Erstellung oder des Abrufens eines PublicKeyCredential (über navigator.credentials.create() bzw. navigator.credentials.get()) ist es möglich, eine "benutzerdefinierte" Verarbeitung durch den Client für verschiedene Erweiterungen anzufordern, die in der extensions-Eigenschaft der publicKey-Option angegeben sind. Weitere Informationen zum Anfordern der verschiedenen Erweiterungen finden Sie in den Web Authentication-Erweiterungen.

Hinweis: getClientExtensionResults() gibt nur die Ergebnisse von Erweiterungen zurück, die vom Benutzeragenten (Client) verarbeitet wurden. Die Ergebnisse von Erweiterungen, die vom Authentifikator verarbeitet wurden, finden Sie in den authenticator data, die in AuthenticatorAssertionResponse.authenticatorData verfügbar sind.

Syntax

js
getClientExtensionResults()

Parameter

Keine.

Rückgabewert

Ein Map, wobei jeder Eintrag ein Zeichenfolgen-Identifier der Erweiterung als Schlüssel enthält und das vom Client verarbeitete Ergebnis der Erweiterung als Wert.

Ausnahmen

SecurityError DOMException

Die RP-Domain ist nicht gültig.

Beispiele

js
const publicKey = {
  // Here are the extension "inputs"
  extensions: {
    appid: "https://accounts.example.com",
  },
  allowCredentials: {
    id: "fgrt46jfgd...",
    transports: ["usb", "nfc"],
    type: "public-key",
  },
  challenge: new Uint8Array(16) /* from the server */,
};

navigator.credentials
  .get({ publicKey })
  .then((publicKeyCred) => {
    const myResults = publicKeyCred.getClientExtensionResults();
    // myResults will contain the output of processing the "appid" extension
  })
  .catch((err) => {
    console.error(err);
  });

Spezifikationen

Specification
Web Authentication: An API for accessing Public Key Credentials - Level 3
# ref-for-dom-publickeycredential-getclientextensionresults

Browser-Kompatibilität

Hinweis: Erweiterungen sind optional und verschiedene Browser können verschiedene Erweiterungen erkennen. Die Verarbeitung von Erweiterungen ist für den Client stets optional: Wenn ein Browser eine bestimmte Erweiterung nicht erkennt, ignoriert er sie einfach. Informationen darüber, welche Erweiterungen von welchen Browsern unterstützt werden, finden Sie unter Web Authentication-Erweiterungen.

Siehe auch