OpenIDとOpenID Connect (OIDC)ってどう違うの?

OpenID Connect (OIDC)は、OpenIDという古い規格の後継として、OAuth 2.0という別の規格をベースに作られた、現在の主流となる認証規格です。

項目OpenID (OpenID Authentication 1.0/2.0)OpenID Connect (OIDC)
正式名称OpenIDOpenID 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)」を指しています。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

ピープル大学(UoPeople)でコンピューターサイエンスを学んでいます。趣味はプログラミング。

コメント

コメントする

目次