Я реализовал дайджест-аутентификацию HTTP в своем приложении CherryPy, используя встроенный инструмент tools.auth_digest
. Это было легко и, казалось, работало хорошо, как я тестировал днем.
Этим вечером я попытался получить доступ к приложению из того же браузера, который использовал ранее сегодня (но с другого IP-адреса). По какой-то причине мне было предложено ввести учетные данные. Возможно, я ввел неправильный пароль, но, опять же по любой причине, я попал в ситуацию, когда мой браузер отправляет заголовок аутентификации с каждым запросом, но с username=""
.
Cherrypy отвечает на это со статусом 400 Bad Request.
Сейчас я нахожусь в ситуации, когда я не могу ввести новые учетные данные для входа на сайт (с этим браузером - я могу без проблем использовать браузер, который не "загрязнен" плохим заголовком авторизации). Я понимаю, что для ввода новых учетных данных CherryPy должен вернуть 401 Unauthorized, что должно побудить браузер запросить учетные данные.
Мой вопрос из двух частей:
Что я могу сделать, чтобы очистить информацию авторизации в моем браузере?
Правильно ли я считаю, что правильным ответом на эту ситуацию должно быть 401 Несанкционированный, а не 400 Плохой запрос?