PublicKeyCredentialRequestOptions
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
anzufordern, das von einem Authenticator bereitgestellt wird, der die Web Authentication API unterstützt.
Instanz-Eigenschaften
allowCredentials
Optional-
Ein Array von Objekten, das die Liste der akzeptablen Anmeldedaten einschränkt. Ein leeres Array zeigt an, dass jede Anmeldeinformation akzeptabel ist.
Jedes Objekt im Array enthält die folgenden Eigenschaften:
id
-
Ein
ArrayBuffer
,TypedArray
, oderDataView
, das die ID des abzurufenden Public Key Credentials darstellt. Dieser Wert wird durch dierawId
-Eigenschaft desPublicKeyCredential
-Objekts widergespiegelt, das von einem erfolgreichenget()
-Aufruf zurückgegeben wird. transports
-
Ein Array von Strings, das Hinweise auf die Methoden gibt, die der Client verwenden könnte, um mit dem relevanten Authenticator des abzurufenden Public Key Credentials zu kommunizieren. Mögliche Transports sind:
"ble"
,"hybrid"
,"internal"
,"nfc"
, und"usb"
.Hinweis: Dieser Wert wird durch den Rückgabewert der
PublicKeyCredential.response.getTransports()
-Methode desPublicKeyCredential
-Objekts widergespiegelt, das durch den ursprünglichencreate()
-Aufruf erstellt wurde. Zu diesem Zeitpunkt sollte es von der App für den späteren Gebrauch gespeichert werden. type
-
Ein String, der den Typ des abzurufenden Public Key Credentials definiert. Dieser Wert kann derzeit einen einzelnen Wert,
"public-key"
, annehmen, aber in Zukunft könnten mehr Werte hinzugefügt werden. Dieser Wert wird durch dietype
-Eigenschaft desPublicKeyCredential
-Objekts widergespiegelt, das von einem erfolgreichenget()
-Aufruf zurückgegeben wird.
Dieser Wert ist standardmäßig ein leeres Array.
challenge
-
Ein
ArrayBuffer
,TypedArray
, oderDataView
, das vom Server der Relying Party 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 durch einen erfolgreichenget()
-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 Verarbeitungen durch den Client oder Authenticator während des Authentifizierungsprozesses anzugeben. Beispiele umfassen den Umgang mit veralteten FIDO API-Anmeldeinformationen und die Bewertung von Ausgaben einer mit einem Credential verbundenen Pseudozufallsfunktion (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 bestimmte Erweiterung nicht erkennt, wird diese einfach ignoriert. Informationen zur Verwendung von Erweiterungen und welche von welchen Browsern unterstützt werden, finden Sie unter Web Authentication extensions.
hints
Optional-
Ein Array von Strings, das Hinweise darauf gibt, welche Authentifizierungs-UI der User-Agent dem Benutzer zur Verfügung stellen soll.
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, wie etwa einem Telefon.
"hybrid"
-
Die Authentifizierung beruht auf einer Kombination von Autorisierungs-/Authentifizierungsmethoden, die potenziell sowohl Benutzern als auch serverbasierten Mechanismen zugrunde liegen.
rpId
Optional-
Ein String, der die Relying Party-ID angibt (zum Beispiel
"login.example.org"
). Aus Sicherheitsgründen:- Die aufrufende Web-App überprüft, ob
rpId
mit dem Ursprung der Relying Party übereinstimmt. - Der Authenticator überprüft, ob
rpId
mit derrpId
des für die Authentifizierungszeremonie verwendeten Credentials übereinstimmt.
Dieser Wert ist standardmäßig die Domain des aktuellen Ursprungs.
- Die aufrufende Web-App überprüft, ob
timeout
Optional-
Ein numerischer Hinweis, in Millisekunden, der die Zeit angibt, die die Relying Party bereit ist, auf den Abschluss des Abrufvorgangs zu warten. Dieser Hinweis kann vom Browser überschrieben werden.
userVerification
Optional-
Ein String, der die Anforderungen der Relying Party für die Benutzerüberprüfung des Authentifizierungsprozesses angibt. Diese Überprüfung wird vom Authenticator eingeleitet, der den Benutzer auffordert, einen verfügbaren Faktor bereitzustellen (zum Beispiel eine PIN oder eine Art biometrischer Eingabe).
Der Wert kann einer der folgenden sein:
"required"
-
Die Relying Party erfordert die Benutzerüberprüfung, und der Vorgang schlägt fehl, wenn sie nicht erfolgt.
"preferred"
-
Die Relying Party bevorzugt die Benutzerüberprüfung, wenn möglich, aber der Vorgang schlägt nicht fehl, wenn sie nicht erfolgt.
"discouraged"
-
Die Relying Party möchte keine Benutzerüberprüfung, im Interesse einer möglichst reibungslosen Benutzerinteraktion.
Dieser Wert ist standardmäßig
"preferred"
.
Spezifikationen
Specification |
---|
Web Authentication: An API for accessing Public Key Credentials - Level 3 # dictdef-publickeycredentialrequestoptions |