ひとことで言うと
OpenID Connect(OIDC)とは、「Googleでログイン」のように、別のサービスのアカウントでアプリに入るための共通ルールです。受付が「この人はだれか」を書いた身分証(IDトークン)を出し、アプリはそれを確かめて中に入れます。
1「Googleでログイン」の正体
新しいアプリを使うたびにパスワードを作っていたら、すぐに覚えきれなくなります。「Googleでログイン」のボタンなら、押すだけで使い始められます。このボタンの裏で動いている共通ルールがOpenID Connectです。
2受付がアプリに身分証を渡す
OpenID Connectの世界には「受付」と「お店」がいます。受付はIdP、お店(アプリ)はRPと呼ばれます。受付で本人確認をすると、受付がお店に身分証(IDトークン)を渡します。
受付の例:Google、Microsoft Entra ID、LOCKED MSO など。お店の例:「Googleでログイン」ボタンのあるアプリや、会社で使うクラウドサービスです。
3ボタンを押してから入るまで
-
1アプリで「Googleでログイン」を押す
-
2受付の画面に移って、本人確認
-
3受付がアプリに身分証を渡す
-
4アプリが身分証を確かめて、ログイン完了
パスワードを入れるのは受付の画面だけです。アプリにはパスワードが渡りません。
初めてのときは、受付が「このアプリに名前やメールアドレスを渡しますか?」と聞いてくることがあります。
4身分証には何が書いてある?
身分証には「だれか」「どの受付が出したか」「どのアプリ宛てか」「いつまで使えるか」が書いてあります。受付のハンコ(電子署名)付きなので、途中で書き換えるとすぐにばれます。アプリはハンコと宛先と期限を確かめてから、中に入れます。
IDトークンはJWT(ジョット)という形式のデータです。項目名は、だれ=sub、発行元=iss、宛先=aud、期限=exp です。
5身分証と合鍵はちがうもの
合鍵(アクセストークン)は、アプリがあなたの代わりにカレンダーなどを使うための鍵です。合鍵の渡し方を決めたのがOAuth 2.0ですが、「だれか」を伝える方法までは決めていません。そのOAuth 2.0を土台に、身分証を足したのがOpenID Connectです。
覚え方:ログインに使うのは身分証、APIを使うのは合鍵。
6ひとことでまとめると
OpenID Connectとは、OAuth 2.0に「身分証(IDトークン)」を足して、アプリのログインに使えるようにした共通ルールです。
- 受付 = IdP本人確認をして身分証を出す側
- お店 = RP身分証を確かめて中に入れるアプリ
- 身分証 = IDトークン「この人はだれか」を書いたデータ
- 合鍵 = アクセストークンアプリが代わりにAPIを使うための鍵
- ハンコ = 電子署名ニセモノや書き換えを見破る印
- 土台 = OAuth 2.0合鍵を渡すための決まりごと
もっと詳しく知りたい人へ
OpenID Connect完全実装ガイド【OAuth 2.0との違いを徹底解説】
IDaaS導入RFPテンプレート
IDaaS導入の社内稟議に使えるRFPテンプレート。SSO、MFA、プロビジョニングなどの要件を網羅したフォーマットです。