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

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

# Structure d’un jeton Web JSON

Tous les <Tooltip tip="Jeton Web JSON (JWT) : format standard de jeton d’identité (et souvent de jeton d’accès) utilisé pour représenter de façon sécuritaire des revendications entre deux parties." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=JWTs">JWT</Tooltip> émis par Auth0 utilisent des [signatures Web JSON (JWS)](https://tools.ietf.org/html/rfc7515), ce qui signifie qu’ils sont signés plutôt que chiffrés. Un JWS représente du contenu protégé par des <Tooltip tip="Jeton Web JSON (JWT) : format standard de jeton d’identité (et souvent de jeton d’accès) utilisé pour représenter de façon sécuritaire des revendications entre deux parties." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=digital+signatures">signatures numériques</Tooltip> ou des codes d’authentification de message (MAC), au moyen de structures de données basées sur JSON.

Un JWT bien formé se compose de trois chaînes concaténées encodé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 en protéger le contenu.
* **Charge utile JWS** (ensemble de [revendications](https://tools.ietf.org/html/rfc7519#section-4)) : contient des informations de sécurité vérifiables, comme l’identité de l’utilisateur et les autorisations qui lui sont accordées.
* **Signature JWS** : sert à valider que le jeton est fiable et n’a pas été modifié. Lorsque vous utilisez un JWT, vous **devez** [vérifier sa signature](/fr-CA/docs/secure/tokens/json-web-tokens/validate-json-web-tokens) avant de le stocker et de l’utiliser.

Un JWT ressemble généralement à ceci :

<Frame>
  <img src="https://mintcdn.com/translations/c0RQ9V0YAcT0-8l5/docs/images/cdy7uua7fh8z/7FI79jeM55zrNGd6QFdxnc/80a18597f06faf96da649f86560cbeab/encoded-jwt3.png?fit=max&auto=format&n=c0RQ9V0YAcT0-8l5&q=85&s=012ea0e0dd23584c5bb4e75a24322c23" alt="jeton Web JSON" width="900" height="207" data-path="docs/images/cdy7uua7fh8z/7FI79jeM55zrNGd6QFdxnc/80a18597f06faf96da649f86560cbeab/encoded-jwt3.png" />
</Frame>

Pour voir par vous-même 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 revendications.

<Frame>
  <img src="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5U3Azt2AReuNzNuQqkRs5/9629ab9924a0212b74bee0b8fa88c295/legacy-app-auth-5.png?fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=0a9775655f059d443df62ab46151aeb8" alt="Débogueur JWT" width="900" height="1013" data-path="docs/images/cdy7uua7fh8z/5U3Azt2AReuNzNuQqkRs5/9629ab9924a0212b74bee0b8fa88c295/legacy-app-auth-5.png" />
</Frame>

<div id="jose-header">
  ## En-tête JOSE
</div>

Objet JSON contenant les paramètres décrivant les opérations cryptographiques et les paramètres employés. L’en-tête JOSE (JSON Object Signing and Encryption) est composé d’un ensemble de paramètres d’en-tête, généralement sous forme de paires nom-valeur : l’algorithme de hachage utilisé (p. ex., HMAC SHA256 ou RSA) et le type de JWT.

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

<div id="jws-payload">
  ## Charge utile JWS
</div>

La charge utile contient des énoncés sur l’entité (généralement l’utilisateur), ainsi que des attributs supplémentaires de cette entité, appelés revendications. Dans cet exemple, notre entité est un utilisateur.

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

Lorsque vous travaillez avec des revendications JWT, vous devriez connaître les différents types de revendications et les règles de nomenclature.

<div id="jws-signature">
  ## Signature JWS
</div>

La signature sert à vérifier que l’expéditeur du JWT est bien celui qu’il prétend être et à s’assurer que le message n’a pas été modifié en cours de route.

Pour créer la signature, on prend l’en-tête et la charge utile encodés en Base64, ainsi qu’un secret, puis on les signe à l’aide de l’algorithme indiqué 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 faire ce qui suit :

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

<div id="learn-more">
  ## En savoir plus
</div>

* [Revendications de jetons Web JSON](/fr-CA/docs/secure/tokens/json-web-tokens/json-web-token-claims)
* [Valider des jetons Web JSON](/fr-CA/docs/secure/tokens/json-web-tokens/validate-json-web-tokens)
* [Jeux de clés Web JSON](/fr-CA/docs/secure/tokens/json-web-tokens/json-web-key-sets)
* [Propriétés des jeux de clés Web JSON](/fr-CA/docs/secure/tokens/json-web-tokens/json-web-key-set-properties)
* [Trouver des jeux de clés Web JSON](/fr-CA/docs/secure/tokens/json-web-tokens/locate-json-web-key-sets)
* [Obtenir des jetons d’accès](/fr-CA/docs/secure/tokens/access-tokens/get-access-tokens)
