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

> JSON Web トークンのフローアクションを設定して、JSON Web トークンに署名したり、検証したり、デコードしたりする方法を学びます。

# JSON Web トークン

この<Tooltip tip="JSON Web トークン（JWT）: 2 者間でクレームを安全にやり取りするために使用される、標準的な ID トークン形式（多くの場合、アクセストークン形式としても使用されます）。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=JSON+Web+Token">JSON Web トークン</Tooltip>アクションの一覧を使うと、フロー内で JWT を生成、検証、デコードできます。

<h2 id="configure-your-jwt-vault-connection">
  JWT Vault Connection を設定する
</h2>

[JWT Vault Connection](/docs/ja-jp/customize/forms/vaults/jwt) で、JSON Web トークンのフローで使用する Vault 接続の設定方法をご確認ください。

<h2 id="sign-json-web-token">
  JSON Web トークンに署名する
</h2>

JSON Web トークンを生成します。

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-sdk-reference-docs/9vX9KFZO3QwQJOMH/docs/images/cdy7uua7fh8z/3XQqUMKrmrc8fUkCsDhI2T/43f7f8d38673d8fa4f9dba7242e044d9/sign-json-web-token.png?fit=max&auto=format&n=9vX9KFZO3QwQJOMH&q=85&s=4d88b4f39aa96a0a7e0861cf13eba78d" alt="" width="1404" height="1483" data-path="docs/images/cdy7uua7fh8z/3XQqUMKrmrc8fUkCsDhI2T/43f7f8d38673d8fa4f9dba7242e044d9/sign-json-web-token.png" />
</Frame>

<h3 id="input-settings">
  入力設定
</h3>

| パラメータ | 説明 |
| - | - |
| ペイロード | エンコードするデータです。OpenID 標準に従った形式にすることを推奨します。 |
| サブジェクト | JWT の subject を示します。 |
| 発行者 | JWT を発行した主体を示します。 |
| audience | JWT の想定される受信者を示します。例: admin.your\_domain.com |
| 有効期限 | JWT を処理のために受け付けてはならなくなる時刻を示します。 |

<h3 id="output-object">
  出力オブジェクト
</h3>

| プロパティ | 型 | 説明 |
| - | - | - |
| `token` | String | JSON Web トークンの文字列。 |

<h3 id="output-object-example">
  出力オブジェクトの例
</h3>

```json lines theme={null}
{
  "token": "eyJhbGciOiJIUzI1N..."
}
```

<h2 id="decode-json-web-token">
  JSON Web トークンをデコード
</h2>

指定されたJSON Web トークンをデコードします。

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-sdk-reference-docs/uYX4Y6MMvVE52ldp/docs/images/cdy7uua7fh8z/7I25WVtppllW6qhC5sALvH/70143bbe0d96920e1d9dfabbb1d6aeff/decode-json-web-token.png?fit=max&auto=format&n=uYX4Y6MMvVE52ldp&q=85&s=48fcdcbab6054e03449af489d575ab26" alt="" width="1404" height="660" data-path="docs/images/cdy7uua7fh8z/7I25WVtppllW6qhC5sALvH/70143bbe0d96920e1d9dfabbb1d6aeff/decode-json-web-token.png" />
</Frame>

<h3 id="input-settings-2">
  入力設定
</h3>

| パラメータ | 説明 |
| - | - |
| トークン (必須) | デコード対象の JSON Web トークン文字列。 |

<h3 id="output-object-2">
  出力オブジェクト
</h3>

| プロパティ | 型 | 説明 |
| - | - | - |
| `payload` | オブジェクト | デコード後の有効な JSON Web トークンの内容 |

<h3 id="output-object-example-2">
  出力オブジェクトの例
</h3>

```json lines theme={null}
{
  "header": {
    "alg": "HS256",
    "typ": "JWT"
  },
  "payload": {
    "sub": "1234567890",
    "name": "John Doe",
    "iat": 1516239022
  },
  "signature": "SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
```

<h2 id="verify-json-web-token">
  Verify JSON Web トークン
</h2>

JSON Web トークンのデータを検証し、改ざんされていないことを確認することで、その真正性を保証します。

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-sdk-reference-docs/ICdN3pJ1sdOkqehH/docs/images/cdy7uua7fh8z/15MDJcfZqtC46h6mRPOGcz/55e0785db066a54f836d30199fa5f295/verify-json-web-token.png?fit=max&auto=format&n=ICdN3pJ1sdOkqehH&q=85&s=892c2ec3d7d3e71ef1cdff5d822770ec" alt="" width="1404" height="882" data-path="docs/images/cdy7uua7fh8z/15MDJcfZqtC46h6mRPOGcz/55e0785db066a54f836d30199fa5f295/verify-json-web-token.png" />
</Frame>

<h3 id="input-settings-3">
  入力設定
</h3>

| パラメータ | 説明 |
| - | - |
| Token (必須) | 検証するJSON Web トークン文字列。 |
| 発行者 | 検証するJWTの発行者。 |
| Audience | 検証するJWTの想定受信者である audience。 |

<h3 id="output-object-3">
  出力オブジェクト
</h3>

| プロパティ | 型 | 説明 |
| - | - | - |
| `valid` | ブール値 | JWT の署名が有効かどうかに応じて、`true` または `false` を返します。 |
| `cause` | 文字列 | `valid` プロパティが `false` の場合に、メッセージが表示されます。 |
| `payload` | オブジェクト | デコード済みで有効な JSON Web トークンの内容です。 |

<h3 id="output-object-example-3">
  出力オブジェクトの例
</h3>

```json lines theme={null}
{
  "valid": true,
  "header": {
    "alg": "HS256",
    "typ": "JWT"
  },
  "payload": {
    "sub": "1234567890",
    "name": "Jane Doe",
    "iat": 1516239022
  },
  "signature": "SflKxwRJSMe..."
}
```

```json lines theme={null}
{
  "valid": false,
  "cause": "INVALID_SIGNATURE"
}
```
