本文へスキップ
ecdsa.com

ID トークン

ユーザーが認証されたことを示すために OpenID Connect プロバイダーがクライアントに発行する JWT で、少なくとも iss、sub、aud、exp、iat の各クレームを含み、プロバイダーによって署名されています。
別表記id_tokenOpenID Connect ID tokenOIDC token

検証手順は OpenID Connect Core §3.1.3.7 に定められています。プロバイダーの JWKS から取得した鍵と、クライアントが登録したアルゴリズム(デフォルトは RS256)で署名を検証し、iss がプロバイダーの発行者と一致すること、aud にクライアント ID が含まれること(オーディエンスが複数ある場合は azp も)、exp が未来の時刻であること、nonce がクライアントの送った値と一致することを確認します。必要に応じて auth_time、acr、amr も確認します。ユーザーを安定して識別できるのは iss と sub の組であり、メールアドレスではありません。

ID トークンはクライアントのためのものであり、API 向けではありません。オーディエンスはクライアントなので、アクセストークンとしてリソースサーバーに送るのはよくあるアンチパターンです。ハイブリッドフローとインプリシットフローはブラウザーを経由して ID トークンを返すため、トークン同士を結び付ける at_hash と c_hash が用意されています。

規格と参考文献

すべての用語