これ、前に調べたけどなんだっけ?
っていうのよくありません?
自分はめちゃくちゃあります。
ということで今回は前に勉強したけど、ふんわり理解していたので再度勉強し直す。をやってみました。
もうちょい具体的に言うと
OIDC(OpenID Connect)とはOAuth 2.0を拡張してユーザー認証を扱えるようにしたもので、クライアントがOpenIDプロバイダーに対してIDトークン発行を要求した際の、リクエストとレスポンスの形式を標準化したプロトコルのこと。
具体的には下記の手順でIDトークンを発行している。
1. クライアント → OpenIDプロバイダー
IDトークンを要求する。
2. OpenIDプロバイダー → ユーザー → OpenIDプロバイダー
OpenIDプロバイダーがユーザーに対してログイン画面などを出して、ユーザー認証を行う。
3. OpenIDプロバイダー → クライアント
認可コードを渡す。
4. クライアント → OpenIDプロバイダー → クライアント
認可コードと引き換えにIDトークンを発行し、クライアントに返却する。
だけだと、分かったような分からないような感じなので、AIに頼んでどういう値を受け渡ししているかをシーケンス図にしてみた。
※ OIDCだけでなく、アクセストークンの発行も兼ねたシーケンスになっていますが、実際はIDトークンとアクセストークンを同時に発行することが多いと思うので良しとします。

②~⑦までの一連のやり取りでIDトークンを発行されていますね。
ただ、そもそも
JWEとは
JSON Web Encryption。
JWTを暗号化して中身を秘匿するための仕様。
JWSよりも高いセキュリティ要件が発生する環境で採用される。らしい。
つまり、、、IDトークンとは
ユーザーの認証情報をJWS形式(もしくはJWE形式)でJWTにしたもの。
上記のJWT, JWSなどの説明については全人類がお世話になっている下記記事で分かりやすく説明されてます。
IDトークンが分かれば OpenID Connect が分かる #OAuth - Qiita
まとめると
OIDC(OpenID Connect)とはOAuth 2.0を拡張してユーザー認証を扱えるようにしたもので、クライアントがOpenIDプロバイダーに対してIDトークン発行を要求した際の、リクエストとレスポンスの形式を標準化したプロトコルのこと。
IDトークンとはユーザーの認証情報をJWTにしたもの。