Décodeur JWT
Collez un jeton JWT pour lire son en-tête et sa charge utile au format JSON. Les revendications d'horodatage s'affichent sous forme de dates UTC lisibles. Le décodage se fait dans votre navigateur.
Revendications d'horodatage (UTC)
- iat
- 2018-01-18T01:30:22.000Z
Comment l'utiliser
Collez un jeton JWT dans la zone. Un JWT est constitué de trois segments base64url séparés par des points — en-tête, charge utile et signature, dans cet ordre. L'outil divise le jeton sur les points et décode base64url les deux premiers segments en JSON lisible et formaté pour que vous puissiez les inspecter côte à côte. L'en-tête décrit comment le jeton a été produit : l'algorithme de signature, tel que HS256 ou RS256, et le type de jeton. La charge utile porte les revendications — les déclarations réelles que le jeton fait. Un jeton pour un utilisateur connecté nomme généralement un sujet (de qui parle le jeton), un émetteur (qui l'a créé) et une expiration, ainsi que toute revendication personnalisée que l'application a ajoutée. Les revendications d'horodatage sont celles que les gens mal comprennent le plus. Les revendications de temps standard — iat (émis à), exp (expire) et nbf (pas avant) — sont stockées en secondes depuis l'époque Unix, ce qui est illisible à première vue. L'outil convertit chacune d'elles en date UTC formatée, pour que vous puissiez immédiatement voir si un jeton a déjà expiré ou n'est pas encore valide. Le décodage n'est pas la vérification, et la différence est importante. Quiconque possède un JWT peut lire son en-tête et sa charge utile, car ces parties sont seulement encodées, pas chiffrées. Seule la signature — vérifiée par rapport à la clé de signature — prouve que le jeton est authentique et non altéré. Cet outil lit délibérément uniquement ; ne faites jamais confiance aux revendications d'un jeton décodé pour une décision de sécurité sans vérifier la signature sur votre serveur. Tout s'exécute entièrement dans votre navigateur, le jeton que vous collez n'est jamais téléchargé. Cela rend le décodeur sûr pour les tâches quotidiennes pour lesquelles il est conçu : déboguer un flux d'authentification, inspecter pourquoi une session a été rejetée ou vérifier exactement quelles revendications votre fournisseur d'identité émet.
Questions fréquemment posées
- Cela vérifie-t-il la signature ?
- Non. Il décode uniquement l'en-tête et la charge utile pour que vous puissiez les lire. Vérifier un JWT nécessite le secret de signature ou la clé publique, que cet outil ne demande jamais. Ne traitez pas un jeton décodé comme authentifié.
- Que sont exp, iat et nbf ?
- Ce sont des revendications de temps standard en secondes depuis l'époque Unix : iat (émis à), nbf (pas avant) et exp (expire). Cet outil les convertit en dates UTC pour vous.
- Mon jeton est-il envoyé quelque part ?
- Non. Le décodage s'exécute entièrement dans votre navigateur ; le jeton n'est jamais téléchargé. Néanmoins, évitez de coller des jetons de production dans tout outil en ligne.
- Pourquoi puis-je lire la charge utile sans mot de passe ?
- Parce qu'un JWT est encodé, pas chiffré. L'en-tête et la charge utile sont uniquement encodés en base64url — un format réversible que n'importe qui peut décoder — donc leur contenu est entièrement lisible sans aucune clé. La signature est la couche de sécurité : elle ne cache pas les données, elle prouve que les données n'ont pas été altérées. Pour cette raison, ne mettez jamais de secrets dans la charge utile d'un JWT ; traitez tout ce qui s'y trouve comme public.