Qu'est-ce qu'un JWT (JSON Web Token) ?
Publié le 05/09/2025 · 3 min de lecture · Outils pour développeurs
Daniel Okonkwo — Développeur front-end et rédacteur Tech chez Allin
Performance web · Formats de fichiers
Vérifié à partir de 2 sources
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.
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 ?