PublicKeyCredential: getClientExtensionResults()-Methode

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 Bezeichnern der während der Anmeldeinformationen-Erstellung oder -Authentifizierung angeforderten Erweiterungen und deren Ergebnissen nach der Verarbeitung durch den Benutzeragenten zurück.

Während der Erstellung oder des Abrufs 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.

Note: 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 Authentifikator-Daten, die in AuthenticatorAssertionResponse.authenticatorData verfügbar sind.

Syntax

js
getClientExtensionResults()

Parameter

Keine.

Rückgabewert

Eine map, wobei jeder Eintrag eine Erweiterungs-Bezeichnerzeichenfolge als Schlüssel und das Ausgabewert der Verarbeitung der Erweiterung durch den Client als Wert ist.

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 unterschiedliche Erweiterungen erkennen. Das Verarbeiten von Erweiterungen ist für den Client immer optional: Wenn ein Browser eine bestimmte Erweiterung nicht erkennt, wird sie einfach ignoriert. Informationen darüber, welche Erweiterungen von welchen Browsern unterstützt werden, finden Sie in den Web Authentication-Erweiterungen.

Siehe auch