> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-actions-triggers-prototype.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenID Connectのスコープ

> OpenID Connect（OIDC）プロトコルで使用されるスコープとクレームを理解しましょう。

このドキュメントでは、<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=openid" tip="OpenID: アプリケーションがログイン情報を収集および保存することなくにユーザーのIDを検証できるようにする認証用のオープン標準。" cta="用語集の表示">OpenID</Tooltip> Connect（OIDC）認証プロトコルに含まれるスコープについてご説明します。OIDC自体の詳細情報については、[OpenID Connectプロトコル](/docs/ja-jp/authenticate/protocols/openid-connect-protocol)をご覧ください。

OpenID Connect（OIDC）スコープは、アプリケーションが認証プロセスの際に名前や画像などのユーザー詳細へのアクセスを認可するために使用します。それぞれのスコープは、ユーザー属性のセットを返します。これをクレームといいます。アプリケーションが要求するスコープは、そのアプリケーションでどのユーザー属性が必要かによります。要求されたスコープをユーザーが認可すると、クレームがIDトークンに含める形で返されます。これは[`/userinfo` エンドポイント](/docs/ja-jp/api/authentication#get-user-info)経由でも使用できるようになります。

たとえば、一般的なWebアプリケーションをビルドしてAuth0に登録し、ユーザー名とパスワードでログインできるように設定したとします。アプリにログインしたユーザーに、その人の名前を含んだ、パーソナライズされた歓迎メールが自動的に送信されるようにしたいと考えています。

1. ユーザーがアプリ内で **［Login（ログイン）］** にクリックします
2. アプリは、以下のスコープを含み、ユーザーをAuth0の認証サーバー（`/authorize`エンドポイント）にリダイレクトします。

   * `openid`（必須：アプリケーションがユーザーの身元検証にOIDCを使用することを伝えるため）
   * Profile`profile`（ユーザーの名前でメールをパーソナライズするため）
   * `email`（歓迎メールの送付先を知るため）
3. Auth0認可サーバーがユーザーをログインプロンプトにリダイレクトします。
4. ユーザーが認証を行うと、同意ページが開き、Auth0からアプリに提供されるスコープが表示されます。これには、ユーザーのプロファイル情報とメールアドレスへのアクセス権が含まれます。
5. ユーザーは、Auth0に保管されているユーザー情報に対してアプリにそのレベルのアクセス権が与えられることを承認・認可します。
6. これで、アプリがユーザーのプロファイル情報とメールアドレスにアクセスできるようになりました。

## 標準クレーム

標準クレームは、アプリケーションにユーザー情報（名前・メール・画像など）を提供するためのもので、OIDCプロトコルに対してあらかじめ定義されています。クレームは、IDトークンに含める形で返され、また[`/userinfo`エンドポイント](/docs/ja-jp/api/authentication#get-user-info)経由でも使用できるようになります。

また、自分で定義、制御し、Auth0 Actionsを使用してトークンに追加する[カスタムクレーム](/docs/ja-jp/customize/actions/actions-overview)も作成できます。詳細については、[JSON Webトークンクレーム](/docs/ja-jp/secure/tokens/json-web-tokens/json-web-token-claims)をお読みください。

OIDCの基本（必須）スコープは`openid`で、アプリケーションがユーザーの身元の検証にOIDCプロトコルを使用することを示します。さらに、アプリケーションで他にもスコープが必要な場合は、スペースで区切って、`scope`パラメータに要求されたスコープの名前を列挙します。

最も一般的なスコープに含まれる標準クレームの一覧を下に示しますが、使用できる標準クレームを網羅したリストについては、「[OIDCの仕様：openid.netの標準クレーム](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)」を参照してください。スコープの完全なリストについては、「[OIDCの仕様：openid.netにおけるスコープ値を使ったクレームの要求](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims)」を参照してください。

| スコープ      | クレーム                                                                                                                                                                              |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `openid`  | （必須）ユーザーを一意に識別する`sub`クレームを返します。IDトークンでは、`iss`、`aud`、`exp`、`iat`、`at_hash`の各クレームも表示されます。IDトークンクレームの詳細については、「[IDトークンの構造](/docs/ja-jp/tokens/id-tokens/id-token-structure)」をお読みください。 |
| `profile` | 基本的なプロファイル情報（`name`、`family_name`、`given_name`、`middle_name`、`nickname`、`picture`、`updated_at`を含む）を表すクレームを返します。                                                                   |
| `email`   | ユーザーのメールアドレスを含む`email`クレームと、`email_verified`（メールアドレスがユーザーによって確認されたかどうかを示すブール値）を返します。                                                                                              |

アプリケーションのために標準クレームを要求する方法の例は、「[サンプルユースケース：スコープとクレーム](/docs/ja-jp/get-started/apis/scopes/sample-use-cases-scopes-and-claims)」を参照してください。

## もっと詳しく

* [「サンプルユースケース」の「スコープとクレーム」](/docs/ja-jp/get-started/apis/scopes/sample-use-cases-scopes-and-claims)
* [スコープ](/docs/ja-jp/get-started/apis/scopes)
* [カスタムクレームを作成する](/docs/ja-jp/secure/tokens/json-web-tokens/create-custom-claims)
