Кліент не можа выбраць механізм аўтэнтыфікацыі, грунтуючыся толькі на нумары статусу. Адказ проксі павінен апісваць, што ён прымае.

HTTP патрабуе, каб проксі, які стварае 407, дасылаў выклік Proxy-Authenticate. Для службы Basic прос­ты прыклад:

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

Лікавы статус, імя загалоўка і сінтаксіс, спецыфічны для схемы, — усё гэта важна. Брэндаваная старонка памылкі са словам authentication у целе не замяняе загаловак. Уласныя рэалізацыі таксама павінны дасылаць поўны адказ HTTP 407, уключаючы завяршальнік загалоўка і фарміраванне цела.

Праверце адказ, які дайшоў да гэтага кліента

Зафіксуйце палі статусу і выкліку, выдаліўшы сакрэтныя значэнні. Пасрэднік мог пераўтварыць адказ, або ўласны проксі мог пабудаваць несапраўдны выклік. Параўнайце гэтыя доказы з уласным журналам транзакцый проксі.

Калі служба замест гэтага дасылае 405 або іншую памылку, не перамаркоўвайце кожны такі адказ як 407 ва ўласным кліенце. Вы схавалі б сапраўдныя збоі палітыкі метадаў і ўсё роўна не мелі б надзейнага ўзгаднення схемы. Выпраўце паводзіны службы або выкарыстайце яе дакументаваны падтрыманы шлях аўтэнтыфікацыі.

Некалькі выклікаў таксама патрабуюць сапраўднага парсера HTTP. Коска можа раздзяляць параметры або выклікі; сляпое раздзяленне ўсяго загалоўка па косках можа пашкодзіць realm у двукоссях. Выкарыстоўвайце падтрыманую рэалізацыю аўтэнтыфікацыі кліента, а не паслядоўнасць замен радкоў.

Толькі пасля таго, як выклік стаў прыдатным, мае сэнс даследаваць, чаму пастаўшчык уліковых даных не вярнуў уліковы запіс.

Падобныя артыкулы