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 des PublicKeyCredential-Interfaces gibt eine Zuordnung zwischen den Kennungen von Erweiterungen zurück, die während der Erstellung oder Authentifizierung von Anmeldeinformationen angefordert wurden, und deren Ergebnissen nach der Verarbeitung durch den Benutzeragenten.

Während der Erstellung oder des Abrufs eines PublicKeyCredential (über navigator.credentials.create() und navigator.credentials.get() jeweils) 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 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 Authenticator verarbeitet wurden, finden Sie in den Authenticator-Daten, die in AuthenticatorAssertionResponse.authenticatorData verfügbar sind.

Syntax

js
getClientExtensionResults()

Parameter

Keine.

Rückgabewert

Ein Map, wobei jeder Eintrag einen Zeichenfolgenbezeichner der Erweiterung als Schlüssel und die Ausgabe der Verarbeitung der Erweiterung durch den Client als Wert enthält.

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. Die Verarbeitung von Erweiterungen ist für den Client immer 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