OAuth 2.0 の上に 「認証層」 を追加した仕様。OpenID Foundation により 2014 年 2 月に公開された。OAuth 2.0 が 認可(API への委任) を扱うのに対し、OIDC は 認証(ユーザーが誰か) を扱う。
OAuth 2.0 との関係
| レイヤ | 役割 | 担当仕様 |
|---|---|---|
| 認可(Authorization) | 「この API を叩いてよい」 | OAuth 2.0 |
| 認証(Authentication) | 「この人は誰だ」 | OpenID Connect |
OIDC は OAuth 2.0 の認可コードフローに ID Token(JWT)の発行 を追加した拡張。OIDC を使うと、認可と同時に「ユーザーが誰か」を検証可能な署名付きクレーム(ID Token)として受け取れる。
ID Token の標準クレーム
{
"iss": "https://idp.example.com", // 発行元
"sub": "user-12345", // ユーザーの一意識別子
"aud": "client-app-id", // 受信者
"exp": 1745000000, // 有効期限
"iat": 1744996400, // 発行時刻
"nonce": "random-string" // リプレイ防止
}
OpenID 2.0 との違い
OpenID 2.0 (2007 年最終化)は別物のプロトコル。「自分の OpenID URL でどこにもログインできる」という分散認証ビジョンだったが普及せず、 2015 年中ごろに事実上終了 。OIDC は OAuth 2.0 上の 再構築版 として全く別アーキテクチャで設計された。
普及状況
Google・Facebook・Microsoft・Apple・Yahoo などの コンシューマ ID プロバイダ がほぼすべて OIDC をサポートしている。BtoB SaaS でも標準ログインの中核として広く採用される。
関連用語
- OAuth 2.0 — OIDC の基盤となる認可フレームワーク
- PKCE — OIDC 認可コードフローと併用必須
- ID Token — OIDC が発行する認証情報
- AWS Cognito — OIDC OP として動作