> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-actions-triggers-prototype.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Structure du jeton Web JSON

> Décrit la structure des jetons Web JSON avec les signatures web JSON (JWS).

Tous les <Tooltip href="/docs/fr-ca/glossary?term=json-web-token" tip="Jeton Web JSON (JWT)
Format standard de jeton d’ID (et souvent de jeton d’accès) utilisé pour représenter en toute sécurité des demandes entre deux parties." cta="Voir le glossaire">JWT</Tooltip> émis par Auth0 ont [une signature Web JSON (JWS)](https://tools.ietf.org/html/rfc7515), ce qui signifie qu’ils sont signés plutôt que chiffrés. Une signature Web JSON (JWS) représente un contenu sécurisé par des signatures numériques ou des codes d’authentification des messages (MAC) à l’aide de structures de données basées sur JSON.

Une JWS bien formée se compose de trois chaînes concaténées codées en Base64url, séparées par des points ( `.` ):

* **En-tête JOSE**: contient des métadonnées sur le type de jeton et les algorithmes cryptographiques utilisés pour sécuriser son contenu.
* **Charge utile JWS** (ensemble de [demandes](https://tools.ietf.org/html/rfc7519#section-4)) : contient des déclarations de sécurité vérifiables, comme l’identité de l’utilisateur et les autorisations qui lui sont accordées.
* **Signature JWS**: est utilisée pour valider que le jeton est digne de confiance et qu’il n’a pas été altéré. Vous **devez**[vérifier la signature](/docs/fr-ca/secure/tokens/json-web-tokens/validate-json-web-tokens) d’un JWT avant de le stocker et de l’utiliser.

Un JWT ressemble généralement à ceci :

<Frame>
  <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/mxRp7IkiVukPESZw/docs/images/fr-ca/cdy7uua7fh8z/7FI79jeM55zrNGd6QFdxnc/80a18597f06faf96da649f86560cbeab/encoded-jwt3.png?fit=max&auto=format&n=mxRp7IkiVukPESZw&q=85&s=524e274e5ff3f07eed2d27022fb77d86" alt="JSON Web Token" width="900" height="207" data-path="docs/images/fr-ca/cdy7uua7fh8z/7FI79jeM55zrNGd6QFdxnc/80a18597f06faf96da649f86560cbeab/encoded-jwt3.png" />
</Frame>

Pour voir directement ce que contient un JWT, utilisez [le débogueur JWT.io](http://jwt.io). Il vous permet de vérifier rapidement qu’un JWT est bien formé et d’inspecter manuellement les valeurs des différentes demandes.

<Frame>
  <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/AzFg9TUnnX-9tz7j/docs/images/fr-ca/cdy7uua7fh8z/5U3Azt2AReuNzNuQqkRs5/9629ab9924a0212b74bee0b8fa88c295/legacy-app-auth-5.png?fit=max&auto=format&n=AzFg9TUnnX-9tz7j&q=85&s=2eccf223278c7f955c33d3a733ee9d1b" alt="JWT Debugger" width="900" height="1013" data-path="docs/images/fr-ca/cdy7uua7fh8z/5U3Azt2AReuNzNuQqkRs5/9629ab9924a0212b74bee0b8fa88c295/legacy-app-auth-5.png" />
</Frame>

## En-tête JOSE

Objet JSON contenant les paramètres décrivant les opérations de chiffrement et les paramètres utilisés. L’en-tête JOSE (JSON Object Signing and Encryption) se compose d’un ensemble de paramètres d’en-tête qui consistent généralement en une paire nom/valeur : l’algorithme de hachage utilisé (par ex., HMAC SHA256 ou RSA) et le type de JWT.

```json lines theme={null}
{
      "alg": "HS256",
      "typ": "JWT"
    }
```

## Charge utile JWS

La charge utile contient des déclarations sur l’entité (en général, l’utilisateur) et des attributs supplémentaires de l’entité, appelés demandes. Dans cet exemple, l’entité est un utilisateur.

```json lines theme={null}
{
      "sub": "1234567890",
      "name": "John Doe",
      "admin": true
    }
```

Lorsque vous travaillez avec des demandes JWT, vous devez connaître les différents types de demandes et les règles de nommage.

## Signature JWS

La signature est utilisée pour vérifier que l’expéditeur du jeton Web JSON (JWT) est bien celui qu’il prétend être et pour s’assurer que le message n’a pas été modifié en cours de route.

Pour créer la signature, l’en-tête et la charge utile encodés en Base64 sont pris en compte, ainsi qu’un secret, et signés à l’aide de l’algorithme spécifié dans l’en-tête.

Par exemple, si vous créez une signature pour un jeton à l’aide de l’algorithme HMAC SHA256, vous devez procéder comme suit :

```js lines theme={null}
HMACSHA256(
      base64UrlEncode(header) + "." +
      base64UrlEncode(payload),
      secret)
```

## En savoir plus

* [Demandes de jetons Web JSON](/docs/fr-ca/secure/tokens/json-web-tokens/json-web-token-claims)
* [Valider les jetons Web JSON](/docs/fr-ca/secure/tokens/json-web-tokens/validate-json-web-tokens)
* [Ensembles de clés Web JSON](/docs/fr-ca/secure/tokens/json-web-tokens/json-web-key-sets)
* [Propriétés du jeu de clés Web JSON](/docs/fr-ca/secure/tokens/json-web-tokens/json-web-key-set-properties)
* [Localiser les jeux de clés Web JSON](/docs/fr-ca/secure/tokens/json-web-tokens/locate-json-web-key-sets)
* [Obtenir des jetons d’accès](/docs/fr-ca/secure/tokens/access-tokens/get-access-tokens)
