OpenID Connect (OIDC)
OAuth 2.0に「身元確認」機能を追加した現代的な認証標準
シングルサインオン(SSO)を実現し、安全で便利なログイン体験を提供
OIDCとOAuth 2.0の関係
🏗️ OIDCは「OAuth 2.0の拡張版」
OpenID Connect(OIDC)は、OAuth 2.0の上に構築された認証レイヤーです。OAuth 2.0の「権限委譲」機能に加えて、「誰がログインしたか」を確実に知ることができます。
OAuth 2.0
権限の委譲
OIDC
認証 + 認可
OAuth 2.0 vs OIDC
比較項目 | OAuth 2.0 | OIDC |
---|---|---|
目的 | 権限の委譲(認可) | 身元確認 + 権限の委譲(認証 + 認可) |
取得する情報 | アクセストークンのみ | IDトークン + アクセストークン |
身元確認 | ✗ 「誰か」は分からない | ✓ 「誰か」が分かる |
標準化レベル | フレームワーク(実装に幅がある) | 厳格な仕様(統一された実装) |
適用例 | API連携、権限付与 | ログイン、SSO、身元確認 |
OIDCが解決する問題
🏢 会社の統一ID管理
シナリオ:
大企業で、社員が複数のツール(メール、勤怠管理、経費精算など)を使う時、それぞれでログインが必要でした。
OIDCの価値:
OIDCのSSO機能により、一度ログインすれば全てのツールが使えるようになりました。しかも「誰がログインしたか」も確実に分かります。
🎓 大学のポータルサイト
シナリオ:
学生が履修登録、成績確認、図書館予約、食堂決済など、様々なサービスを利用する時、毎回ログインが必要でした。
OIDCの価値:
OIDCにより、一度の学生証認証で全サービスが利用可能。どのサービスを誰が使ったかの記録も正確に残ります。
🏥 医療システム
シナリオ:
病院で、医師・看護師・薬剤師がそれぞれ異なるシステムを使う際、毎回ログインが必要で時間がかかっていました。
OIDCの価値:
OIDCにより、医療従事者の身元を確実に識別しながら、必要なシステムにスムーズにアクセス。患者の安全性も向上。
🛒 Eコマースプラットフォーム
シナリオ:
ユーザーが複数のショップを利用する際、各ショップで会員登録とログインが必要でした。
OIDCの価値:
OIDCにより、一つのアカウントで複数ショップを利用可能。購入履歴の管理も統一され、ユーザー体験が大幅改善。
シングルサインオン(SSO)の価値
📧 オフィス業務
SSOなしの場合
メール、カレンダー、ファイル共有、チャット、プロジェクト管理ツールなど、それぞれでログイン。パスワードを複数覚える必要。
SSOありの場合
一度のログインで全てのツールにアクセス。パスワードは一つだけ覚えればOK。作業効率が大幅アップ。
🎮 ゲーム・エンタメ
SSOなしの場合
ゲーム、動画配信、音楽配信、SNSなど、サービスごとにアカウント作成とログインが必要。
SSOありの場合
一つのアカウントで複数のエンタメサービスを利用。友達とのつながりやプロフィールも統一管理。
🏪 ショッピング
SSOなしの場合
各ECサイトで会員登録、住所・決済情報を毎回入力。購入履歴も分散して管理が大変。
SSOありの場合
一度の登録で複数ショップを利用。配送先・決済情報は自動入力。ポイントも統合管理。
🏥 医療・行政
SSOなしの場合
病院の予約、健康保険の手続き、薬局での薬の受け取りなど、それぞれで本人確認が必要。
SSOありの場合
一度の認証で全ての医療・行政サービスを利用。本人確認の手間が省け、サービスの連携も可能。
IDトークン:「誰か」を証明する情報
🆔 IDトークンとは?
IDトークンは、「ログインしたユーザーが誰か」を証明するデジタル身分証明書です。 OAuth 2.0のアクセストークンが「何ができるか」を示すのに対し、 IDトークンは「誰がログインしたか」を示します。
IDトークンには、以下のようなユーザー情報が含まれています:
sub
248289761001
ユーザーの一意ID
name
山田太郎
ユーザーの名前
email
yamada@example.com
メールアドレス
picture
https://...
プロフィール写真のURL
iss
https://accounts.google.com
トークン発行者
aud
your-app-client-id
トークンの対象アプリ
exp
1640995200
有効期限
💡 実際のIDトークンは暗号化されており、アプリが安全に検証・利用できます
実際のOIDCサービス例
最も広く使われているOIDCプロバイダー
OIDCの特徴:
Microsoft
企業向けOIDCソリューションの代表格
OIDCの特徴:
Auth0
開発者向けOIDC専門サービス
OIDCの特徴:
Okta
エンタープライズ向けOIDCプラットフォーム
OIDCの特徴:
Amazon Cognito
AWSクラウドのOIDCサービス
OIDCの特徴:
Firebase Auth
Google提供の開発者向けOIDC
OIDCの特徴:
OIDCのセキュリティポイント
安全に使うための重要なポイント
IDトークンの検証
受け取ったIDトークンが本物か、署名を確認して検証する
HTTPS通信の徹底
全ての通信を暗号化し、トークンの盗聴を防ぐ
適切なスコープ設定
必要最小限の情報のみを要求し、プライバシーを保護
リダイレクトURIの検証
事前に登録したURIのみを許可し、悪意あるリダイレクトを防ぐ
トークンの適切な保存
IDトークンを安全に保存し、不要になったら削除する
定期的なトークン更新
有効期限を適切に設定し、定期的に新しいトークンを取得
信頼できるプロバイダー選択
実績のある信頼できるOIDCプロバイダーを選択する
監査ログの記録
認証・認可の履歴を記録し、セキュリティインシデントに備える
🎯 OIDCが実現する未来
🔐 セキュリティ向上
統一された認証により、パスワードの使い回しや弱いパスワードのリスクを削減
⚡ 利便性向上
一度のログインで複数サービス利用可能。ユーザー体験が大幅に改善
💰 コスト削減
開発・運用コストを削減し、セキュリティ専門知識も集約化
🎯 まとめ
OpenID Connect(OIDC)は、OAuth 2.0に「身元確認」機能を追加した現代的な認証標準です。
シングルサインオン(SSO)により「一度のログインで複数サービス利用」を実現し、
セキュリティと利便性を両立させています。
現在多くのサービスがOIDCを採用しており、
私たちの日常的なデジタル体験を支える重要な技術となっています。