Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

PublicKeyCredentialRequestOptions

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2019⁩.

* Some parts of this feature may have varying levels of support.

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

Das PublicKeyCredentialRequestOptions-Wörterbuch stellt das Objekt dar, das an CredentialsContainer.get() als Wert der publicKey-Option übergeben wird.

Es wird verwendet, um ein PublicKeyCredential von einem Authenticator anzufordern, der die Web Authentication API unterstützt.

Instanzeigenschaften

allowCredentials Optional

Ein Array von Objekten, das zur Einschränkung der Liste akzeptabler Anmeldeinformationen verwendet wird. Ein leeres Array zeigt an, dass jede Anmeldeinformation akzeptabel ist.

Jedes Objekt im Array enthält die folgenden Eigenschaften:

id

Ein ArrayBuffer, TypedArray oder DataView, das die ID des abzurufenden öffentlichen Schlüsselanmeldedatensatzes darstellt. Dieser Wert wird von der rawId-Eigenschaft des PublicKeyCredential-Objekts widergespiegelt, das durch einen erfolgreichen get()-Aufruf zurückgegeben wird.

transports Optional

Ein Array von Zeichenfolgen, das Hinweise zu den Methoden gibt, die der Client zur Kommunikation mit dem jeweiligen Authenticator des öffentlichen Schlüsselanmeldedatensatzes verwenden könnte. Mögliche Transports sind: "ble", "hybrid", "internal", "nfc" und "usb".

Hinweis: Dieser Wert wird durch den Rückgabewert der Methode PublicKeyCredential.response.getTransports() des PublicKeyCredential-Objekts widergespiegelt, das durch den create()-Aufruf, der ursprünglich die Anmeldeinformation erstellt hat, zurückgegeben wird. Zu diesem Zeitpunkt sollte es von der App für die spätere Verwendung gespeichert werden.

type

Eine Zeichenfolge, die den Typ des abzurufenden öffentlichen Schlüsselanmeldedatensatzes definiert. Dies kann derzeit einen einzelnen Wert, "public-key", annehmen, aber in der Zukunft könnten weitere Werte hinzugefügt werden. Dieser Wert wird durch die type-Eigenschaft des PublicKeyCredential-Objekts widergespiegelt, das durch einen erfolgreichen get()-Aufruf zurückgegeben wird.

Dieser Wert ist standardmäßig ein leeres Array.

challenge

Ein ArrayBuffer, TypedArray oder DataView, das vom Server der vertrauenden Partei stammt und als kryptografische Herausforderung verwendet wird. Dieser Wert wird vom Authenticator signiert und die Signatur wird als Teil der AuthenticatorAssertionResponse.signature (verfügbar in der response-Eigenschaft des PublicKeyCredential-Objekts, das durch einen erfolgreichen get()-Aufruf zurückgegeben wird) zurückgesendet.

extensions Optional

Ein Objekt, das Eigenschaften enthält, die die Eingabewerte für angeforderte Erweiterungen darstellen. Diese Erweiterungen werden verwendet, um zusätzliche Verarbeitung durch den Client oder den Authenticator während des Authentifizierungsprozesses zu spezifizieren. Beispiele umfassen den Umgang mit veralteten FIDO-API-Anmeldeinformationen und die Auswertung von Ausgaben aus einer mit einer Anmeldeinformation verbundenen pseudorandom-Funktion (PRF).

Erweiterungen sind optional und unterschiedliche Browser können unterschiedliche Erweiterungen erkennen. Die Verarbeitung von Erweiterungen ist für den Client immer optional: Wenn ein Browser eine gegebene Erweiterung nicht erkennt, ignoriert er sie einfach. Für Informationen zur Verwendung von Erweiterungen und welche von welchen Browsern unterstützt werden, siehe Web Authentication extensions.

hints Optional Experimentell

