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 Juli 2015.
* Some parts of this feature may have varying levels of support.
Der HTTP-Authorization-Anforderungsheader kann verwendet werden, um Anmeldeinformationen bereitzustellen, die einen Benutzeragenten bei einem Server authentifizieren, was den Zugriff auf geschützte Ressourcen ermöglicht.
Der Authorization-Header wird in der Regel, aber nicht immer, gesendet, nachdem der Benutzeragent zunächst versucht hat, eine geschützte Ressource ohne Anmeldedaten anzufordern. Der Server antwortet mit einer 401 Unauthorized-Nachricht, die mindestens einen WWW-Authenticate-Header enthält. Dieser Header gibt die Authentifizierungsschemata an, die zur Ressourcenzugriff verwendet werden können, und alle zusätzlichen Informationen, die der Client benötigt, um sie zu nutzen. Der Benutzeragent sollte das sicherste Authentifizierungsschema auswählen, das er unterstützt, die Anmeldedaten des Benutzers abfragen und dann die Ressource erneut mit den codierten Anmeldedaten im Authorization-Header anfordern.
Dieser Header wird bei Cross-Origin-Umleitungen entfernt.
Hinweis: Dieser Header ist Teil des allgemeinen HTTP-Authentifizierungs-Frameworks. Er kann mit einer Reihe von Authentifizierungsschemata verwendet werden.
| Header-Typ | Anforderungsheader |
|---|---|
| Verbotener Anforderungsheader | 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 Anmeldedaten codiert sind. Einige der gebräuchlicheren Typen sind (groß-/kleinschreibungssensitiv):
Basic,Digest,NegotiateundAWS4-HMAC-SHA256.Hinweis: Weitere Informationen/Optionen finden Sie unter HTTP-Authentifizierung > Authentifizierungsschemata
Andere als <auth-scheme>, sind die verbleibenden Direktiven spezifisch für jedes Authentifizierungsschema. In der Regel müssen Sie die entsprechenden Spezifikationen für diese überprüfen (Schlüssel für eine kleine Teilmenge von Schemen sind unten aufgeführt).
Basis-Authentifizierung
<credentials>-
Die Anmeldedaten, codiert gemäß dem angegebenen Schema.
Hinweis: Informationen zum Codierungsalgorithmus finden Sie in den Beispielen: unten, in
WWW-Authenticate, in HTTP-Authentifizierung und in den entsprechenden Spezifikationen.
Digest-Authentifizierung
<response>-
Eine Zeichenfolge der Hexadezimalziffern, die beweisen, dass der Benutzer ein Passwort kennt. Der Algorithmus codiert den Benutzernamen und das Passwort, Realm, cnonce, qop, nc usw. Es ist im Detail in der Spezifikation beschrieben.
username-
Ein in Anführungszeichen gesetzter String, der den Benutzernamen für das angegebene
realmim Klartext oder als Hash-Code in hexadezimaler Notation enthält. Wenn der Name Zeichen enthält, die im Feld nicht erlaubt sind, kannusername*stattdessen verwendet werden (nicht "zusätzlich"). username*-
Der Benutzername, formatiert unter Verwendung einer erweiterten Notation, die in RFC5987 definiert ist. Dies sollte nur verwendet werden, wenn der Name nicht in
usernamecodiert werden kann und wennuserhashauf"false"gesetzt ist. uri-
Die Effective Request URI. Siehe die Spezifikation für weitere Informationen.
realm-
Der Bereich des angeforderten Benutzernamens/Passworts (sollte wieder 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 quality of protection angibt, die auf die Nachricht angewendet wird. Muss mit dem einen Wert im Satz übereinstimmen, der in der
WWW-Authenticate-Antwort für die angeforderte Ressource angegeben ist."auth": Authentifizierung"auth-int": Authentifizierung mit Integritätsschutz
cnonce-
Ein in Anführungszeichen gesetzter, nur aus ASCII-Zeichen bestehender String, der vom Client bereitgestellt wird. Dies wird sowohl vom Client als auch vom Server verwendet, um gegenseitige Authentifizierung bereitzustellen, einen gewissen Schutz der Nachrichtenintegrität zu gewähren und "gewählte Klartextangriffe" zu verhindern. Siehe die Spezifikation für weitere Informationen.
nc-
Nonce-Zähler. Die hexadezimale Anzahl an Anforderungen, bei denen der Client den aktuellen
cnonce-Wert gesendet hat (einschließlich der aktuellen Anforderung). Der Server kann doppeltenc-Werte verwenden, um Wiederholungsanfragen zu erkennen. userhashOptional-
"true", wenn der Benutzername gehasht wurde. Standardmäßig"false".
Beispiele
>Basis-Authentifizierung
Bei der Basic-Authentifizierung werden die Anmeldedaten gebildet, indem zuerst der Benutzername und das Passwort mit einem Doppelpunkt kombiniert werden (z. B. aladdin:opensesame), und dann die resultierende Zeichenkette in `base64` codiert wird (z. B. YWxhZGRpbjpvcGVuc2VzYW1l).
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
Warnung:
Die Base64-Codierung kann leicht umgekehrt werden, um den ursprünglichen Namen und das Passwort zu erhalten, daher bietet die Basic-Authentifizierung keine kryptografische Sicherheit.
HTTPS wird immer empfohlen, wenn Authentifizierung verwendet wird, insbesondere jedoch bei der Basic-Authentifizierung.
Siehe auch HTTP-Authentifizierung für Beispiele, wie man Apache- oder Nginx-Server so konfiguriert, dass Ihre Website mit der HTTP-Basisauthentifizierung durch ein Passwort geschützt wird.
Spezifikationen
| Specification |
|---|
| HTTP Semantics> # field.authorization> |
Browser-Kompatibilität
Loading…