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 July 2015.
Der HTTP Proxy-Authenticate
Antwortheader definiert die Authentifizierungsmethode (oder Challenge), die verwendet werden sollte, um Zugriff auf eine Ressource hinter einem Proxy-Server zu erhalten. Er wird in einer 407 Proxy Authentication Required
-Antwort gesendet, damit sich ein Client gegenüber einem Proxy, der Authentifizierung erfordert, identifizieren kann.
Header-Typ | Antwortheader |
---|---|
Verbotenes Anforderungsheader | Ja |
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 Authentifizierungsparametern hängt vom gewählten <auth-scheme>
ab. Zum Beispiel erfordert die Basisauthentifizierung ein <realm>
, 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 anzeigt. Einige der häufigeren Typen sind
Basic
,Digest
,Negotiate
undAWS4-HMAC-SHA256
. IANA pflegt eine Liste von Authentifizierungsschemata, aber es gibt auch andere Schemata, 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 häufiger Authentifizierungsparameter vieler Authentifizierungsschemata ist.<realm>
Optional-
Der String
realm
, gefolgt von=
und einer in Anführungszeichen gesetzten Zeichenkette, die einen geschützten Bereich beschreibt, zum Beispielrealm="staging environment"
. Ein Realm erlaubt es einem Server, die Bereiche, die er schützt, zu partitionieren (wenn dies von einem Schema unterstützt wird, das eine solche Partitionierung ermöglicht). Einige Clients zeigen diesen Wert dem Benutzer an, um ihn darüber zu informieren, welche spezifischen Anmeldeinformationen erforderlich sind - obwohl die meisten Browser dies eingestellt haben, um Phishing zu verhindern. Das einzige zuverlässig unterstützte Zeichensatz für diesen Wert istus-ascii
. Wenn kein Realm angegeben ist, zeigen Clients oft einen formatierten Hostnamen.
<token68>
Optional-
Ein Token, das für einige Schemata nützlich sein kann. Das Token erlaubt die 66 nicht reservierten URI-Zeichen plus einige weitere. Es kann eine base64, base64url, base32 oder base16 (hex) Codierung halten, mit oder ohne Padding, jedoch ohne Leerzeichen. Die
token68
-Alternative zu auth-param-Listen wird aus Gründen der Konsistenz mit älteren Authentifizierungsschemata unterstützt.
Im Allgemeinen müssen Sie die relevanten Spezifikationen für die für jedes <auth-scheme>
benötigten Authentifizierungsparameter prüfen.
Hinweis:
Weitere Informationen zu Authentifizierungsparametern finden Sie unter WWW-Authenticate
.
Beispiele
Proxy-Authenticate Basic-Auth
Die folgende Antwort gibt an, dass ein Basic-Auth-Schema mit einem Realm erforderlich ist:
Proxy-Authenticate: Basic realm="Staging server"
Spezifikationen
Specification |
---|
HTTP Semantics # field.proxy-authenticate |