Développement

Décodeur JWT

Lisez l’en-tête, la charge utile et les dates d’un JSON Web Token. Le jeton reste dans votre navigateur.

Signature non vérifiée : Ce décodeur lit seulement le contenu du jeton, que n’importe qui peut écrire ou modifier. Ne lui faites pas confiance : seul un serveur qui détient la clé peut vérifier la signature.

Collez le jeton complet. Un préfixe « Bearer », les guillemets et les retours à la ligne sont ignorés.

Le décodeur JWT affiche l’en-tête et la charge utile d’un JSON Web Token en JSON lisible, l’algorithme utilisé, un tableau des revendications avec les dates exp, iat et nbf en français et leur état (expiré, encore valide, pas encore valide), ainsi que le segment de signature brut. Il signale les jetons dont l’algorithme est « none » et explique les erreurs d’un jeton mal formé. Le jeton est décodé dans votre navigateur et n’est envoyé à aucun serveur ; la signature n’est pas vérifiée.

Questions fréquentes

Ce décodeur vérifie-t-il la signature du JWT ?

Non. Il lit seulement le contenu, qui est simplement encodé en Base64url et non chiffré : n’importe qui peut le lire ou le modifier. Seul un serveur qui connaît la clé (secret HS256 ou clé publique RS256, par exemple) peut vérifier qu’un jeton est authentique ; ne faites donc pas confiance aux informations affichées ici.

Que signifient exp, iat et nbf ?

Ce sont des revendications de date exprimées en secondes depuis le 1er janvier 1970 (RFC 7519) : exp est l’instant d’expiration, nbf (not before) l’instant à partir duquel le jeton est valide, et iat (issued at) l’instant d’émission. L’outil les convertit en dates françaises et indique si le jeton est expiré ou encore valide.

Que veut dire l’algorithme « none » ?

Un jeton avec alg = none n’a pas de signature : n’importe qui peut en fabriquer un. Un serveur ne doit jamais l’accepter comme preuve d’identité. L’outil affiche un avertissement dès qu’il en détecte un.

Pourquoi mon jeton est-il refusé ?

Un JWT contient trois segments séparés par des points (en-tête, charge utile, signature), chacun encodé en Base64url et les deux premiers contenant du JSON. L’outil indique le segment fautif : mauvais nombre de segments, caractères non valides, texte non UTF-8 ou JSON incorrect. Un jeton à cinq segments est un JWE chiffré, qui ne peut pas être décodé sans clé.

Mon jeton est-il envoyé quelque part ?

Non, le décodage se fait entièrement dans votre navigateur. Évitez malgré tout de coller des jetons de production encore valides dans n’importe quel outil en ligne : un jeton valide donne accès à un compte.

Articles liés

Autres outils