error : Unauthorized 401エラー

UnauthorizedとUnauthenticated

英訳は、Unauthorizedは「認証されていない」、Unauthenticatedは「許可されていない」と出る。アイパスを入力したときに出たエラー。ログインできず。
表側ではサーバー側のレスポンスを出してたので、401 Unauthenticated。logでは401 Unauthorizedと出る。
何が違うのか。過程の問題。まずパスが正しいか認証するが、ログイン自体の資格は持ち合わせているので、認証はされるが、実際には認証されなかった。アイパスに誤りがあったか、そもそもアイパスが無かったなどで結果的にサーバー側が許可されていないとUnauthenticatedを返す、というような感じ。問題は、curl -H 'Content-Type: application/json’ -X POST 'URL’ -d '{“id":"hoge","pass":"hoge"}’で ログインID作成して解決。エラーは消えた。

Forbidden 403

401の類似のエラーステータスとして、403 Forbidden。これはそもそも権限が無いので、何度認証しようが認証不可能というもの。401 Unauthorizedでは再認証が可能だが、403ではそもそも再認証しても状況が変わらない。

401 Unauthorized response should be used for missing or bad authentication, and a 403 Forbidden response should be used afterwards, when the user is authenticated but isn’t authorized to perform the requested operation on the given resource.

403 Forbidden vs 401 Unauthorized HTTP responses (2022/2/16閲覧)

参照

401 Unauthorized
403 Forbidden