認証・ID管理

OpenID Connect おーぷんあいでぃーこねくと

OpenID ConnectOIDC認証IDトークンOAuth2フェデレーション
OpenID Connectについて教えて

簡単に言うとこんな感じ!

OAuth 2.0に「あなたは誰か」を確認する認証機能を追加したプロトコルだよ。「Googleでログイン」ボタンを実現しているのはこの仕組みで、IDトークン(ユーザー情報入りの署名付きトークン)を使って「誰がログインしたか」を安全に確認できるんだ!


OpenID Connectとは

OpenID Connect(OIDC) は、OAuth 2.0の上に認証(Authentication)レイヤーを追加したプロトコルです。OAuth 2.0が「認可(あなたは何をしていいか)」のプロトコルであるのに対し、OIDCは「認証(あなたは誰か)」を追加します。

OIDCではIDトークン(ID Token)という新しい概念を追加します。IDトークンはJWT形式で、ユーザーの識別子(sub)・発行者(iss)・有効期限(exp)などを含み、認証サーバーのデジタル署名で保護されています。

実務での使われ方:

  • 「Googleアカウントで〇〇にログイン」
  • 「Microsoftアカウントでサインイン」
  • 社内のIDプロバイダー(IdP)とSaaSサービスの連携

OIDCの主なトークン

トークン内容使用目的
IDトークンユーザーの認証情報(JWT形式)「誰がログインしたか」の確認
アクセストークンAPIへのアクセス権(OAuth 2.0由来)リソースAPIの呼び出し
リフレッシュトークン新しいアクセストークンの取得トークン有効期限延長

IDトークンのペイロード例

{
  "iss": "https://accounts.google.com",
  "sub": "1234567890",
  "aud": "myapp.example.com",
  "exp": 1753516800,
  "iat": 1753513200,
  "email": "user@example.com",
  "name": "山田 太郎"
}

歴史と背景

  • 2005年:OpenID 1.0が発表(OIDCの前身)
  • 2007年:OpenID 2.0が公開
  • 2011年〜:OAuth 2.0の普及を受けて、OpenIDとOAuthを統合する設計が始まる
  • 2014年:OpenID Connect 1.0がOpenID Foundation により公開
  • 2015年〜:Google・Microsoft・Appleが採用し急速に普及
  • 現在:SaaSとIdP連携のデファクトスタンダードとして定着

OAuth 2.0とOIDCの違い

比較項目OAuth 2.0OpenID Connect
目的認可(権限委任)認証(身元確認) + 認可
主なトークンアクセストークンIDトークン + アクセストークン
ユーザー情報の取得別途APIが必要IDトークンに含まれる
使用例APIアクセス権の委任ソーシャルログイン・SSO

関連する規格・RFC

規格・RFC番号内容
OpenID Connect Core 1.0OIDCのコア仕様(OpenID Foundation)
OpenID Connect Discovery 1.0OIDCのメタデータエンドポイント仕様
RFC 7519JSON Web Token(IDトークンの形式)
RFC 6749OAuth 2.0(OIDCのベース)

関連用語