Что такое схема HTTP-аутентификации на основе сеансовой авторизации? - PullRequest
0 голосов
/ 30 октября 2019

В настоящее время я пишу свою собственную систему блогов. Когда я спроектировал HTTP API входа в систему, я решил реализовать его с сеансом . То есть сервер сгенерирует токен и сохранит его при успешной регистрации пользователя. Токен можно установить в файле cookie или в заголовке Authorization. Он предоставляет сертификат разрешения серверу.

Моя первая проблема заключается в том, что если токен хранится в заголовке Authorization в запросе в соответствии со спецификацией, я должен объявить, какие виды авторизации я использую. используя, например, Basic, Bearer. Но я действительно не знаю, что именно является Session-Base Authorization . Я думаю, что это не должен быть Basic или Носитель auth.

Моя вторая проблема связана с кодом статуса. Я думаю, что разумно возвращать 401 Unauthorized ответ пользователю, когда авторизация не удалась. Но если я использую этот код состояния, я должен добавить заголовок WWW-Authenticate вместе с ответом, как указано в спецификации. И я должен записать метод authorizaiton, который в настоящее время используется в заголовке, который теперь я не знаю, что это такое.

Даже если я вместо этого установлю токен в cookie в заголовке Auhtorization,Я по-прежнему сталкиваюсь со второй проблемой, если только я не перестану использовать код состояния 401 для ответа, но я не чувствую, что это правильно, и я не знаю, какой код статуса наиболее подходит в этой ситуации, кромеиз кода состояния 401. Возможно, я могу использовать 403 Forbidden в качестве альтернативы, но, на мой взгляд, 403 Forbidden обычно касается проблемы привилегий, а не проблемы авторизации, поэтому это не будет лучшим выбором.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...