/userinfo エンドポイントからも利用できます。
たとえば、一般的な Web アプリケーションを構築し、それを Auth0 に登録して、ユーザー名とパスワードでログインできるように設定したとします。ユーザーがアプリにログインしたら、そのユーザーの名前を含むパーソナライズされたウェルカムメールを自動生成して送信したいとします。
- ユーザーがアプリ内のログインをクリックします。
-
アプリは、次のスコープを含めてユーザーを Auth0 Authorization Server (
/authorizeエンドポイント) にリダイレクトします。openid(必須。アプリケーションが OIDC を使用してユーザーの本人確認を行うことを示すため)profile(ユーザーの名前を使ってメールをパーソナライズするため)email(ウェルカムメールの送信先を把握するため)
- Auth0 Authorization Server は、ユーザーをログイン画面にリダイレクトします。
- ユーザーは認証を行い、プロフィール情報やメールアドレスへのアクセスを含む、Auth0 がアプリに付与するスコープが一覧表示された同意画面を確認します。
- ユーザーはこれに同意し、Auth0 に保存されている自分の情報へのこのレベルのアクセス権をアプリに付与することを承認します。
- これで、アプリはユーザーのプロフィール情報とメールアドレスにアクセスできるようになります。
標準クレーム
/userinfo エンドポイントから取得することもできます。
また、カスタムクレームを作成することもできます。これは、Auth0 Actionsを使用して独自に定義、管理し、トークンに追加できるクレームです。詳しくは、JSON Web Token Claimsをお読みください。
OIDCの基本的な (かつ必須の) スコープはopenidです。これは、アプリケーションがOIDCプロトコルを使用してユーザーの本人確認を行おうとしていることを示します。これに加えて、アプリケーションはscopeパラメーターに要求するスコープ名を空白区切りで指定することで、追加のスコープを要求できます。
以下に、最も一般的に使用されるスコープに含まれる標準クレームを示します。利用可能な標準クレームの完全な一覧については、openid.net の OIDC specification: Standard Claimsをお読みください。スコープの完全な一覧については、openid.net の OIDC specification: Requesting Claims Using Scope Valuesをご覧ください。
スコープベースのフィルタリングは、クレームをトークンに追加する方法にかかわらず適用されます。対応するスコープ (たとえば
email) がリクエストに含まれていない場合、setCustomClaim()を介してpostLogin Actionsから明示的に追加していても、発行されるトークンからクレームは削除されます。これはID Tokens、/userinfoレスポンス、アクセストークンにも同様に適用されます。