💃

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 は「権限のやりとり」を安全に行う仕組み
  • 登場人物は「ユーザー」「アプリ」「認可サーバー」「リソースサーバー」
  • 認可コードフローのおさらい
  1. アプリが認可サーバーに利用申請
  2. 認可サーバーがユーザーに同意を確認
  3. 認可コード(引換券)をアプリに渡す
  4. アプリが認可コードを使ってアクセストークン(鍵)を取得
  5. アクセストークンでデータを取得

Discussion