本文へスキップ
ecdsa.com

OIDC(OpenID Connect)

OAuth 2.0 の上に構築されたアイデンティティレイヤー(OpenID Connect Core 1.0、2014年)で、クライアントは署名付きの ID トークンによってユーザーが誰であるかを検証し、UserInfo エンドポイントからプロフィールのクレームを取得できます。
別表記OpenID ConnectOIDCOpenID Connect Core 1.0

クライアントは scope=openid(および profile、email)を付けた OAuth の認可リクエストを送り、認可コードを受け取り、それを ID トークンとアクセストークンに交換して、ID トークンを検証します(プロバイダーの JWKS による署名、iss、aud、exp、nonce)。ディスカバリ(/.well-known/openid-configuration)はエンドポイント、対応するアルゴリズム、jwks_uri を公開し、動的登録とログアウトの仕様がライフサイクルの残りの部分をカバーします。

コア仕様は ISO/IEC 規格(ISO/IEC 26131:2024)としても発行されています。OpenID Foundation の関連する取り組みには、オープンバンキング向けの FAPI セキュリティプロファイル、トラストチェーンのための OpenID Federation、デジタル ID ウォレットで使われる OpenID for Verifiable Credentials(OpenID4VP と OpenID4VCI)があります。

よくあるバグは、nonce や state の確認を省略すること、マルチテナントのプロバイダーで任意のテナントのトークンを受け入れること、email_verified と発行者を確認せずにメールアドレスのクレームをアカウントを識別するキーとして信頼すること、ID トークンを API のアクセストークンとして使うことです。

規格と参考文献

すべての用語