OAuthの実際の仕組み(専門用語抜きで)

OAuth認証フレームワークを平易な言葉で説明し、例えを用いて │ パスワードを共有することなく、サードパーティアプリケーションがユーザーデータへの限定的なアクセスを可能にする仕組みを │ 解説します。

Beginner

OAuthは、パスワードを共有することなく、サードパーティアプリケーションが別のサービス上の情報に限定的なアクセスを許可するシステムです。

簡略化した流れは以下の通りです:

1. サービスB(例:Googleフォト)の写真を使ってアプリA(例:写真プリントサービス)を利用したい場合。

2. アプリAがサービスB上の写真へのアクセス許可を求め、サービスBのウェブサイトへリダイレクトします。

3. サービスBのウェブサイトでログイン(未ログイン時)すると、アプリAからの明確なリクエストが表示されます。アクセス対象の詳細(例:「写真閲覧」「アルバム管理」)が明記されています。

4. このリクエストを承認すると、サービスBはアプリAに特別な一時的な「アクセストークン」を発行します。

5. アプリAはこのアクセストークンを使用して、ユーザーに代わってサービスBとやり取りします。ただし、許可された権限の範囲内でのみです。アプリAがサービスBのパスワードを直接見ることはありません。

6. 後日アクセス権を撤回した場合(通常はサービスBの設定画面から)、アクセストークンは無効になり、アプリAはユーザーのデータにアクセスできなくなります。