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

> JSON Web Token（JWT）のクレームと、Auth0 での使用方法について説明します。

# JSON Web Token クレーム

[JSON Web Token (JWT) ](/ja/docs/secure/tokens/json-web-tokens) のクレームは、対象に関して表明される情報です。たとえば、[IDトークン](/ja/docs/secure/tokens/id-tokens) (これは常に <Tooltip tip="JSON Web Token（JWT）: 2者間でクレームを安全に表現するために使用される標準的なIDトークン形式（多くの場合、アクセストークン形式としても使用されます）。" cta="用語集を見る" href="/ja/docs/glossary?term=JWT">JWT</Tooltip> です) には、認証しているユーザーの名前が "John Doe" であることを示す `name` というクレームを含めることができます。JWT では、クレームは名前と値のペアとして表されます。名前は常に文字列で、値には任意の JSON 値を指定できます。一般に、JWT のコンテキストでクレームについて言う場合は、名前 (またはキー) を指します。たとえば、次の JSON オブジェクトには 3 つのクレーム (`sub`、`name`、`admin`) が含まれています。

```json lines theme={null}
{
      "sub": "1234567890",
      "name": "John Doe",
      "admin": true
    }
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  OpenID Connect (OIDC) の標準クレームについて詳しくは、[OpenID Connect Scopes](/ja/docs/get-started/apis/scopes/openid-connect-scopes) および [OpenID Connect Standard Claims](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) を参照してください。
</Callout>

JWT クレームには、2 種類あります。

* **Registered**: [Internet Assigned Numbers Authority (IANA)](https://www.iana.org/assignments/jwt/jwt.xhtml) に登録され、サードパーティまたは外部アプリケーションとの相互運用性を確保するために [JWT specification](https://tools.ietf.org/html/rfc7519) で定義されている標準クレームです。OIDC の標準クレームは予約クレームです。
* **Custom**:  登録されていないパブリッククレームまたはプライベートクレームで構成されます。パブリッククレームは衝突耐性がありますが、プライベートクレームでは衝突が発生する可能性があります。

<div id="registered-claims">
  ## 登録済みクレーム
</div>

JWT の仕様では、必須ではないものの、[サードパーティアプリケーション](/ja/docs/get-started/applications/third-party-applications/configure-third-party-applications)との相互運用性を確保するために推奨される 7 つの予約済みクレームが定義されています。これらは次のとおりです。

* `iss` (発行者): JWT の発行者
* `sub` (サブジェクト): JWT のサブジェクト (ユーザー)
* `aud` (<Tooltip tip="対象者: 発行されたトークンのオーディエンスを示す一意の識別子です。トークンでは aud という名前で表され、その値には、IDトークン の場合はアプリケーション（クライアントID）、アクセストークン の場合は API（API識別子）の ID が含まれます。" cta="用語集を表示" href="/ja/docs/glossary?term=audience">オーディエンス</Tooltip>): JWT の想定受信者
* `exp` (有効期限): JWT の有効期限が切れる時刻
* `nbf` (有効開始時刻): この時刻より前は JWT を処理のために受け入れてはならない時刻
* `iat` (発行時刻): JWT が発行された時刻。JWT の経過時間を判断するために使用できます
* `jti` (JWT ID): 一意の識別子。JWT の再利用を防ぐために使用できます (トークンを一度だけ使用可能にします)

登録済みクレームの完全な一覧は、[IANA JSON Web Token Claims Registry](https://www.iana.org/assignments/jwt/jwt.xhtml#claims) で確認できます。

<div id="custom-claims">
  ## カスタムクレーム
</div>

独自に管理するカスタムクレームを定義し、Actions を使ってトークンに追加できます。以下に例を示します。

* ユーザーを一意に識別するために、ユーザーのメールアドレスを <Tooltip tip="アクセストークン: API へのアクセスに使用される、JWT または不透明な文字列形式の認可資格情報。" cta="用語集を表示" href="/ja/docs/glossary?term=access+token">アクセストークン</Tooltip> に追加する。
* Auth0 のユーザープロファイルに保存されているカスタム情報を <Tooltip tip="IDトークン: リソースへのアクセスではなく、クライアント自体を対象とした資格情報。" cta="用語集を表示" href="/ja/docs/glossary?term=ID+token">IDトークン</Tooltip> に追加する。

Action が有効である限り、Action によって追加されたカスタムクレームは、[リフレッシュトークン](/ja/docs/secure/tokens/refresh-tokens) を使用して発行される新しいトークンに含まれます。

トークンにカスタムクレームを追加する方法の例については、[サンプルユースケース: スコープとクレーム](/ja/docs/get-started/apis/scopes/sample-use-cases-scopes-and-claims) を参照してください。

<div id="public-claims">
  ### パブリッククレーム
</div>

一般公開向けのカスタムクレームを作成できます。これには、名前やメールアドレスなどの一般的な情報を含める場合があります。公開クレームを作成する場合は、それらを登録するか、名前空間を使用して衝突しにくい名前を使う必要があります。また、使用する名前空間を自分で管理できていることを確実にするため、適切な予防措置を講じてください。

[IANA JSON Web Token Claims Registry](https://www.iana.org/assignments/jwt/jwt.xhtml#claims) では、<Tooltip tip="OpenID: アプリケーションがログイン情報を収集および保存することなく、ユーザーの本人確認を行えるようにする認証のためのオープンスタンダード。" cta="用語集を表示" href="/ja/docs/glossary?term=OpenID">OpenID</Tooltip> Connect (OIDC) によって登録された公開クレームの例をいくつか確認できます。

* `auth_time`
* `acr`
* `nonce`

<div id="private-claims">
  ### プライベートクレーム
</div>

アプリケーション固有の情報を共有するために、プライベートなカスタムクレームを作成できます。たとえば、パブリッククレームには名前やメールアドレスのような一般的な情報が含まれる一方、プライベートクレームには従業員IDや部署名のような、より具体的な情報が含まれます。

<div id="auth0-restrictions">
  ## Auth0 の制限事項
</div>

Auth0 では、カスタムクレームに関して次の一般的な制限があります。

* カスタムクレームのペイロードは最大 100 KB です
* OIDC およびその他の登録済み標準クレームの一部、または Auth0 が内部で使用するクレームは、カスタマイズまたは変更できません
* `/userinfo` エンドポイントを除き、Auth0 API のオーディエンスを持つアクセストークンには、名前空間のないプライベートなカスタムクレームを追加できません
* アクセストークンに追加できるのは、指定された OIDC のユーザープロファイルクレームのみです

カスタムクレームの詳細については、[Create Custom Claims](/ja/docs/secure/tokens/json-web-tokens/create-custom-claims) を参照してください。

<div id="learn-more">
  ## 詳細情報
</div>

* [JSON Web Token の検証](/ja/docs/secure/tokens/json-web-tokens/validate-json-web-tokens)
* [JSON Web Token の構造](/ja/docs/secure/tokens/json-web-tokens/json-web-token-structure)
* [JSON Web Key Sets](/ja/docs/secure/tokens/json-web-tokens/json-web-key-sets)
* [JSON Web Key Set のプロパティ](/ja/docs/secure/tokens/json-web-tokens/json-web-key-set-properties)
