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 в кавычках. Используйте поддерживаемую реализацию аутентификации клиента вместо череды строковых замен.
Только когда вызов стал пригодным, имеет смысл выяснять, почему поставщик учётных данных не вернул учётную запись.