💃
OAuth 2.0 この流れだけ覚えて!
ポイント:細かい仕様は後回し。まずは「誰が・誰に・何を・どう渡すか」の流れを掴もう!
🌟OAuth 2.0 とは
「このアプリに、あなたのGoogleのデータを使わせてもいいですか?」
という権限のやりとりを安全に行うための仕組みです。
Google以外にも、Twitter、GitHub、Microsoftなど多くのサービスで使われています。
- OAuth 2.0 = 権限確認
- OIDC(OpenID Connect)= 本人確認(OAuthの拡張機能)
※OIDCは別記事で解説しています👉こちら
まずは図で説明
🧑登場人物と役割
- ユーザー:Googleアカウントを持っている人
- アプリ:あなたが作ったサービス
-
認可サーバー:権限を管理してアクセストークンを発行するサーバー
(例:Googleのログイン画面+裏側の認可処理) -
リソースサーバー:実際にデータを持っているサーバー
(例:Google Drive API サーバー)
🔄 OAuth 2.0 の流れ(認可コードフロー)
STEP1 🗣 ユーザーに同意を求める
アプリは認可サーバーに「このユーザーのデータを使いたい」とリクエストします。
認可サーバーはユーザーに同意画面を表示し、「このアプリがデータにアクセスしてもいいですか?」と直接確認します。
STEP2 🔑 認可コードを渡す
ユーザーが「OK」と答えると、認可サーバーはアプリに認可コードを渡します。
(鍵と交換できる一時的な引換券)
この時点ではまだデータには触れられません。
STEP3 📮 認可コードを鍵に交換する
アプリは認可コードを認可サーバーに送り、本物かどうかを確認してもらいます。
OKならアクセストークン(データ取得のための鍵)を受け取ります。
STEP4 📂 「鍵を使ってデータをください」
アクセストークン(鍵)を使って、リソースサーバー(Google Driveなど)からデータを取得します。
💡 覚えておきたいこと
- 認可コード = 一時的な引換券(すぐ鍵と交換)
- アクセストークン = データにアクセスできる鍵(漏れたら危険!)
まとめ
一旦これだけ覚える🔥
- OAuth 2.0 は「権限のやりとり」を安全に行う仕組み
- 登場人物は「ユーザー」「アプリ」「認可サーバー」「リソースサーバー」
- 認可コードフローのおさらい
- アプリが認可サーバーに利用申請
- 認可サーバーがユーザーに同意を確認
- 認可コード(引換券)をアプリに渡す
- アプリが認可コードを使ってアクセストークン(鍵)を取得
- アクセストークンでデータを取得
Discussion