Créer le secret client JWT et la clé privée JWT

Utilisez les informations de cette rubrique pour créer le jeton JWT d'un secret client et d'une clé privée pour l'authentification de client.

Réclamations relatives au contenu du jeton bearer JWT

Le contenu du jeton bearer JWT doit comporter les réclamations suivantes :
Tableau 1. Réclamations MUST
Nom de la réclamation Descriptif Valeurs valides
iss Identificateur unique pour l'entité qui a émis le JWT ID client.
sub Identificateur du sujet principal ID client.
aud La valeur valide correspond à l'émetteur du serveur d'autorisation tel qu'il est publié dans le point de terminaison bien connu (https://<tenantId>/oidc/endpoint/default/.well-known/openid-configuration). https://<tenantId>/oidc/endpoint/default
exp Délai d'expiration du JWT Nombre de secondes depuis le 1970-01-01T0:0:0Z, mesuré en temps universel coordonné.
Remarque : la durée de validité du JWT ne peut pas dépasser 86 400 secondes.
jti Identificateur JWT Chaîne opaque générée de manière aléatoire
Le contenu du jeton bearer JWT doit comporter les réclamations suivantes :
Tableau 2. MAY affirme
Nom de la réclamation Descriptif Valeurs valides
nbf Heure avant laquelle le JWT ne doit pas être accepté Nombre de secondes depuis le 1970-01-01T0:0:0Z, mesuré en temps universel coordonné.
iat Heure de création du JWT Nombre de secondes depuis le 1970-01-01T0:0:0Z, mesuré en temps universel coordonné.
Remarque : la date de création du JWT ne peut pas remonter à plus de 86 400 secondes.

Exemple de contenu de jeton 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"
}
```

Algorithmes pris en charge

Tableau 3. Algorithmes pris en charge
Fonction Algorithmes pris en charge
JWS 'alg' pour la signature 'RS256', 'RS384', 'RS512', 'HS256', 'HS384', 'HS512', 'PS256', 'PS384', 'PS512
Le jeton JWT doit être signé. Assurez-vous que la clé utilisée pour signer le JWT est publiée dans jwks_uri. Si jwks_uri n'est pas disponible, ajoutez le certificat public au système. Voir la section « Gestion des certificats ».

Assurez-vous que le jeton JWT signé inclut l'en-tête "kid" pour identifier de manière unique la clé utilisée.

Exemple de demande

Une fois que le jeton JWT est créé, une demande peut être soumise au noeud final de jeton pour utiliser ce jeton JWT en tant qu'assertion client.
```
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 doit toujours correspondre à urn:ietf:params:oauth:client-assertion-type:jwt-bearer.