OpenID Connect (OIDC)は、OpenIDという古い規格の後継として、OAuth 2.0という別の規格をベースに作られた、現在の主流となる認証規格です。
| 項目 | OpenID (OpenID Authentication 1.0/2.0) | OpenID Connect (OIDC) |
| 正式名称 | OpenID | OpenID Connect |
| 登場時期 | 2005年頃 | 2014年 |
| ベース技術 | 独自のプロトコル(主にHTTPヘッダーとリダイレクト) | OAuth 2.0の認可フローを拡張 |
| データの形式 | 独自の形式、一部XML(PAPE拡張など) | JSON (ID TokenやUserInfo) |
| 情報の種類 | 認証(ログイン)情報のみ | 認証に加え、ユーザー情報(名前、メールなど)の安全な取得も可能 |
| 使いやすさ | 複雑で導入が難しかった | シンプルで軽量、特にモバイル/Webアプリとの親和性が高い |
| 現在の主流度 | ほぼ使用されていない | 現在のSSOの主流(Google, Facebookログインなど) |
1. 昔の規格:OpenID
OpenIDは、ユーザーが単一の認証情報(ID/パスワード)で複数のWebサイトにログインできるようにすることを目指して、2005年頃に登場しました。
- 課題: 独自のプロトコルであったため実装が複雑で、モバイルアプリとの連携が難しく、普及途中で課題に直面しました。
独自のプロトコルとは?
0から新しいルールを独自に定義していったプロトコル、ということ。
対して「独自ではないプロトコル」は、広く認知され、利用されている既存の標準技術や規格を基盤として利用していることを意味します。
2. 現在の主流:OpenID Connect (OIDC)
OpenID Connectは、OpenIDの課題を解決し、現代のWebサービスに合わせて新しく設計されました。
- OAuth 2.0の利用: OIDCは、認可のための標準規格であるOAuth 2.0のフローをそのまま使い、それに「認証」のレイヤーを追加したものです。
- シンプルさ: JSON形式でデータをやり取りするため、XMLベースのSAMLと比べてもシンプルで、特にモバイルアプリやSPA(Single Page Application)での実装が容易になりました。
まとめると
OpenIDとOpenID Connectは「認証情報の共有」という目指すゴールは同じですが、OIDCはOAuth 2.0の仕組みを利用して、よりモダンで使いやすく、セキュアに進化した後継規格である、という関係性です。
現代のサービスで「OpenIDでのログイン」と書かれていた場合、ほとんどの場合はこの「OpenID Connect (OIDC)」を指しています。
コメント