Одноразовая дайджест-аутентификация http nonce

#http #authentication #nonce

#http #аутентификация #одноразовый

Вопрос:

Я пытаюсь реализовать одноразовую аутентификацию none для процесса аутентификации HTTP digest. Прежде всего, я осознаю тот факт, что аутентификация не является абсолютно безопасной. Пожалуйста, не советуйте мне использовать что-то другое. Процесс аутентификации работает как ожидалось. Когда пользователь успешно проходит аутентификацию, я добавляю поле http Authentication-Info со следующим одноразовым номером. Браузер, в данном случае Firefox, не использует этот одноразовый номер для дальнейших запросов.

 Authentication-Info: nextnonce="06e8043d3fb8c26156829c4b55afd13040"
  

Почему браузер не использует мой новый одноразовый номер для будущих запросов? Он по-прежнему использует старую, теперь недействительную аутентификацию!

RFC7616 описывает поле заголовка. https://www.rfc-editor.org/rfc/rfc7616#section-3.5

Значение параметра nextnonce — это одноразовый номер, который сервер желает, чтобы клиент использовал для будущего ответа аутентификации. Сервер МОЖЕТ отправить поле заголовка Authentication-Info с полем nextnonce в качестве средства реализации одноразовых одноразовых запросов или иного изменения одноразовых запросов. Если присутствует поле nextnonce, …

RFC2617 описывает синтаксис в разделе 3.2.3

https://www.ietf.org/rfc/rfc2617.txt

[Править / править код]

Возможно ли, что firefox не поддерживает эту функцию. Если я буду искать здесь https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/WWW-Authenticate для поля заголовка я не могу найти результат.

Но здесь она указана как стандартный флаг заголовка:https://www.iana.org/assignments/message-headers/message-headers.xhtml

Ответ №1:

nextnonce не поддерживается в Firefox, даже Authentication-Info заголовок.

Ошибка «сбой проверки подлинности следующего одноразового дайджеста» была обнаружена 18 лет назад и до сих пор не исправлена.

Я загрузил исходный код последней версии Firefox 65.0.1 и провел поиск в проекте. «Информация об аутентификации» появляется только в netwerk/protocol/http/nsHttpDigestAuth.cpp как комментарий, больше нигде.