PublicKeyCredential: toJSON() Methode

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die toJSON() Methode des PublicKeyCredential-Interfaces gibt eine JSON-Typ-Darstellung eines PublicKeyCredential zurück.

Die Eigenschaften des zurückgegebenen Objekts hängen davon ab, ob das Anmeldeinformation-Objekt durch navigator.credentials.create() beim Erstellen eines Schlüsselpaares und Registrieren eines Benutzers, oder durch navigator.credentials.get() beim Authentifizieren eines Benutzers zurückgegeben wird.

Diese Methode wird automatisch aufgerufen, wenn der Code der Web-App JSON.stringify() aufruft, um ein PublicKeyCredential zu serialisieren, sodass es zum vertrauenden Server gesendet werden kann, wenn ein Benutzer registriert oder authentifiziert wird. Es ist nicht vorgesehen, dass diese Methode direkt im Code der Web-App aufgerufen wird.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Eine JSON-Typ-Darstellung eines PublicKeyCredential-Objekts.

Die enthaltenen Eigenschaften hängen davon ab, ob das Anmeldeinformation-Objekt durch navigator.credentials.create() bei der Registrierung oder durch navigator.credentials.get() bei der Authentifizierung eines Benutzers zurückgegeben wurde. Die Werte und Typen der enthaltenen Eigenschaften sind dieselben wie für PublicKeyCredential, mit der Ausnahme, dass base64url-codierte Strings anstelle von Puffer-Eigenschaften verwendet werden.

Die Objekteigenschaften sind:

id

Der Wert, der von PublicKeyCredential.id zurückgegeben wird.

rawId

Eine base64url-codierte Version von PublicKeyCredential.rawId.

authenticatorAttachment Optional

Der Wert, der von PublicKeyCredential.authenticatorAttachment zurückgegeben wird.

type

Der String "public-key".

clientExtensionResults

Ein Array, das base64url-codierte Versionen der Werte enthält, die von PublicKeyCredential.getClientExtensionResults() zurückgegeben werden.

response

Das Antwort-Objekt hängt davon ab, ob die Anmeldeinformationen nach einer Registrierung oder einer Authentifizierung zurückgegeben werden.

Ausnahmen

SecurityError DOMException

Die RP-Domain ist ungültig.

Beispiele

Bei der Registrierung eines neuen Benutzers liefert ein vertrauender Server der Web-App Informationen über die erwarteten Anmeldeinformationen. Die Web-App ruft navigator.credentials.create() mit den empfangenen Informationen (createCredentialOptions unten) auf, was ein Versprechen zurückgibt, das mit den neuen Anmeldeinformationen (einem PublicKeyCredential) erfüllt wird.

js
const newCredentialInfo = await navigator.credentials.create({
  createCredentialOptions,
});

Die Web-App serialisiert dann die zurückgegebenen Anmeldeinformationen mit JSON.stringify() (was wiederum toJSON() aufruft) und sendet sie zurück an den Server.

js
const registration_url = "https://example.com/registration";
const apiRegOptsResp = await fetch(registration_url, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify(newCredentialInfo), //Calls newCredentialInfo.toJSON
});

Spezifikationen

Specification
Web Authentication: An API for accessing Public Key Credentials - Level 3
# dom-publickeycredential-tojson

Browser-Kompatibilität

Siehe auch