私は、認証/認可コンポーネントも持つAPIを開発しています。十分なアクセス権がない状態で、401または405応答コードをREST APIユーザーに返す必要がありますか?
認証ステータスに関係なく誰でも書き込み可能(POST)ですが、認証されていない場合、通常のユーザーとして認証されているか、管理者として認証されているか、アクセスしようとしているリソースについては、 GET、DELETE、およびPUTに対して異なる応答を返す。
私は、認証されていない、または許可されていないユーザーに最も適切な応答コードを見つけようとしています。心http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.htmlに
ください:
無断 -
> 401が禁断 - > 403
メソッドは許可されていません - > 405
はのは、具体的な例を使ってみましょう:
- John Doeは、401または405を受け取った場合、DELETEで認証されていませんか?
- Amyは認証されていますが、承認されていません。
(ジョンとエイミーが禁止または意味するものではありません不正されているにもかかわらず、彼らは異なるHTTP動詞と同じリソースにアクセスすることがアレントを覚えておいてください。)
感謝。
も参照してくださいhttp://stackoverflow.com/questions/3297048/403-forbidden-vs-401-unauthorized-http-responses – Ryan
ジョンは401を取得する必要があります。エイミーは403を取得する必要があります。 – Ryan
405メソッドが許可されていないようです[完全に無関係](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)。 – Ryan