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 inAuthenticatorAssertionResponse.authenticatorData
verfügbar sind.
Syntax
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
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
- Die Liste der aktuell definierten Erweiterungen
AuthenticatorAssertionResponse.authenticatorData
, die das Ergebnis der Erweiterungsverarbeitung des Authentifikators enthält