Closed9

読む:一番分かりやすい OAuth の説明

Yug (やぐ)Yug (やぐ)

リソースサーバーってそういうことなのか

ユーザーのデータを管理するサーバーがあります。これを『リソースサーバー』と呼びます。

DB APIとかWeb APIとかが含まれてそう

Yug (やぐ)Yug (やぐ)

あーリソースサーバの窓口がAPIか

じゃあAPIとイコールでは無さそう

DBサーバー / DB APIみたいなイメージかも

Yug (やぐ)Yug (やぐ)

なるほど

(12)API を守る仕組みのベストプラクティスでは、あらかじめクライアントアプリケーションに『アクセストークン』というものを持たせておきます。アクセストークンは、当該クライアントアプリケーションがユーザーのデータを利用することを許可されていることを示すものです。

(13)クライアントアプリケーションは、ユーザーのデータを要求する際、アクセストークンを提示します。

なら多分アクセストークンってJWTとかのことだな

Yug (やぐ)Yug (やぐ)

認可サーバー、なるほど

(17)この仕組みを機能させるためには、あらかじめクライアントアプリケーションにアクセストークンを渡しておく必要があります。
(18)必然の帰結として、アクセストークンを発行する係が必要となります。
(19)アクセストークンを発行する係、
(20)これを『認可サーバー』と呼びます。

これこそ以下で言うところのIDプロバイダ(Googleなど)が該当しそうだ
シングルサインオンを機能させるために中間で頑張ってくれてるやつ
https://qiita.com/asagohan2301/items/cef8bcb969fef9064a5c#前提-1

Yug (やぐ)Yug (やぐ)

そうなのか

注:認可サーバーの役割とリソースサーバーの役割を一つのサーバーが兼ねることもよくあります。

Yug (やぐ)Yug (やぐ)

なんか認証求めてるところがすごくcookieみたいだ

(31)ここまでは、認可サーバーがいきなりアクセストークンを生成してクライアントアプリケーションに発行するという流れでしたが、実際は、アクセストークンを発行する前にユーザーに確認を取ります。
(32)まず、クライアントアプリケーションが認可サーバーに対してアクセストークンを要求します。
(33)すると、認可サーバーは、クライアントアプリケーションが要求している権限を与えるかどうかをユーザーに確認します。
(34)ユーザーがクライアントアプリケーションに権限を与えることを了承すれば、
(35)認可サーバーはアクセストークンを生成し、
(36)クライアントアプリケーションにアクセストークンを発行します。

Yug (やぐ)Yug (やぐ)

ほー、OAuth 2.0ってそういうものなのか

(37)さて、今ここで黄色い楕円で囲った部分ですが、
(38)これは、アクセストークンの要求とその応答を表しています。
(39)そして、この部分を標準化したものが『OAuth 2.0』です。OAuth 2.0 の詳細は、技術文書 RFC 6749 で定義されています。

以下2つの部分を標準化した仕様みたいなものがOAuth 2.0

  1. クライアントアプリから認可サーバーへのアクセストークン要求方法
  2. 認可サーバーからクライアントアプリへのアクセストークン応答方法

裏側で行われるユーザーへの確認やアクセストークン生成という部分もOAuth 2.0の範囲に含まれるのかもしれない。"方法"と言っているので

Yug (やぐ)Yug (やぐ)

最後にリンクを載せていただいている記事を見ればもっと詳しくいろいろ学べそうだ

このスクラップは2025/03/06にクローズされました