> ## 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 Encryption を使用してアクセストークンを暗号化する方法を説明します。

# JSON Web Encryption

JSON Web Encryption (JWE) は、JSON を使用して暗号化されたコンテンツを表現するための [IETF 標準](https://datatracker.ietf.org/doc/html/rfc7516) です。Auth0 では、JWE 形式を使用して、<Tooltip tip="アクセストークン: API へのアクセスに使用される、不透明な文字列または JWT 形式の認可資格情報。" cta="用語集を見る" href="/ja/docs/glossary?term=access+token">アクセストークン</Tooltip> 内の情報を暗号化するように API を設定できます。

JWE を使用すると、Auth0 は JSON Web Signature (JWS) で署名された一連のクレームを含む <Tooltip tip="アクセストークン: API へのアクセスに使用される、不透明な文字列または JWT 形式の認可資格情報。" cta="用語集を見る" href="/ja/docs/glossary?term=JWT">JWT</Tooltip> アクセストークンを生成します。この JWT アクセストークンはその後 JWE によって暗号化され、JWE Compact 形式でシリアライズされます。これにより、署名による完全性保護を確保しながら、アクセストークン内のクレームに含まれるデータの機密性を維持できます。

<div id="generate-and-validate-an-access-token">
  #### アクセストークンを生成して検証する
</div>

[各 API の JWE を設定する](/ja/docs/get-started/apis/configure-json-web-encryption)。`apiIdentifier` が JWE を使用するように設定されていることを前提に、このコードサンプルでは、マシン間 (M2M) アプリケーション向けに、クライアントクレデンシャルグラントを使用して暗号化されたアクセストークンをリクエストします。JWE は、Auth0 がサポートするすべてのグラントタイプで利用できます。

```bash lines theme={null}
curl -X POST --location "https://{domain}/oauth/token" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "client_id={clientId}&client_secret={clientSecret}&audience={apiIdentifier}&grant_type=client_credentials"
```

 正常なレスポンスには、暗号化されたアクセストークンが含まれます。

```json lines theme={null}
{
  "access_token": "eyJ…XAw",
  "expires_in": 86400,
  "token_type": "Bearer"
}
```

アクセストークンを使用する場合、<Tooltip tip="リソースサーバー: 保護されたリソースをホストするサーバー。リソースサーバーは、保護されたリソースへのリクエストを受け取り、応答します。" cta="用語集を表示" href="/ja/docs/glossary?term=resource+server">リソースサーバー</Tooltip>は JWE トークンを復号して検証する必要があります。
JWE トークンヘッダーには、暗号アルゴリズム ([`alg`](https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.1)) 、コンテンツ暗号化アルゴリズム ([`enc`](https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2)) 、および [API を設定](/ja/docs/get-started/apis/configure-json-web-encryption) する際に指定されている場合はペイロードの暗号化に使用されたキー ID (`kid`) を示すメタデータが含まれています。

```json lines theme={null}
{
  …
  "alg": "A256GCM",
  "enc": "RSA-OAEP-256",
  "kid": "my-kid"
}
```

この情報があれば、リソースサーバーで JWE トークンを復号できます。復号後は通常の署名付き JWT となり、Auth0 テナントのキーを使用して検証できます。

API で JWE を設定する方法については、[JSON Web Encryption を設定する](/ja/docs/get-started/apis/configure-json-web-encryption) を参照してください。

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

* [JSON Web Encryption (JWE) を設定する](/ja/docs/get-started/apis/configure-json-web-encryption)
