メインコンテンツへスキップ

用語比較

OAuthとOIDCの違い

OAuth 2.0はAPIアクセスのための「認可」の枠組み、OIDCはOAuth 2.0の上に「本人性の確認(認証)」を追加した規格。

難易度
中級
想定読者
開発者・SSO設計者・初心者
所要時間
約7分
OAuthとOIDCの違いを実務で比較する判断ボードの図

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だけでユーザー認証を実装すると安全性が落ちる場合がある

関連用語・次に読むページ

ESC