HTTP 407 без използваемо предизвикателство Proxy-Authenticate
Проверете заглавката за удостоверяване на проксито, когато клиентът така и не извика своя обработчик на идентификационни данни или получи неочакван статус вместо нормално предизвикателство.
Клиентът не може да избере механизъм за удостоверяване само по номер на статус. Отговорът на проксито трябва да описва какво приема.
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 в кавички. Използвайте поддържаната реализация за удостоверяване на клиента, а не поредица от замествания на низове.
Едва след като предизвикателството стане използваемо, има смисъл да се изследва защо доставчикът на идентификационни данни не е върнал акаунт.