Proxy-Authenticate 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.
Der HTTP-Proxy-Authenticate-Antwort-Header definiert die Authentifizierungsmethode (oder die Challenge), die verwendet werden sollte, um Zugang zu einer Ressource hinter einem Proxy-Server zu erhalten.
Er wird in einer 407 Proxy Authentication Required-Antwort gesendet, damit ein Client sich gegenüber einem Proxy, der eine Authentifizierung erfordert, identifizieren kann.
| Header-Typ | Antwort-Header |
|---|
Syntax
Proxy-Authenticate: <challenge>, …
Der Wert ist eine durch Kommas getrennte Liste von Challenges, wobei ein <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 Authentifizierungsparameter hängt vom ausgewählten <auth-scheme> ab.
Zum Beispiel erfordert die Basic-Authentifizierung ein <realm> und erlaubt die optionale Verwendung des charset-Schlüssels, unterstützt jedoch kein token68:
Proxy-Authenticate: Basic realm="Dev", charset="UTF-8"
Direktiven
<auth-scheme>-
Ein nicht case-sensitives Token, das das verwendete Authentifizierungsschema angibt. Einige der häufigeren Typen sind
Basic,Digest,NegotiateundAWS4-HMAC-SHA256. Die IANA führt eine Liste von Authentifizierungsschemas, aber es gibt 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 sich um einen häufigen Authentifizierungsparameter vieler Authentifizierungsschemas handelt.<realm>Optional-
Der String
realm, gefolgt von=und einem in Anführungszeichen gesetzten String, der einen geschützten Bereich beschreibt, zum Beispielrealm="staging environment". Ein Realm erlaubt einem Server, die Bereiche, die er schützt, zu partitionieren (wenn dies von einem Schema unterstützt wird, das solche Partitionierung erlaubt). Einige Clients zeigen diesen Wert dem Benutzer an, um ihn darüber zu informieren, welche besonderen Anmeldedaten erforderlich sind — obwohl die meisten Browser dies nicht mehr tun, um Phishing entgegenzuwirken. Der einzige zuverlässig unterstützte Zeichensatz für diesen Wert istus-ascii. Wenn kein Realm angegeben ist, zeigen Clients oft stattdessen einen formatierten Hostnamen an.
<token68>Optional-
Ein Token, das für einige Schemas nützlich sein kann. Das Token erlaubt die 66 unreservierten URI-Zeichen plus einige weitere. Es kann eine base64, base64url, base32 oder base16 (Hexadezimal) Kodierung enthalten, mit oder ohne Padding, jedoch ohne Leerzeichen. Die
token68-Alternative zu auth-param-Listen wird zur Konsistenz mit älteren Authentifizierungsschemas unterstützt.
In der Regel müssen Sie die entsprechenden Spezifikationen für die für jedes <auth-scheme> erforderlichen Authentifizierungsparameter überprüfen.
Hinweis:
Weitere Details zu Authentifizierungsparametern finden Sie unter WWW-Authenticate.
Beispiele
>Proxy-Authenticate Basic-Authentifizierung
Die folgende Antwort zeigt an, dass ein Basic-Authentifizierungsschema mit einem Realm erforderlich ist:
Proxy-Authenticate: Basic realm="Staging server"
Spezifikationen
| Specification |
|---|
| HTTP Semantics> # field.proxy-authenticate> |