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
Antwort-Header definiert die Authentifizierungsmethode (oder 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 identifizieren kann, der Authentifizierung erfordert.
Header-Typ | Antwort-Header |
---|---|
Verbotener Anfrage-Header | Ja |
Syntax
Eine durch Kommas getrennte 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 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 Basic-Authentifizierung ein <realm>
und erlaubt die optionale Verwendung des charset
-Schlüssels, unterstützt aber kein token68
:
Proxy-Authenticate: Basic realm="Dev", charset="UTF-8"
Direktiven
<auth-scheme>
-
Ein nicht-empfindliches Token, das das verwendete Authentifizierungsschema angibt. Einige der häufigeren Typen sind
Basic
,Digest
,Negotiate
undAWS4-HMAC-SHA256
. Die IANA führt eine Liste der Authentifizierungsschemata, es gibt jedoch auch andere Schemata, die von Hostdiensten angeboten werden. <auth-param>
Optional-
Ein Authentifizierungsparameter, dessen Format vom
<auth-scheme>
abhängt.<realm>
wird unten beschrieben, da es ein häufiger Authentifizierungsparameter unter vielen Auth-Schemas 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 Bereich ermöglicht es einem Server, die durch ihn geschützten Bereiche zu partitionieren (wenn unterstützt von einem Schema, das solche Partitionierung erlaubt). Einige Clients zeigen diesen Wert dem Benutzer an, um ihn darüber zu informieren, welche spezifischen Anmeldedaten erforderlich sind — obwohl die meisten Browser dies inzwischen nicht mehr tun, um Phishing entgegenzuwirken. Das einzig zuverlässig unterstützte Zeichensatz für diesen Wert istus-ascii
. Falls kein Bereich angegeben wird, zeigen Clients oft statt 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 base64, base64url, base32 oder base16 (hex) Codierung ohne oder mit Padding enthalten, jedoch ohne Leerzeichen. Die
token68
-Alternative zu auth-param-Listen wird unterstützt, um die Konsistenz mit älteren Authentifizierungsschemata zu bewahren.
Im Allgemeinen müssen Sie die relevanten Spezifikationen bezüglich der Authentifizierungsparameter überprüfen, die für jedes <auth-scheme>
benötigt werden.
Hinweis:
Siehe WWW-Authenticate
für weitere Details über Authentifizierungsparameter.
Beispiele
Proxy-Authenticate Basic auth
Die folgende Antwort gibt an, dass ein Basic-Auth-Schema mit einem Bereich erforderlich ist:
Proxy-Authenticate: Basic realm="Staging server"
Spezifikationen
Specification |
---|
HTTP Semantics # field.proxy-authenticate |
Browser-Kompatibilität
BCD tables only load in the browser