CherryPy с проверкой подлинности дайджеста HTTP застрял в статусе 400 Bad Request - PullRequest
1 голос
/ 22 октября 2011

Я реализовал дайджест-аутентификацию HTTP в своем приложении CherryPy, используя встроенный инструмент tools.auth_digest. Это было легко и, казалось, работало хорошо, как я тестировал днем.

Этим вечером я попытался получить доступ к приложению из того же браузера, который использовал ранее сегодня (но с другого IP-адреса). По какой-то причине мне было предложено ввести учетные данные. Возможно, я ввел неправильный пароль, но, опять же по любой причине, я попал в ситуацию, когда мой браузер отправляет заголовок аутентификации с каждым запросом, но с username="".

Cherrypy отвечает на это со статусом 400 Bad Request.

Сейчас я нахожусь в ситуации, когда я не могу ввести новые учетные данные для входа на сайт (с этим браузером - я могу без проблем использовать браузер, который не "загрязнен" плохим заголовком авторизации). Я понимаю, что для ввода новых учетных данных CherryPy должен вернуть 401 Unauthorized, что должно побудить браузер запросить учетные данные.

Мой вопрос из двух частей:

  1. Что я могу сделать, чтобы очистить информацию авторизации в моем браузере?

  2. Правильно ли я считаю, что правильным ответом на эту ситуацию должно быть 401 Несанкционированный, а не 400 Плохой запрос?

1 Ответ

1 голос
/ 31 октября 2011

Как указывает Perception в комментариях, браузер забудет учетные данные при закрытии.Я предполагаю, что когда я тестировал это и думал, что видел браузер, запоминающий учетные данные между сеансами браузера, которые я должен был открыть Chrome одновременно в нескольких разных окнах.

...