> ## 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 (JWE) を使用してアクセストークンのペイロードを暗号化し、意図したリソースサーバーのみがクレームを確認できるようにすることで、データ侵害や中継者による検査から保護します。

# JSON Web Encryption

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

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

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

[各 API に JWE を設定する](/docs/ja-jp/get-started/apis/configure-json-web-encryption)。`apiIdentifier` が JWE を使用するように設定されていることを前提に、このコードサンプルでは、machine-to-machine (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="Resource Server: 保護されたリソースをホストするサーバー。リソースサーバーは保護されたリソースへのリクエストを受け付けて応答します。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=resource+server">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 を設定する](/docs/ja-jp/get-started/apis/configure-json-web-encryption)際に指定されている場合はペイロードの暗号化に使用されたキー ID (`kid`) について説明するメタデータが含まれています。

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

この情報を使用すると、resource server は JWE トークンを復号できるはずです。結果として通常の署名付き JWT が得られ、Auth0 の tenant keys を使用して検証できます。

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

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

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