Я разрабатываю API, который также будет иметь компонент аутентификации/авторизации.
Любой, независимо от статуса проверки подлинности, сможет писать (POST), но в зависимости от того, не прошли ли вы проверку подлинности, прошли проверку подлинности как обычный пользователь или прошли проверку подлинности как администратор и к какому ресурсу вы пытаетесь получить доступ, я собираюсь вернуть разные ответы. для GET, DELETE и PUT.
Я пытаюсь выяснить наиболее подходящий код ответа для пользователя, который не прошел проверку подлинности и/или не авторизован.
Имейте в виду http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html а>:
Неавторизованный -> 401
Запрещено -> 403
Метод не разрешен -> 405
Давайте использовать конкретные примеры:
- John Doe не аутентифицирован, при DELETE он должен получить 401 или 405?
- Эми аутентифицирована, но не авторизована, при удалении она должна получить 403 или 405?
(Имейте в виду, что даже несмотря на то, что Джон и Эми запрещены или не авторизованы, это не означает, что они не могут получить доступ к одному и тому же ресурсу с помощью другой ГЛАГОЛ HTTP.)
Спасибо.