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 bedeutet, dass jede Anmeldeinformation akzeptabel ist.
Jedes Objekt im Array enthält die folgenden Eigenschaften:
id
-
Ein
ArrayBuffer
,TypedArray
oderDataView
, das die ID der abzurufenden öffentlichen Schlüssel-Anmeldeinformation darstellt. Dieser Wert wird von derrawId
-Eigenschaft desPublicKeyCredential
-Objekts, das von einem erfolgreichenget()
-Aufruf zurückgegeben wird, widergespiegelt. transports
-
Ein Array von Zeichenfolgen, das Hinweise auf die Methoden gibt, die der Client verwenden könnte, um mit dem relevanten Authenticator der abzurufenden öffentlichen Schlüssel-Anmeldeinformation zu kommunizieren. Mögliche Transporte sind:
"ble"
,"hybrid"
,"internal"
,"nfc"
und"usb"
.Hinweis: Dieser Wert wird von dem Rückgabewert der Methode
PublicKeyCredential.response.getTransports()
desPublicKeyCredential
-Objekts widergespiegelt, das durch dencreate()
-Aufruf ursprünglich erstellt wurde. An diesem Punkt sollte er von der App für die spätere Verwendung gespeichert werden. type
-
Eine Zeichenfolge, die den Typ der abzurufenden öffentlichen Schlüssel-Anmeldeinformation definiert. Derzeit kann sie einen einzigen Wert annehmen,
"public-key"
, aber möglicherweise werden in Zukunft weitere Werte hinzugefügt. Dieser Wert wird von dertype
-Eigenschaft desPublicKeyCredential
-Objekts, das von einem erfolgreichenget()
-Aufruf zurückgegeben wird, widergespiegelt.
Dieser Wert ist standardmäßig ein leeres Array.
challenge
-
Ein
ArrayBuffer
,TypedArray
oderDataView
, das vom Server der vertrauenden Partei stammt und als cryptographic challenge verwendet wird. Dieser Wert wird vom Authenticator signiert und die Signatur wird als Teil derAuthenticatorAssertionResponse.signature
(verfügbar in derresponse
-Eigenschaft desPublicKeyCredential
-Objekts, das von einem erfolgreichenget()
-Aufruf zurückgegeben wird) gesendet. extensions
Optional-
Ein Objekt, das Eigenschaften enthält, die die Eingabewerte für alle angeforderten Erweiterungen darstellen. Diese Erweiterungen werden verwendet, um spezifische zusätzliche Verarbeitungen durch den Client oder den Authenticator während des Authentifizierungsprozesses durchzuführen. Beispiele umfassen den Umgang mit Legacy FIDO API-Anmeldeinformationen und die Auswertung von Ausgaben einer pseudozufälligen Funktion (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 stets optional: Wenn ein Browser eine gegebene Erweiterung nicht erkennt, wird er sie einfach ignorieren. Weitere Informationen über die Verwendung von Erweiterungen und welche von welchen Browsern unterstützt werden, finden Sie in den Web Authentication-Erweiterungen.
hints
Optional-
Ein Array von Zeichenfolgen, das Hinweise darauf gibt, welche Authentifizierungs-Benutzeroberfläche der Benutzeragent dem Benutzer bereitstellen soll.
Die Werte können Folgendes umfassen:
"security-key"
-
Die Authentifizierung erfordert ein separates, dediziertes physisches Gerät, um den Schlüssel bereitzustellen.
"client-device"
-
Der Benutzer authentifiziert sich über das eigene Gerät, z. B. ein Telefon.
"hybrid"
-
Die Authentifizierung beruht auf einer Kombination von Autorisierungs-/Authentifizierungsmethoden, die möglicherweise sowohl nutzer- als auch serverbasierte Mechanismen umfassen.
rpId
Optional-
Eine Zeichenfolge, die den Bezeichner der vertrauenden Partei angibt (zum Beispiel
"login.example.org"
). Aus Sicherheitsgründen:- Die aufrufende Web-App überprüft, dass
rpId
mit dem Ursprung der vertrauenden Partei übereinstimmt. - Der Authenticator überprüft, dass
rpId
mit demrpId
der Anmeldeinformation übereinstimmt, die für die Authentifizierungszeremonie verwendet wurde.
Dieser Wert ist standardmäßig die Domäne des aktuellen Ursprungs.
- Die aufrufende Web-App überprüft, dass
timeout
Optional-
Ein numerischer Hinweis in Millisekunden, der angibt, wie lange die vertrauende Partei bereit ist, auf den Abschluss der Abrufoperation zu warten. Dieser Hinweis kann vom Browser überschrieben werden.
userVerification
Optional-
Eine Zeichenfolge, die die Anforderungen der vertrauenden 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 biometrische Eingabe).
Der Wert kann einer der folgenden sein:
"required"
-
Die vertrauende Partei erfordert eine Benutzerüberprüfung, und der Vorgang schlägt fehl, wenn sie nicht erfolgt.
"preferred"
-
Die vertrauende Partei bevorzugt eine Benutzerüberprüfung, wenn möglich, aber der Vorgang schlägt nicht fehl, wenn sie nicht erfolgt.
"discouraged"
-
Die vertrauende Partei wünscht keine Benutzerüberprüfung, um die Benutzerinteraktion so reibungslos wie möglich zu gestalten.
Dieser Wert ist standardmäßig
"preferred"
.
Spezifikationen
Specification |
---|
Web Authentication: An API for accessing Public Key Credentials - Level 3 # dictdef-publickeycredentialrequestoptions |