Authorization header
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Der HTTP-Authorization
-Anforderungs-Header kann verwendet werden, um Anmeldeinformationen bereitzustellen, die einen Benutzeragenten bei einem Server authentifizieren und so den Zugriff auf geschützte Ressourcen ermöglichen.
Der Authorization
-Header wird normalerweise, aber nicht immer, gesendet, nachdem der Benutzeragent zuerst versucht hat, eine geschützte Ressource ohne Anmeldeinformationen anzufordern. Der Server antwortet mit einer 401 Unauthorized
-Nachricht, die mindestens einen WWW-Authenticate
-Header enthält. Dieser Header gibt die Authentifizierungsschemata an, die zum Zugriff auf die Ressource verwendet werden können, sowie alle zusätzlichen Informationen, die der Client benötigt, um sie zu verwenden. Der Benutzeragent sollte das sicherste unterstützte Authentifizierungsschema aus den angebotenen auswählen, den Benutzer nach seinen Anmeldeinformationen fragen und dann die Ressource mit den codierten Anmeldeinformationen im Authorization
-Header erneut anfordern.
Dieser Header wird bei Cross-Origin-Redirects entfernt.
Hinweis: Dieser Header ist Teil des allgemeinen HTTP-Authentifizierungsrahmens. Er kann mit einer Reihe von Authentifizierungsschemata verwendet werden.
Header-Typ | Anforderungs-Header |
---|---|
Verbotener Anforderungs-Header | Nein |
Syntax
Authorization: <auth-scheme> <authorization-parameters>
// Basic authentication
Authorization: Basic <credentials>
// Digest authentication
Authorization: Digest username=<username>,
realm="<realm>",
uri="<url>",
algorithm=<algorithm>,
nonce="<nonce>",
nc=<nc>,
cnonce="<cnonce>",
qop=<qop>,
response="<response>",
opaque="<opaque>"
Direktiven
<auth-scheme>
-
Das Authentifizierungsschema, das definiert, wie die Anmeldeinformationen codiert werden. Einige der häufigeren Typen sind (nicht case-sensitive):
Basic
,Digest
,Negotiate
undAWS4-HMAC-SHA256
.Hinweis: Für weitere Informationen/Optionen siehe HTTP Authentication > Authentication schemes
Abgesehen von <auth-scheme>
sind die übrigen Direktiven spezifisch für jedes Authentifizierungsschema. Im Allgemeinen müssen Sie die relevanten Spezifikationen für diese überprüfen (Schlüssel für einen kleinen Teil der Schemata sind unten aufgeführt).
Basisauthentifizierung
<credentials>
-
Die Anmeldeinformationen, codiert gemäß dem angegebenen Schema.
Hinweis: Informationen zum Codierungsalgorithmus finden Sie in den Beispielen: unten, in
WWW-Authenticate
, in HTTP Authentication und in den relevanten Spezifikationen.
Digest-Authentifizierung
<response>
-
Eine Zeichenfolge von Hexadezimalziffern, die beweist, dass der Benutzer ein Passwort kennt. Der Algorithmus codiert den Benutzernamen und das Passwort, den Bereich, cnonce, qop, nc und so weiter. Es wird detailliert in der Spezifikation beschrieben.
username
-
Eine in Anführungszeichen gesetzte Zeichenkette, die den Benutzernamen für den angegebenen
realm
entweder im Klartext oder als Hash-Code in hexadezimaler Notation enthält. Wenn der Name Zeichen enthält, die im Feld nicht erlaubt sind, kann stattdessenusername*
verwendet werden (nicht "zusätzlich"). username*
-
Der Benutzername im erweiterten Format gemäß RFC5987. Dies sollte nur verwendet werden, wenn der Name nicht in
username
codiert werden kann und wennuserhash
auf"false"
gesetzt ist. uri
-
Die wirksame Anforderungs-URI. Siehe die Spezifikation für weitere Informationen.
realm
-
Bereich des angeforderten Benutzernamens/Passworts (sollte erneut mit dem Wert in der entsprechenden
WWW-Authenticate
-Antwort für die angeforderte Ressource übereinstimmen). opaque
-
Der Wert in der entsprechenden
WWW-Authenticate
-Antwort für die angeforderte Ressource. algorithm
-
Der Algorithmus, der zur Berechnung des Digests verwendet wird. Muss ein unterstützter Algorithmus aus der
WWW-Authenticate
-Antwort für die angeforderte Ressource sein. qop
-
Ein Token, das die Qualität des Schutzes für die Nachricht angibt. Muss mit dem einen Wert in der festgelegten Menge aus der
WWW-Authenticate
-Antwort für die angeforderte Ressource übereinstimmen."auth"
: Authentifizierung"auth-int"
: Authentifizierung mit Integritätsschutz
cnonce
-
Eine in Anführungszeichen gesetzte ASCII-Zeichenfolge, die vom Client bereitgestellt wird. Diese wird sowohl von Client als auch Server verwendet, um gegenseitige Authentifizierung bereitzustellen, einigermaßen Integritätsschutz der Nachricht und um "gewählte Klartextangriffe" zu vermeiden. Siehe die Spezifikation für weitere Informationen.
nc
-
Nonce-Zähler. Der hexadezimale Zähler von Anfragen, bei denen der Client den aktuellen
cnonce
-Wert gesendet hat (einschließlich der aktuellen Anfrage). Der Server kann doppeltenc
-Werte verwenden, um Wiederholungsanfragen zu erkennen. userhash
Optional-
"true"
, wenn der Benutzername gehasht wurde."false"
standardmäßig.
Beispiele
Basisauthentifizierung
Bei der Basic
-Authentifizierung werden die Anmeldeinformationen erstellt, indem zuerst der Benutzername und das Passwort mit einem Doppelpunkt kombiniert werden (z.B. aladdin:opensesame
) und dann die resultierende Zeichenfolge in `base64` codiert wird (z.B. YWxhZGRpbjpvcGVuc2VzYW1l
).
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
Warnung:> Base64-Codierung kann leicht zurückgesetzt werden, um den ursprünglichen Namen und das Passwort zu erhalten, daher bietetBasic
-Authentifizierung keine kryptografische Sicherheit.
HTTPS wird immer empfohlen, wenn Authentifizierung verwendet wird, noch mehr jedoch bei Verwendung von Basic
-Authentifizierung.
Siehe auch HTTP-Authentifizierung für Beispiele, wie Apache- oder Nginx-Server so konfiguriert werden, dass Ihre Website mit HTTP-Basisauthentifizierung passwortgeschützt wird.
Spezifikationen
Specification |
---|
HTTP Semantics # field.authorization |