Why It Fits
選ぶ理由
- パスワードを共有せず権限委譲
- スコープで権限を細かく絞れる
- 業界標準で連携先が豊富
Product Profile
認可フレームワーク
パスワードを渡さずに、サードパーティへ「ここまでアクセスしてよい」という権限を委譲する認可の標準。「〇〇でログイン」や API 連携の土台。
Specifications
Introducing
Decision Guide
採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。
Why It Fits
Trade-offs
Deep Dive
OAuth 2.0 は、パスワードを相手に渡さずに「ここまでアクセスしてよい」という権限だけを第三者へ委譲するための標準仕様です。鍵となるのは「アクセス委譲(認可)」であって、本人確認そのものではありません。
たとえば、あるアプリに「Google ドライブの特定ファイルだけ読ませたい」とき、Google のパスワードをアプリに教える代わりに、限定された権限を持つアクセストークンを発行して渡します。
利用者がアプリの要求を承認すると、認可サーバがアクセストークンを発行します。アプリはそのトークンを付けて API を呼び、リソース側はトークンの正当性と範囲を確認して応答します。
OAuth 2.0 が扱うのはあくまで「何にアクセスしてよいか」という認可です。「誰がログインしたのか」という本人確認(認証)は対象外で、その役割は上に乗せる OpenID Connect が担います。
「○○でログイン」と書かれていても、ログイン(認証)部分は OIDC、外部サービスへの API 連携部分は OAuth 2.0、と整理すると混乱しにくくなります。
SaaS 同士の連携や、外部アプリに自社 API を使わせる場面の土台として広く使われます。スコープを最小限に絞り、トークンの有効期限と保管を適切に管理することが安全運用の前提です。
OAuth 2.0 を「ログインの仕組み」と誤解したまま認証に流用すると、本人確認の保証が不十分になります。認証が必要なら OIDC を併用します。
Implementation View
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
API へのアクセス委譲
種別: 認可フレームワーク / 目的: 認可(アクセス委譲) / トークン/形式: アクセストークン
スコープで権限を細かく絞れる
あくまで認可で、本人確認(認証)は別(→ OIDC)
Best Fit