Klientas negali pasirinkti autentifikavimo mechanizmo vien pagal būsenos numerį. Tarpinės serverio atsakyme turi būti aprašyta, ką jis priima.

HTTP reikalauja, kad 407 generuojantis tarpinis serveris siųstų Proxy-Authenticate iššūkį. Basic paslaugos paprastas pavyzdys:

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

Skaitinė būsena, antraštės pavadinimas ir schemai būdinga sintaksė visi vienodai svarbūs. Prekės ženklu pažymėtas klaidų puslapis su žodžiu authentication turinyje nepakeičia antraštės. Individualios implementacijos taip pat turi siųsti visą HTTP 407 atsakymą, įskaitant antraštės pabaigą ir turinio įrėminimą.

Patikrinkite atsakymą, kuris pasiekė šį klientą

Užfiksuokite būsenos ir iššūkio laukus pašalinę slaptas reikšmes. Tarpininkas galėjo pakeisti atsakymą arba individualus tarpinis serveris galėjo sudaryti negaliojantį iššūkį. Palyginkite šiuos įrodymus su paties tarpinio serverio operacijų žurnalu.

Jei paslauga vietoje to siunčia 405 ar kitą klaidą, neperženklinkite kiekvieno tokio atsakymo kaip 407 individualiame kliente. Taip paslėptumėte tikrus metodo politikos gedimus ir vis tiek neturėtumėte patikimo schemos derinimosi. Pataisykite paslaugos elgseną arba naudokite jos dokumentuotą palaikomą autentifikavimo kelią.

Keli iššūkiai taip pat reikalauja tikro HTTP analizatoriaus. Kablelis gali atskirti parametrus ar iššūkius; aklai padalijus visą antraštę kableliais galima sugadinti kabutėse esantį realm. Naudokite palaikomą kliento autentifikavimo implementaciją, o ne eilę eilučių pakeitimų.

Tik tada, kai iššūkis yra tinkamas naudoti, prasminga tirti, kodėl kredencialų teikėjas negrąžino paskyros.

Susiję straipsniai