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 Identifikatoren der während der Anmeldeinformationserstellung 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() und navigator.credentials.get() bzw.) 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 unter 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 werden, finden Sie in den Authenticator-Daten, die in AuthenticatorAssertionResponse.authenticatorData verfügbar sind.

Syntax

js
getClientExtensionResults()

Parameter

Keine.

Rückgabewert

Eine Karte, wobei jeder Eintrag eine Erweiterungs-Identifikatoren-Zeichenkette als Schlüssel und die Ausgabe der Verarbeitung der Erweiterung durch den Client als Wert enthält.

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

BCD tables only load in the browser

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