OpenID Connectについて

OpenID Connect(OIDCとします)はOAuth2.0仕様に基づいた認証プロトコルになります。OAuth2.0はリソースへのアクセスと共有に関する認可のプロトコルになるのに対して、OIDCはユーザー認証に関するプロトコルです。

別の言い方をするとOAuth2.0はアクセストークンを取得する仕様、OIDCはIDトークンを取得する仕様となっています。

OIDCの目的は、複数のサイトに1つのログインIDで入ることが出来るようにするためのものです。具体的にはWebサービスを利用する際に新たにそのWebサービスでユーザー情報の登録を行うのではなく、既存のGoogleアカウント、Facebookアカウントを使いログインを行うことです。

フローとしてGoogleアカウントを使って、WebサービスAにサインインする例を使って説明します。
Googleアカウントを使ってWebサービスAにサインインすると、WebサービスAはGoogleにAuthorization Requestを送信します。
そうするとGoogleはGoogleアカウントのログイン画面から認証情報を要求します。
ここで認証を行い、サインインを承認するとGoogleはIDトークンをWebサービスAに送ります。
WebサービスAはIDトークンからユーザー情報を取得し表示することができます。

アクセストークン
アプリケーションがAPIへアクセスするための認証情報です。形式としては主にJSON Web Token(JWT)でやりとりされることが多いです。

IDトークン
ユーザーのIdentity情報を含んだJWTです。名前やメールアドレスなどの情報をアプリケーションが利用するために使用されます。

この記事が気に入ったらサポートをしてみませんか?