Aller au contenu
Allin

Qu'est-ce qu'un JWT (JSON Web Token) ?

Publié le 05/09/2025 · 3 min de lecture · Outils pour développeurs

Daniel Okonkwo

Daniel OkonkwoDéveloppeur front-end et rédacteur Tech chez Allin

Performance web · Formats de fichiers

Vérifié à partir de 2 sources

Voir le profil
En bref

Un JSON Web Token (JWT) est un jeton compact et signé qui transporte des informations entre parties en trois parties Base64url séparées par des points : header.payload.signature. Le payload contient des « claims » comme un identifiant d'utilisateur et une expiration ; la signature prouve que le jeton n'a pas été altéré. Il est lisible par tous, alors n'y mets jamais de secrets — la signature protège l'intégrité, pas la confidentialité.

Un JWT est un jeton compact et signé qui transporte l'identité entre services. Voici ses trois parties, son usage pour l'authentification et ses limites de sécurité.

Ce qu'est un JWT

Un JWT est un jeton autonome qu'un serveur peut remettre à un client pour prouver son identité, sans conserver de session côté serveur. Il ressemble à une longue chaîne de trois blocs séparés par des points. Comme il porte ses propres claims signés, tout service qui fait confiance à la clé de signature peut le vérifier seul — d'où sa popularité pour l'authentification sans état entre API.

Les trois parties

Découpé sur les points, un JWT a un header, un payload et une signature, chacun encodé en Base64url. Le header indique l'algorithme de signature et le type de jeton. Le payload contient les claims — standard comme sub (sujet), exp (expiration) et iat (émis à), plus tout champ personnalisé. La signature est calculée sur le header et le payload avec une clé secrète ou privée : altérer l'un des deux la casse.

Comment on l'utilise

Dans un flux typique, tu te connectes, le serveur signe un JWT avec ton identité et une expiration, et le renvoie. Ton application l'attache ensuite à chaque requête, en général dans l'en-tête Authorization sous forme de jeton « Bearer ». Le serveur revérifie la signature et l'expiration à chaque requête au lieu de chercher une session, ce qui passe bien à l'échelle entre plusieurs services partageant la clé.

Points de sécurité

Un JWT est signé, pas chiffré : quiconque le détient peut décoder et lire le payload — n'y stocke jamais de mots de passe ni de données sensibles. Vérifie toujours la signature côté serveur et rejette les jetons expirés ; un jeton non vérifié ne prouve rien. Garde des durées d'expiration courtes et, comme un jeton valide donne accès jusqu'à son expiration, stocke-le avec soin et prévois un moyen de révoquer ou de faire tourner les clés.

Décodeur JWTDécode un JWT, lis ses champs et ses dates, et vérifie sa signature HMAC.Essayer l'outil

Questions fréquentes

Un JWT est-il chiffré ?
Non, par défaut. Le payload n'est qu'encodé en Base64url et lisible par tous. La signature protège l'intégrité, pas la confidentialité.
Peut-on mettre un mot de passe dans un JWT ?
Non. N'importe qui peut décoder le payload, alors n'y mets que des claims non sensibles comme un identifiant et une expiration.
Quelles sont les trois parties d'un JWT ?
Le header, le payload et la signature — chacun encodé en Base64url et reliés par des points.

Articles qui pourraient t'intéresser

Tous les guides

Outils similaires

Sources

Tu as repéré une erreur dans cet article ?