PublicKeyCredential: response-Eigenschaft
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 schreibgeschützte Eigenschaft response
des PublicKeyCredential
-Interfaces ist ein AuthenticatorResponse
-Objekt, das vom Authenticator an den User-Agent gesendet wird, um Anmeldedaten zu erstellen oder abzurufen. Die in dieser Antwort enthaltenen Informationen werden vom Server der vertrauenden Partei verwendet, um die Legitimität der Anforderung zu überprüfen.
Eine AuthenticatorResponse
ist entweder:
- eine
AuthenticatorAttestationResponse
(wenn diePublicKeyCredential
überCredentialsContainer.create()
erstellt wird) - eine
AuthenticatorAssertionResponse
(wenn diePublicKeyCredential
überCredentialsContainer.get()
erhalten wird).
Um die Erstellung von Anmeldedaten zu validieren, benötigt der Server der vertrauenden Partei sowohl:
- diese Antwort
- die Erweiterungen des Clients (bereitgestellt von
PublicKeyCredential.getClientExtensionResults()
), um die Anforderung zu validieren.
Hinweis:
Beim Validieren des Abrufs bestehender Anmeldedaten sind das gesamte PublicKeyCredential
-Objekt und die Client-Erweiterungen notwendig für den Server der vertrauenden Partei.
Hinweis:
Diese Eigenschaft kann nur in Top-Level-Kontexten verwendet werden und wird z. B. in einem <iframe>
nicht verfügbar sein.
Wert
Ein AuthenticatorResponse
-Objekt, das die Daten enthält, die das Skript einer vertrauenden Partei erhält und die an den Server der vertrauenden Partei gesendet werden sollten, um die Anforderung zur Erstellung oder zum Abruf zu validieren. Dieses Objekt enthält Daten vom Client (AuthenticatorResponse/clientDataJSON
) und vom Authenticator.
Beispiele
const options = {
challenge: new Uint8Array(16) /* from the server */,
rp: {
name: "Example CORP",
id: "login.example.com",
},
user: {
id: new Uint8Array(16) /* from the server */,
name: "canand@example.com",
displayName: "Carina Anand",
},
pubKeyCredParams: [
{
type: "public-key",
alg: -7,
},
],
};
navigator.credentials
.create({ publicKey: options })
.then((pubKeyCredential) => {
const response = pubKeyCredential.response;
const clientExtResults = pubKeyCredential.getClientExtensionResults();
// Send response and client extensions to the server so that it can validate
// and create credentials
})
.catch((err) => {
// Deal with any error
});
Spezifikationen
Specification |
---|
Web Authentication: An API for accessing Public Key Credentials - Level 3 # dom-publickeycredential-response |
Browser-Kompatibilität
BCD tables only load in the browser