Proxy-Authenticate
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 Proxyserver zu erhalten.
Er wird in einer 407 Proxy Authentication Required
-Antwort gesendet, damit sich ein Client bei einem Proxy identifizieren kann, der eine Authentifizierung erfordert.
Header-Typ | Antwortheader |
---|---|
Verbotener Anforderungsheader | Ja |
Syntax
Eine komma-separierte Liste von einem oder mehreren Authentifizierungs-Challenges:
Proxy-Authenticate: <challenge>
Wobei ein <challenge>
aus einem <auth-scheme>
besteht, gefolgt von einem optionalen <token68>
oder einer komma-separierten 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.
Zum Beispiel erfordert die Basis-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-sensitiver Token, der das verwendete Authentifizierungsschema angibt. Einige der häufigeren Typen sind
Basic
,Digest
,Negotiate
undAWS4-HMAC-SHA256
. Die IANA führt eine Liste von Authentifizierungsschemata, aber es gibt weitere 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äufig verwendeter Authentifizierungsparameter unter vielen Auth-Schemata ist.<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 ermöglicht es einem Server, die Bereiche, die er schützt, zu partitionieren (wenn das von einem Schema unterstützt wird, das eine solche Partitionierung erlaubt). Einige Clients zeigen diesen Wert dem Benutzer an, um ihn über die erforderlichen Zugangsdaten zu informieren — obwohl die meisten Browser dies zum Schutz vor Phishing eingestellt haben. Das einzige zuverlässig unterstützte Zeichenset für diesen Wert istus-ascii
. Wenn kein Realm angegeben ist, zeigen Clients oft anstelle dessen einen formatierten Hostnamen an.
<token68>
Optional-
Ein Token, das für einige Schemata nützlich sein kann. Das Token erlaubt die 66 nicht reservierten URI-Zeichen plus einige andere. Es kann eine base64, base64url, base32 oder base16 (Hex) Kodierung aufnehmen, mit oder ohne Padding, jedoch ohne Leerzeichen. Die
token68
-Alternative zu Auth-Param-Listen wird zur Konsistenz mit älteren Authentifizierungsschemata unterstützt.
Im Allgemeinen müssen Sie die relevanten Spezifikationen für die benötigten Authentifizierungsparameter für jedes <auth-scheme>
prüfen.
Hinweis:
Weitere Informationen zu Authentifizierungsparametern finden Sie unter WWW-Authenticate
.
Beispiele
Proxy-Authenticate Basis-Authentifizierung
Die folgende Antwort gibt an, dass ein Basis-Authentifizierungsschema mit einem Realm benötigt wird:
Proxy-Authenticate: Basic realm="Staging server"
Spezifikationen
Specification |
---|
HTTP Semantics # field.proxy-authenticate |
Browser-Kompatibilität
BCD tables only load in the browser