Proxy-Authenticate header
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Der HTTP-Proxy-Authenticate-Response-Header definiert die Authentifizierungsmethode (oder Challenge), die verwendet werden sollte, um Zugriff auf eine Ressource hinter einem Proxyserver zu erhalten.
Er wird in einer 407 Proxy Authentication Required-Antwort gesendet, damit sich ein Client gegenüber einem Proxy identifizieren kann, der eine Authentifizierung erfordert.
| Header-Typ | Response-Header |
|---|
Syntax
Proxy-Authenticate: <challenge>, …
Der Wert ist eine durch Kommas getrennte Liste von Challenges, wobei eine <challenge> aus einem <auth-scheme> besteht, gefolgt von einem optionalen <token68> oder einer durch Kommas getrennten Liste von <auth-params>:
challenge = <auth-scheme> <auth-param>, …, <auth-paramN> challenge = <auth-scheme> <token68>
Zum Beispiel:
Proxy-Authenticate: <auth-scheme>
Proxy-Authenticate: <auth-scheme> token68
Proxy-Authenticate: <auth-scheme> auth-param1=param-token1
Proxy-Authenticate: <auth-scheme> auth-param1=param-token1, …, auth-paramN=param-tokenN
Das Vorhandensein eines token68 oder von Authentifizierungsparametern hängt vom ausgewählten <auth-scheme> ab.
Beispielsweise erfordert die Basic-Authentifizierung ein <realm> und erlaubt die optionale Verwendung des Schlüssels charset, unterstützt jedoch kein token68:
Proxy-Authenticate: Basic realm="Dev", charset="UTF-8"
Direktiven
<auth-scheme>-
Ein Token ohne Beachtung der Groß-/Kleinschreibung, das das verwendete Authentifizierungsschema angibt. Einige der gebräuchlicheren Typen sind
Basic,Digest,NegotiateundAWS4-HMAC-SHA256. Die IANA führt eine Liste der Authentifizierungsschemas, es gibt jedoch auch andere Schemas, die von Host-Diensten angeboten werden. <auth-param>Optional-
Ein Authentifizierungsparameter, dessen Format vom
<auth-scheme>abhängt.<realm>wird unten beschrieben, da es ein bei vielen Authentifizierungsschemas gebräuchlicher Authentifizierungsparameter ist.<realm>Optional-
Die Zeichenfolge
realm, gefolgt von=und einer Zeichenfolge in Anführungszeichen, die einen geschützten Bereich beschreibt, zum Beispielrealm="staging environment". Ein Realm ermöglicht es einem Server, die Bereiche, die er schützt, zu unterteilen (wenn dies von einem Schema unterstützt wird, das eine solche Unterteilung erlaubt). Einige Clients zeigen diesen Wert Benutzerinnen und Benutzern an, um sie darüber zu informieren, welche spezifischen Zugangsdaten erforderlich sind — die meisten Browser tun dies jedoch nicht mehr, um Phishing entgegenzuwirken. Der einzige zuverlässig unterstützte Zeichensatz für diesen Wert istus-ascii. Wenn kein Realm angegeben ist, zeigen Clients stattdessen häufig einen formatierten Hostnamen an.
<token68>Optional-
Ein Token, das für einige Schemas nützlich sein kann. Das Token erlaubt die 66 nicht reservierten URI-Zeichen sowie einige weitere. Es kann eine base64-, base64url-, base32- oder base16-(hex)-Kodierung mit oder ohne Padding enthalten, jedoch ohne Leerzeichen. Die
token68-Alternative zu auth-param-Listen wird aus Gründen der Konsistenz mit älteren Authentifizierungsschemas unterstützt.
Im Allgemeinen müssen Sie die relevanten Spezifikationen auf die für jedes <auth-scheme> erforderlichen Authentifizierungsparameter prüfen.
Hinweis:
Weitere Details zu Authentifizierungsparametern finden Sie unter WWW-Authenticate.
Beispiele
>Proxy-Authenticate Basic-Authentifizierung
Die folgende Antwort gibt an, dass ein Basic-Authentifizierungsschema mit einem Realm erforderlich ist:
Proxy-Authenticate: Basic realm="Staging server"
Spezifikationen
| Spezifikation |
|---|
| HTTP Semantics> # field.proxy-authenticate> |