Comprendre les JSON Web Tokens avec le JWT Decoder
Ce que fait ce décodeur
Un JSON Web Token se compose de trois parties encodées en Base64URL et reliées par des points : un header, un payload et une signature. Ce décodeur découpe la chaîne au niveau de ces points, reconvertit le header et le payload en JSON lisible et affiche le segment de signature tel quel. Il lit le champ alg du header, puis met en avant les claims enregistrées standard — sub, iss, aud, jti — ainsi que les claims temporelles, pour que vous voyiez d'un coup d'œil ce que le token affirme.
Le décodage démarre dès que vous collez un token, sans étape de validation séparée. Un token d'exemple est également proposé si vous voulez simplement voir à quoi ressemble une structure décodée.
Quand l'utiliser
Il rend service chaque fois qu'une requête authentifiée se comporte de façon inattendue et que vous devez voir ce que le token transporte réellement. Cas fréquent : un 401 que vous n'arrivez pas à expliquer ; collez le token et la ligne d'état indique aussitôt s'il a expiré, s'il n'est pas encore valide ou s'il reste dans sa période active.
Il est aussi utile au moment de construire un flux de connexion, pour confirmer que l'issuer, l'audience et le subject correspondent à ce qu'attend le backend, ou pour vérifier qu'une claim personnalisée ajoutée côté serveur est bien arrivée dans le payload.
Exemple : lire les trois parties
Avec un token de la forme eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.SflKx..., le premier segment se décode en un header comme {"alg":"HS256","typ":"JWT"}, le deuxième en un payload tel que {"sub":"1234","iat":1700000000,"exp":1700003600}, et le troisième reste la signature opaque. Le décodeur convertit les valeurs numériques iat et exp en dates locales et, tant que le token est encore actif, affiche le temps restant avant son expiration.
Remarques et cas particuliers
Décoder n'est pas vérifier. Cet outil ne confronte jamais la signature à une clé secrète ou publique : un token décodé prouve seulement ce qu'il affirme, pas que ces affirmations sont dignes de confiance. Vérifiez toujours la signature côté serveur avec une bibliothèque appropriée avant d'agir sur un token. Comme le payload n'est qu'encodé en Base64URL, considérez son contenu comme lisible par quiconque détient le token, car il n'est pas chiffré. Pour la même raison, évitez de coller des tokens de production réels qui ne vous appartiennent pas, et gardez à l'esprit que exp et nbf sont des horodatages Unix en secondes — d'où le fait qu'un token apparaît comme expiré à l'instant précis où son exp est dépassé.