Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

http
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, Negotiate und AWS4-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 realm im Klartext oder als Hash-Code in hexadezimaler Notation enthält. Wenn der Name Zeichen enthält, die im Feld nicht erlaubt sind, kann username* 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 username codiert werden kann und wenn userhash auf "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 doppelte nc-Werte verwenden, um Wiederholungsanfragen zu erkennen.

userhash Optional

"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).

http
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

Siehe auch