🔑

認証と認可のお話

2023/12/22に公開

Overview

業務でサーバー側と通信する処理の動作検証をしてるときに、401、403のエラーが返ってきた?
4なんとかって、エラー沢山ある。全部覚える必要はなさそうだが、よくみるヤツに今回はフォーカスして調べてみることにした。

クライアントエラーについて:
https://developer.mozilla.org/ja/docs/Web/HTTP/Status

summary

401とは?:
https://developer.mozilla.org/ja/docs/Web/HTTP/Status/401

HTTP 401 Unauthorized は、有効な認証資格が不足していることによりリクエストが適用されないことを示すクライアントエラーのレスポンスコードです。

このステータスは、正しい認証方法を含む WWW-Authenticate ヘッダーとともに送信されます。

このステータスは 403 に似ていますが、この場合は再認証が可能です。

log:

HTTP/1.1 401 Unauthorized
Date: Wed, 21 Oct 2015 07:28:00 GMT
WWW-Authenticate: Basic realm="Access to staging site"

認証が通っていないときにログに出てくるエラーです。プログラムを正しく修正して、ログインしなおすと消えます。

403とは?:
https://developer.mozilla.org/ja/docs/Web/HTTP/Status/403

HTTP の 403 Forbidden クライアントエラーレスポンスコードは、サーバーがリクエストを理解したものの、認可が拒否されたことを示します。

このステータスは 401 に似ていますが、この場合は再認証しても結果は変わりません。アクセスは恒久的に禁止されており、リソースにアクセスする権限が不足しているなど、アプリケーションのロジックに結びついたものです。

log:

HTTP/1.1 403 Forbidden
Date: Wed, 21 Oct 2015 07:28:00 GMT

認証は通っているけど、認可はされていないということ。つまりサーバーにアクセスして情報を取得できないので、UIにDBやAPIの情報を表示することができないということですね。

thoughts

今ままでは、Firebaseという便利なサービスを使っていたのでクライアントとサーバーがやりとりするアプリケーションを開発していなかったので、ネットワークのエラーにハマることがなかったですね😅

404はページがありませんってのは知っていましたが、401だと認証がされていなくって、403だと認証はされてても認可がされていないんだなと理解しました。
ネットワークの世界はおくが深いですね〜

Discussion