OAuth 2.0 ・ はじめの一歩
アプリに渡すのは、
範囲を絞った「許可証」
自分のデータを、別のアプリに使わせる仕組みです。[1]
図書館で、友だちに「予約した本だけ受け取れる券」を渡すイメージ。
例:写真アプリに、写真置き場を連携する
1
アプリが、許可をもらいに案内する
写真アプリ使いたい側
写真置き場許可を出す窓口
あなたのブラウザで、写真置き場の画面へ。
2
あなたが、写真置き場で許可する
あなた
「写真を読む」この範囲を許可
必要なら写真置き場にログイン。
そのパスワードを写真アプリには渡しません。
3
アプリが「引換券」を「許可証」に替える
認可コード
一度だけ使う引換券アクセストークン
APIへ見せる許可証
一度だけ使う引換券アクセストークン
APIへ見せる許可証
窓口がコードを返し、アプリが窓口で交換します。
PKCE(ピクシー)は、この交換を始めたアプリか確かめ、コードの横取りに備える仕組みです。[2]
4
アプリが、許可証を見せて写真を読む
写真アプリトークンを送る
写真のAPIデータを渡す窓口
APIがトークンの有効性と権限を確認します。
○ 写真を読む× 読み取り権限だけで写真を削除
代表的な「認可コード方式」の概念図です。許可画面が毎回出るとは限りません。許可する操作の範囲を「スコープ」と呼びます。[1]
OAuth:何をしてよい?
アプリに操作を許す「認可」。
アクセストークンを使います。[1]
OpenID Connect:あなたは誰?
OAuthの上に本人確認を加える「認証」。
IDトークンで本人情報を伝えます。[3]
OAuthは、自分の代わりにできることを絞って、アプリへ任せる仕組みです。