В настоящее время я пишу свою собственную систему блогов. Когда я спроектировал 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
обычно касается проблемы привилегий, а не проблемы авторизации, поэтому это не будет лучшим выбором.
Спасибо.