Браузерная поддержка директивы nextnonce в дайджест-аутентификации HTTP

Я сделал HTTP-сервер на основе C ++ (или перефразировал — пролил еще одну каплю в океан) и столкнулся с проблемой с дайджест-аутентификацией HTTP.

Согласно HTTP-аутентификация RFC с использованием nextnonce директива в Authentication-Info заголовок является допустимым способом реализации одноразового одноразового механизма. Я сделал это в соответствии с RFC, но и Chrome, и Firefox, похоже, игнорируют директиву и выдают все дальнейшие запросы с первоначальным одноразовым номером, вызывая тем самым ненужные ответы 401. Пример иллюстрации с Firefox:

Первый запрос — мой сервер возвращает 401 и выдает начальный одноразовый номер a1f778b2afc8590e4a64f414f663128b
введите описание изображения здесь

Firefox успешно аутентифицируется и получает ответ с Authentication-Info: nextnonce="0b72e74afbcab33a5aba05d4db03b801" заголовок
введите описание изображения здесь

Firefox выдает новый запрос на выборку изображения из возвращенного html — все еще первоначальный одноразовый номер c1587dd7be6251fa715540e0d6121aa5 используется, и, таким образом, возвращается ответ с новым одноразовым номером и флагом того, что срок действия предоставленного одноразового номера истек.
введите описание изображения здесь

Тот же сценарий, что и для первого запроса изображения.
введите описание изображения здесь

Теперь аутентификация проходит успешно с новым одноразовым номером.
введите описание изображения здесь

Аутентификация также успешна для второго запроса.
введите описание изображения здесь

Как видно на изображениях — хотя я отвечаю с Authentication-Info: nextnonce="0b72e74afbcab33a5aba05d4db03b801" при успешной авторизации по первому запросу следующие два запроса все еще используют исходный одноразовый номер вместо предоставленного nextnonce значение. У кого-нибудь был подобный опыт? Я наверняка делаю что-то не так — хотя RFC говорит, что клиент ДОЛЖЕН ответ с предоставленным nextnonce ценность и, следовательно, это не обязательно, я очень сомневаюсь, что большинство популярных браузеров не используют эту технику.

1

Решение

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]