用語比較
OAuthとOIDCの違い
OAuth 2.0はAPIアクセスのための「認可」の枠組み、OIDCはOAuth 2.0の上に「本人性の確認(認証)」を追加した規格。
- 難易度
- 中級
- 想定読者
- 開発者・SSO設計者・初心者
- 所要時間
- 約7分
OAuth 2.0とは
リソースアクセスを委譲するための認可プロトコル。アクセストークンを払い出す。
OIDCとは
OAuth 2.0の拡張で、IDトークン (JWT) を払い出して本人性を伝える認証プロトコル。
違いの比較表
| 比較軸 | OAuth 2.0 | OIDC |
|---|---|---|
| 目的 | 認可 (Authorization) | 認可 + 認証 (Authentication) |
| 主トークン | アクセストークン | IDトークン (JWT) + アクセストークン |
| 想定シナリオ | API 連携、リソース委譲 | SSO、ユーザーログイン |
| ユーザー情報 | 基本含まれない | IDトークンに含まれる、UserInfo APIも提供 |
使い分け
- APIを他サービスから呼ぶならOAuth 2.0でスコープを設計する
- ユーザーログインを別IdPに任せたいならOIDCを使う
- モバイルアプリのSSOではOIDC + PKCEを推奨
よくある誤解
- OAuthでログインしている、という表現は厳密には不正確
- IDトークンとアクセストークンは別物(用途も検証も異なる)
- OAuthだけでユーザー認証を実装すると安全性が落ちる場合がある
よくある質問
OAuth 2.0とOIDCの違いは?
OAuth 2.0はAPIアクセスのための「認可」の枠組み、OIDCはOAuth 2.0の上に「本人性の確認(認証)」を追加した規格。
OAuth 2.0とは?
リソースアクセスを委譲するための認可プロトコル。アクセストークンを払い出す。
OIDCとは?
OAuth 2.0の拡張で、IDトークン (JWT) を払い出して本人性を伝える認証プロトコル。
OAuth 2.0とOIDCはどう使い分ける?
APIを他サービスから呼ぶならOAuth 2.0でスコープを設計する ユーザーログインを別IdPに任せたいならOIDCを使う モバイルアプリのSSOではOIDC + PKCEを推奨
OAuth 2.0とOIDCでよくある誤解は?
OAuthでログインしている、という表現は厳密には不正確 IDトークンとアクセストークンは別物(用途も検証も異なる) OAuthだけでユーザー認証を実装すると安全性が落ちる場合がある