OpenID Connectのプロトコル

OpenID Connect(OIDC)とは

OpenID Connect(OIDC)は、OAuth 2.0フレームワークの最上部に組み込まれているIDレイヤーです。サードパーティのアプリケーションがエンドユーザーの身元を確認して、基本的なユーザープロファイル情報を取得できるようにします。OIDCが使用するJSON Web Token(JWT)は、OAuth 2.0仕様に準拠したフローを使って取得することができます。詳しくはOIDCハンドブックを参照してください。

OpenIDとOAuth2の比較

OAuth 2.0はリソースへのアクセスと共有を定義するのに対して、OIDCはユーザー認証を定義します。その目的は、複数のサイトに1つのログインを実装することです。OIDCを使用してWebサイトにログインするたびに、OpenIDサイトにリダイレクトされてそこでログインし、その後そのWebサイトに戻されます。たとえば、Auth0のサインインにGoogleアカウントの使用を選んだ場合には、OIDCを使ったことになります。Googleでの認証が成功し、Auth0があなたの情報にアクセスすることを許可すると、Googleはユーザーと実行された認証に関する情報をAuth0に返します。この情報はJWTで返されます。アクセストークンと、要求した場合には、IDトークンを受け取ります。

OpenIDとJWT

JWT(JSON Web Tokens)には、エンティティ(通常はユーザー)に関する声明(名前やメールアドレスなど)や追加のメタデータを含む クレームが含まれています。OpenID Connectの仕様では、一連の標準クレームが定義されています。それらの標準クレームには、名前、メール、性別、生年月日などの情報が含まれています。ただし、ユーザーについての情報を取得したいのに、欲しい情報を最もよく反映した標準クレームがない場合には、カスタムクレームを作成してトークンに追加することができます。

OIDCとOAuth2を使ってアプリケーションを構成する

OIDCディスカバリーを使用して、アプリケーションを自動的に構成することができます。

もっと詳しく