クライアントシークレットJWTと秘密鍵JWTを作成する
クライアント認証用のクライアント秘密鍵 JWT および秘密鍵 JWT を作成するには、このトピックの情報を使用します。
JWT ベアラー・ペイロードのクレーム
JWT ベアラー・ペイロードには、以下のクレームを含める必要があります。| クレーム名 | 説明 | 有効値 |
|---|---|---|
| iss | JWT を発行したエンティティーの固有 ID | クライアント ID。 |
| sub | 主要なサブジェクト ID | クライアント ID。 |
| aud | 有効な値は、既知のエンドポイント(https://<tenantId>/oidc/endpoint/default/.well-known/openid-configuration)で公開されている認証サーバーの発行者です。 | https://<tenantId>/oidc/endpoint/default |
| exp | JWT の有効期限 | UTC で計測される 1970-01-01T0:0:0Z からの秒数。 注: JWTの有効期限は、86400秒以上先には設定できません。 |
| jti | JWT の ID | ランダムに生成される不透明ストリング。 |
| クレーム名 | 説明 | 有効値 |
|---|---|---|
| nbf | JWT の not before 時刻 | UTC で計測される 1970-01-01T0:0:0Z からの秒数。 |
| iat | JWT の作成時間 | UTC で計測される 1970-01-01T0:0:0Z からの秒数。 注: JWTの作成時刻は、過去86400秒以前に設定することはできません。 |
JWT ペイロードの例
```
{
"iss": "29e81c80-b507-463c-b542-5a1177b37808",
"sub": "29e81c80-b507-463c-b542-5a1177b37808",
"aud": "https://sometenant.ice.com/oidc/endpoint/default/token",
"exp": 1324298520,
"jti": "araiov8werli2awerlj"
}
```
サポート対象アルゴリズム
| 目的 | サポート対象アルゴリズム |
|---|---|
| 署名のための JWS の「alg」 | 'RS256', 'RS384', 'RS512', 'HS256', 'HS384', 'HS512', 'PS256', 'PS384', 'PS512 |
jwks_uri で公開されていることを確認してください。 jwks_uri を使用できない場合は、パブリック証明書をシステムに追加します。 「証明書の管理」 を参照してください。署名された JWT に、使用される鍵を一意的に識別するための `kid` ヘッダーが含まれていることを確認してください。
要求の例
JWT トークンが作成された後、その JWT をクライアント・アサーションとして使用して、トークン・エンドポイントに要求を実行依頼することができます。```
curl -ki https://<tenantId>/v1.0/endpoint/default/token
-d "grant_type=password&client_id=87df91dc-63de-4765-8701-b59cc8bd9e11&scope=openid
&client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
&client_assertion=eyJhbGci..."
```client_assertion_type は常に urn:ietf:params:oauth:client-assertion-type:jwt-bearer でなければなりません。