Créer le jeton JWT de type « bearer »

Utilisez les informations de cette rubrique pour créer le jeton bearer JWT qui est utilisé dans le flux bearer JWT.

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 Identificateur URI valide de l'émetteur du jeton JWT.
sub Identificateur du sujet principal Identificateur unique d'un utilisateur.
aud Noeud final OIDC appelé https://<tenantId>/oidc/endpoint/default/token
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 d'expiration du JWT ne peut pas remonter à plus de 86 400 secondes dans le passé.
domaine Domaine du sujet principal Domaine de la source d'identité auquel le sujet appartient.

Exemple de contenu de jeton bearer JWT

```
{
  "iss": "https://www.relyingparty.com",
  "sub": "user@idsource.com",
  "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'
JWE 'alg' pour la gestion des clés 'RSA1_5', 'RSA-OAEP', 'RSA-OAEP-256', 'A128KW', 'A192KW', 'A256KW', 'A128GCMKW', 'A192GCMKW', 'A256GCMKW'
JWE 'enc' pour le chiffrement du contenu 'A128GCM', 'A192GCM', 'A256GCM'
Remarque : si le JWT de type « bearer » est à la fois signé et chiffré, l'en-tête JWE (le JWT externe) doit indiquer qu'il s'agit d'un JWT imbriqué en définissant l'en-tête de type de contenu sur « JWT ». Par exemple, 'cty':'JWT'.
Le jeton bearer JWT doit être signé et/ou chiffré. 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 ».

Lorsque le JWT « bearer » est chiffré et qu'un algorithme asymétrique est utilisé, il est possible d'utiliser les clés publiques publiées sur le point https://<tenantId>/v1.0/endpoint/default/jwks de terminaison jwks du fournisseur Connect d' OpenID. Assurez-vous que le JWT signé ou chiffré inclut l'en-tête `kid` pour identifier de manière unique la clé utilisée.

Exemple de demande

Une fois le jeton bearer JWT créé, une demande peut être soumise au noeud final de jeton pour échanger le jeton bearer JWT contre un jeton d'accès.
```
curl -ki https://<tenantId>/v1.0/endpoint/default/token
 -d "grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt
-bearer&client_secret=<secret>&client_id=<clientId>
&scope=openid+email&assertion=eyJhbGciOiJFUzI1NiIsImtpZCI6IjE2In0.eyJpc3Mi..."
```