Credential Management API
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die Credential Management API ermöglicht es einer Website, Anmeldeinformationen zu erstellen, zu speichern und abzurufen. Eine Anmeldeinformation ist ein Element, das es einem System ermöglicht, eine Entscheidung zur Authentifizierung zu treffen: beispielsweise, ob ein Benutzer in ein Konto eingeloggt werden soll. Wir können sie als ein Beweisstück betrachten, das ein Benutzer einer Website vorlegt, um nachzuweisen, dass er tatsächlich die Person ist, für die er sich ausgibt.
Konzepte und Nutzung
Die zentrale Schnittstelle ist die CredentialsContainer
, die über die Eigenschaft navigator.credentials
zugänglich ist und drei Hauptfunktionen bietet:
create()
: erstellt eine neue Anmeldeinformation.store()
: speichert eine neue Anmeldeinformation lokal.get()
: ruft eine Anmeldeinformation ab, die dann zum Einloggen eines Benutzers verwendet werden kann.
Die API unterstützt vier verschiedene Arten von Anmeldeinformationen, die alle als Unterklassen von Credential
dargestellt werden:
Typ | Schnittstelle |
---|---|
Passwort | PasswordCredential |
Föderierte Identität | IdentityCredential , FederatedCredential (veraltet) |
Einmalkennwort (OTP) | OTPCredential |
Web-Authentifizierung | PublicKeyCredential |
Die Leitfaden-Seite Anmeldeinformationstypen gibt einen Überblick über die verschiedenen Anmeldeinformationstypen und deren Verwendung.
Schnittstellen
Credential
-
Stellt Informationen über eine Entität bereit, die als Voraussetzung für eine Vertrauensentscheidung erforderlich sind.
CredentialsContainer
-
Bietet Methoden zum Anfordern von Anmeldeinformationen und zum Benachrichtigen des Benutzeragents, wenn interessante Ereignisse wie erfolgreiches Ein- oder Ausloggen auftreten. Diese Schnittstelle ist über
navigator.credentials
zugänglich. FederatedCredential
-
Bietet Informationen über Anmeldeinformationen eines föderierten Identitätsanbieters, einer Entität, der eine Website vertraut, um einen Benutzer korrekt zu authentifizieren und die eine API zu diesem Zweck bereitstellt. OpenID Connect ist ein Beispiel für ein solches Framework.
PasswordCredential
-
Bietet Informationen über ein Benutzername/Passwort-Paar.
Erweiterungen zu anderen Schnittstellen
-
Gibt die
CredentialsContainer
-Schnittstelle zurück, die Methoden zum Anfordern von Anmeldeinformationen und Benachrichtigen des Benutzeragents bei interessanten Ereignissen wie erfolgreichem Ein- oder Ausloggen bietet.
Spezifikationen
Specification |
---|
Credential Management Level 1 |
Browser-Kompatibilität
api.Credential
Report problems with this compatibility data on GitHubLegend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
api.CredentialsContainer
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
CredentialsContainer | ||||||||||||
create | ||||||||||||
publicKey option | ||||||||||||
attestation option | ||||||||||||
attestation.direct | ||||||||||||
attestation.enterprise | ||||||||||||
attestation.indirect | ||||||||||||
attestation.none | ||||||||||||
create() extensions | ||||||||||||
appidExclude extension | ||||||||||||
credProps extension | ||||||||||||
credProtect extension | ||||||||||||
largeBlob extension | ||||||||||||
minPinLength extension | ||||||||||||
payment extension | ||||||||||||
publicKey_option.requireResidentKey | ||||||||||||
publicKey_option.residentKey | ||||||||||||
get | ||||||||||||
identity option | ||||||||||||
identity.context | ||||||||||||
Error API | ||||||||||||
identity.providers.loginHint | ||||||||||||
otp option | ||||||||||||
publicKey option | ||||||||||||
get() extensions | ||||||||||||
appid extension | ||||||||||||
largeBlob extension | ||||||||||||
preventSilentAccess | ||||||||||||
store |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- Partial support
- Partial support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Non-standard. Check cross-browser support before using.
- See implementation notes.
- Uses a non-standard name.
- Has more compatibility info.
api.FederatedCredential
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
FederatedCredential | ||||||||||||
FederatedCredential() constructor | ||||||||||||
iconURL | ||||||||||||
name | ||||||||||||
protocol | ||||||||||||
provider |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- See implementation notes.
api.PasswordCredential
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
PasswordCredential | ||||||||||||
PasswordCredential() constructor | ||||||||||||
iconURL | ||||||||||||
name | ||||||||||||
password |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- See implementation notes.