セキュリティ
上級

OpenID Connect (OIDC・2014)(オープンアイディコネクト)

OpenID Foundation 2014年標準化のOAuth 2.0 上認証プロトコル。JWT ID Token・「Sign in with Google / Apple」の基盤、エンタープライズSSO の標準。

0 回閲覧
0 いいね
2026/5/15 更新
関連タグ
認証
OpenID
SSO

概要

OpenID Connect (OIDC) はOpenID Foundation が2014年2月に標準化した認証プロトコル。OAuth 2.0 (2012年RFC 6749) の上に「認証」(Authentication) 層を追加・JWT (JSON Web Token) ベースのID Token を導入することで、ユーザの「アイデンティティ」情報をアプリに伝達する。Google / Microsoft / Apple / Yahoo / GitHub / Auth0 / Okta 等の主要IdP (Identity Provider) で採用、「Sign in with Google」「Sign in with Apple」ボタンの裏側技術、エンタープライズSSO (Single Sign-On) の現代標準。

OAuth 2.0 / OIDC 違い

項目OAuth 2.0OpenID Connect
主目的認可 (Authorization)認証 (Authentication)
TokenAccess TokenID Token + Access Token
Token 形式不定 (実装依存)JWT 必須
ユーザ情報別途UserInfo EndpointID Token に含む
Standard Endpoint/authorize, /token+ /userinfo, /jwks.json
Discoveryなし/.well-known/openid-configuration

ID Token (JWT) 構造

{
  "iss": "https://accounts.google.com",
  "sub": "112345678901234567890",
  "aud": "your-app-client-id.apps.googleusercontent.com",
  "exp": 1735689600,
  "iat": 1735686000,
  "email": "[email protected]",
  "email_verified": true,
  "name": "Alice Smith",
  "picture": "https://lh3.googleusercontent.com/...",
  "given_name": "Alice",
  "family_name": "Smith",
  "locale": "en"
}

JWT (Header.Payload.Signature) でデジタル署名・改竄不可・アプリ側で署名検証してユーザ情報取得。

主要Endpoint

Endpoint機能
/.well-known/openid-configurationDiscovery (全Endpoint 一覧)
/authorize認可 (ユーザログイン)
/tokenToken交換
/userinfo詳細User Info
/jwks.json公開鍵 (JWT検証用)
/revokeToken 無効化
/logoutEnd Session

Discovery Endpoint で全URL を動的取得・実装簡素化。

Standard Claims

OIDC 標準のユーザ属性 (Claims):

Claim内容
subSubject (一意ID)
nameフルネーム
given_name名
family_name姓
middle_nameミドルネーム
nicknameニックネーム
preferred_usernameユーザ名
profileプロフィールURL
pictureプロフィール画像URL
websiteWebサイト
emailメール
email_verified検証済み
gender性別
birthdate生年月日
zoneinfoタイムゾーン
localeロケール (ja-JP等)
phone_number電話番号
phone_number_verified検証済み
address住所 (構造体)
updated_at最終更新

主要IdP (Identity Provider)

プロバイダ採用
GoogleOIDC + OAuth 2.0 (全Google ログイン)
Microsoft (Entra ID・旧Azure AD)エンタープライズ標準
AppleSign in with Apple (2019-)
YahooYahoo ID連携
GitHubOAuth 2.0 → OIDC 移行中
Facebook / Meta一部OIDC
Auth0 (Okta子会社)エンタープライズ
Oktaエンタープライズ
Cognito (AWS)クラウドネイティブ
Clerkスタートアップ向け
Supabase AuthOSS / Self-hosted
KeycloakOSS / Self-hosted

「Sign in with Apple」(2019-)

Apple が2019年WWDC 発表、App Store 規約でiOS / iPadOS / macOS / watchOS / tvOS アプリの第三者ログイン (Google/Facebook 等) 提供時に「Sign in with Apple」も提供義務化。プライバシ重視:

  • Email Hide機能 (匿名ランダムメールアドレス)
  • 2FA Apple ID 標準
  • Apple がアクセス追跡しない

関連用語との違い

  • vs OAuth 2.0: 認証 / 認可・OIDC は OAuth 2.0 上の拡張
  • vs SAML 2.0: REST + JWT / SOAP + XML
  • vs JWT 単体: 配信プロトコル / トークン形式

FAQ

Q1: OAuth 2.0 と OIDC どちら? A: 認証 (ユーザのアイデンティティ確認) が必要なら OIDC。API アクセス認可だけならOAuth 2.0 で十分。多くの実装は両方併用。

Q2: ID Token をAPI 認証に使う? A: 推奨しない。ID Token は認証用 / Access Token はAPI 用と用途分離。ただし簡素実装でID Token 流用は実際多い。

Q3: 個人プロジェクト? A: Clerk / Auth0 / Supabase Auth がOIDC + OAuth 2.0 を抽象化、数行のコードで実装可能。自家OIDC 実装は脆弱性リスク大。

この記事について
カテゴリーセキュリティ
難易度上級
作成日2026/5/15