Klient nemůže zvolit autentizační mechanismus pouze podle čísla stavu. Odpověď proxy musí popsat, co přijímá.

HTTP vyžaduje, aby proxy generující 407 odeslala výzvu Proxy-Authenticate. Pro službu Basic je jednoduchý příklad tento:

HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="Office proxy"

Číselný stav, název hlavičky i syntaxe specifická pro schéma jsou stejně důležité. Značková chybová stránka se slovem authentication v těle nenahrazuje hlavičku. Vlastní implementace musí také odeslat úplnou odpověď HTTP 407, včetně zakončení hlavičky a orámování těla.

Prozkoumejte odpověď, která dorazila k tomuto klientovi

Zachyťte pole stavu a výzvy po odstranění tajných hodnot. Odpověď mohl pozměnit prostředník nebo vlastní proxy mohla sestavit neplatnou výzvu. Porovnejte tyto důkazy s vlastním transakčním protokolem proxy.

Pokud služba místo toho posílá 405 nebo jinou chybu, nepřeznačujte každou takovou odpověď ve vlastním klientovi na 407. Skryli byste skutečná selhání politiky metod a stále byste neměli spolehlivé vyjednávání schématu. Opravte chování služby nebo použijte její dokumentovanou podporovanou cestu autentizace.

Více výzev také vyžaduje skutečný HTTP parser. Čárka může oddělovat parametry nebo výzvy; slepé dělení celé hlavičky na čárkách může poškodit realm v uvozovkách. Použijte podporovanou autentizační implementaci klienta namísto série nahrazování řetězců.

Teprve když je výzva použitelná, má smysl zkoumat, proč poskytovatel přihlašovacích údajů nevrátil účet.

Související články