Ein Array von Zeichenfolgen, das Hinweise darauf gibt, welche Benutzeroberfläche der Browser bereitstellen sollte, damit der Benutzer mit einer vorhandenen öffentlichen Schlüsselanmeldeinformation authentifiziert wird.

Die Zeichenfolgen können folgende sein:

"security-key"

Die Benutzeroberfläche sollte empfehlen, die Anmeldeinformation von einem separaten physischen Sicherheitsschlüssel (wie einem YubiKey) anzufordern.

"client-device"

Die Benutzeroberfläche sollte empfehlen, die Anmeldeinformation von einem auf demselben Gerät verfügbaren Authenticator anzufordern, das sie zur Zugriff auf den RP-Client verwenden.

"hybrid"

Die Benutzeroberfläche sollte empfehlen, die Anmeldeinformation von einem allgemeinen Authenticator, wie einer auf einem Smartphone basierenden Authenticator-App, anzufordern. Dies bevorzugt die Verwendung eines geräteübergreifenden Ansatzes zur Handhabung der Authentifizierung, bei dem beispielsweise auf eine Kombination aus Laptop und Smartphone zurückgegriffen wird.

Wenn mehrere Zeichenfolgen im Array enthalten sind, gibt deren Reihenfolge die Reihenfolge der Präferenz von hoch zu niedrig an. Unterstützende Browser, die die Hinweise respektieren, sollten den ersten benutzen, den sie verstehen.

Angegebene hints können im Widerspruch zu in der transports-Option bereitgestellten Hinweisen stehen. Wenn die bereitgestellten hints dieser Option widersprechen, haben die hints Vorrang. Hints können auch vom Browser unter bestimmten Umständen ignoriert werden, beispielsweise wenn ein angedeuteter Authenticator-Typ auf dem Gerät des Benutzers nicht verwendbar ist.

Für spezifische Code- und UI-Beispiele siehe Introducing hints, Related Origin Requests and JSON serialization for WebAuthn in Chrome.

rpId Optional

Eine Zeichenfolge, die den Bezeichner der vertrauenden Partei angibt (zum Beispiel "login.example.org"). Aus Sicherheitsgründen:

  • Der Browser prüft, dass rpId mit dem Ursprung der vertrauenden Partei übereinstimmt oder ein Domain-Suffix des Ursprungs der vertrauenden Partei ist (zum Beispiel example.org).
  • Der Authenticator überprüft, dass rpId mit dem rpId der für die Authentifizierungszeremonie verwendeten Anmeldeinformation übereinstimmt.

Dieser Wert ist standardmäßig die Domain des aktuellen Ursprungs.

timeout Optional

Ein numerischer Hinweis, in Millisekunden, der die Zeit angibt, die die vertrauende Partei bereit ist zu warten, bis der Abrufvorgang abgeschlossen ist. Dieser Hinweis kann vom Browser überschrieben werden.

userVerification Optional

Eine Zeichenfolge, die die Anforderungen der vertrauenden Partei an die Benutzerauthentifizierung während des Authentifizierungsprozesses angibt. Diese Verifizierung wird vom Authenticator initiiert, der den Benutzer auffordert, einen verfügbaren Faktor bereitzustellen (zum Beispiel eine PIN oder eine Art biometrischen Input).

Der Wert kann einer der folgenden sein:

"required"

Die vertrauende Partei erfordert eine Benutzerauthentifizierung, und der Vorgang schlägt fehl, sollten sie nicht stattfinden.

"preferred"

Die vertrauende Partei bevorzugt eine Benutzerauthentifizierung, sofern möglich, aber der Vorgang schlägt nicht fehl, sollten sie nicht stattfinden.

"discouraged"

Die vertrauende Partei möchte keine Benutzerauthentifizierung, um die Benutzerinteraktion so flüssig wie möglich zu halten.

Dieser Wert ist standardmäßig "preferred".

Spezifikationen

Specification
Web Authentication: An API for accessing Public Key Credentials - Level 3
# dictdef-publickeycredentialrequestoptions

Browser-Kompatibilität