PublicKeyCredentialRequestOptions

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

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

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

Instanz-Eigenschaften

allowCredentials Optional

Ein Array von Objekten, das verwendet wird, um die Liste der akzeptablen Anmeldeinformationen einzuschränken. Ein leeres Array zeigt an, dass jede Anmeldeinformation akzeptabel ist.

Jedes Objekt in dem Array enthält die folgenden Eigenschaften:

id

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

transports

Ein Array von Zeichenfolgen, das Hinweise auf die Methoden gibt, die der Client verwenden könnte, um mit dem relevanten Authenticator des abzurufenden öffentlichen Schlüssels zu kommunizieren. Mögliche Transportarten 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 ursprünglich erstellt wurde. Zu diesem Zeitpunkt sollte er durch die App für eine spätere Verwendung gespeichert werden.

type

Eine Zeichenfolge, die den Typ des abzurufenden öffentlichen Schlüssels definiert. Dieser kann derzeit einen einzigen Wert annehmen, "public-key", jedoch können in Zukunft 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 relyierenden Partei stammt und als kryptografische Herausforderung dient. Dieser Wert wird vom Authenticator signiert, und die Signatur wird als Teil der AuthenticatorAssertionResponse.signature zurückgesendet (verfügbar in der response-Eigenschaft des PublicKeyCredential-Objekts, das durch einen erfolgreichen get()-Aufruf zurückgegeben wird).

extensions Optional

Ein Objekt, das Eigenschaften enthält, die die Eingabewerte für angeforderte Erweiterungen darstellen. Diese Erweiterungen dienen zur Durchführung zusätzlicher Verarbeitungen durch den Client oder Authenticator während des Authentifizierungsprozesses. Beispiele umfassen den Umgang mit älteren FIDO API-Anmeldeinformationen und die Auswertung von Ausgaben aus einer Pseudozufallsfunktion (PRF), die mit einer Anmeldeinformation verbunden ist.

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 zur Verwendung von Erweiterungen und dazu, welche von welchen Browsern unterstützt werden, finden Sie unter Web Authentication extensions.

hints Optional

Ein Array von Zeichenfolgen, das Hinweise darauf gibt, welche Authentifizierungs-UI der Benutzeragent dem Nutzer bereitstellen sollte.

Die Werte können folgende sein:

"security-key"

Die Authentifizierung erfordert ein separates dediziertes physisches Gerät, um den Schlüssel bereitzustellen.

"client-device"

Der Benutzer authentifiziert sich mit seinem eigenen Gerät, z. B. einem Telefon.

"hybrid"

Die Authentifizierung beruht auf einer Kombination von Autorisierungs-/Authentifizierungsmethoden, die sich möglicherweise sowohl auf nutzer- als auch serverbasierte Mechanismen stützen.

rpId Optional

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

  • Die aufrufende Web-App überprüft, ob rpId mit dem Ursprung der relyierenden Partei übereinstimmt.
  • Der Authenticator überprüft, ob rpId mit dem rpId der Anmeldeinformation, die für die Authentifizierungszeremonie verwendet wird, übereinstimmt.

Der Standardwert ist die Domain des aktuellen Ursprungs.

timeout Optional

Ein numerischer Hinweis, in Millisekunden, der angibt, wie lange die relyierende Partei bereit ist, auf das Abschließen des Abrufvorgangs zu warten. Dieser Hinweis kann vom Browser überschrieben werden.

userVerification Optional

Eine Zeichenkette, die die Anforderungen der relyierenden Partei für die Benutzerüberprüfung des Authentifizierungsprozesses angibt. Diese Überprüfung wird vom Authenticator initiiert, der den Benutzer auffordert, einen verfügbaren Faktor bereitzustellen (zum Beispiel eine PIN oder eine Art biometrisches Eingabemittel).

Der Wert kann einer der folgenden sein:

"required"

Die relyierende Partei erfordert die Benutzerüberprüfung, und der Vorgang schlägt fehl, wenn sie nicht erfolgt.

"preferred"

Die relyierende Partei bevorzugt die Benutzerüberprüfung, wenn möglich, aber der Vorgang schlägt nicht fehl, wenn sie nicht erfolgt.

"discouraged"

Die relyierende Partei möchte keine Benutzerüberprüfung zur Verfügung stellen, um die Benutzerinteraktion so reibungslos wie möglich zu gestalten.

Der Standardwert ist "preferred".

Spezifikationen

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