Zum Hauptinhalt springen

2. Basis-Authentifizierungsschema (Basic Authentication Scheme)

Das „basic"-Authentifizierungsschema basiert auf dem Modell, dass sich der Client für jeden Bereich (Realm) mit einer Benutzer-ID und einem Passwort authentifizieren muss. Der Realm-Wert sollte als undurchsichtige Zeichenkette betrachtet werden, die nur auf Gleichheit mit anderen Realms auf diesem Server verglichen werden kann. Der Server verarbeitet die Anfrage nur, wenn er die Benutzer-ID und das Passwort für den Schutzbereich des Request-URI validieren kann. Es gibt keine optionalen Authentifizierungsparameter.

Für die Basis-Authentifizierung (Basic) wird das obige Framework wie folgt verwendet:

challenge   = "Basic" realm
credentials = "Basic" basic-credentials

Nach Erhalt einer nicht autorisierten Anfrage für einen URI innerhalb des Schutzbereichs kann der Origin-Server mit einer Challenge wie der folgenden antworten:

WWW-Authenticate: Basic realm="WallyWorld"

wobei „WallyWorld" die vom Server zugewiesene Zeichenkette ist, um den Schutzbereich des Request-URI zu identifizieren. Ein Proxy kann mit derselben Challenge unter Verwendung des Proxy-Authenticate-Header-Feldes antworten.

Um eine Autorisierung zu erhalten, sendet der Client die Benutzer-ID und das Passwort, getrennt durch ein einzelnes Doppelpunkt-Zeichen (":"), in einer base64 [7] kodierten Zeichenkette in den Anmeldedaten.

basic-credentials = base64-user-pass
base64-user-pass = <base64 [4] encoding of user-pass,
except not limited to 76 char/line>
user-pass = userid ":" password
userid = *<TEXT excluding ":">
password = *TEXT

Benutzer-IDs können zwischen Groß- und Kleinschreibung unterscheiden.

Wenn der User-Agent die Benutzer-ID „Aladdin" und das Passwort „open sesame" senden möchte, würde er das folgende Header-Feld verwenden:

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Der Client sollte davon ausgehen, dass alle Pfade auf oder tiefer als die Tiefe des letzten symbolischen Elements im Pfadfeld des Request-URI ebenfalls innerhalb des durch den Basic-Realm-Wert der aktuellen Challenge spezifizierten Schutzbereichs liegen. Der Client kann präventiv den entsprechenden Authorization-Header mit Anfragen für Ressourcen in diesem Bereich senden, ohne eine weitere Challenge vom Server zu erhalten. Ähnlich kann ein Client, wenn er eine Anfrage an einen Proxy sendet, eine Benutzer-ID und ein Passwort im Proxy-Authorization-Header-Feld wiederverwenden, ohne eine weitere Challenge vom Proxy-Server zu erhalten. Siehe Abschnitt 4 für Sicherheitsüberlegungen im Zusammenhang mit der Basis-Authentifizierung.