Décodeur de jetons JWT
Décodez vos jetons JWT pour consulter l'en-tête, le payload et vérifier la date d'expiration.
La signature n'est pas vérifiée. L'outil décode seulement le jeton : ne faites pas confiance aux données sans vérification.
Instructions
- Collez le jeton JWT dans le champ de saisie.
- Le header et le payload sont décodés automatiquement.
- Les champs exp, iat, nbf et alg sont vérifiés.
Повний опис
Qu'est-ce que cet outil
Les jetons JWT sont désormais utilisés partout. Ils assurent l'autorisation dans les applications web, les applications mobiles et les microservices. Si vous avez déjà vu une longue chaîne de caractères composée de trois parties séparées par des points, vous avez manipulé un tel jeton. Le problème est que cette chaîne ressemble à une suite de symboles aléatoires, et il est impossible de comprendre son contenu sans un outil spécifique.
Le décodeur JWT répond précisément à ce besoin. Il prend le jeton encodé, le décompose en ses éléments constitutifs et affiche le contenu dans un format lisible. Vous voyez ainsi immédiatement qui a émis le jeton, à qui il est destiné, quand il a été créé et quand il expire. C'est indispensable pour les développeurs lors du débogage de l'autorisation, pour les testeurs qui vérifient des API, ou pour toute personne analysant des intégrations tierces ou des problèmes d'accès.
Il est important de noter que cet outil ne vérifie pas la signature. Il se contente de décoder le contenu du jeton, ce qui permet de consulter rapidement les données qu'il contient. Pour une vérification complète de l'authenticité du jeton, un outil distinct, un débogueur JWT, est nécessaire, mais pour une simple lecture du contenu, ceci est amplement suffisant.
Fonctionnalités
- Décodage de n'importe quel jeton JWT composé de trois parties séparées par des points, sans configuration préalable.
- Formatage automatique du header et du payload sous forme de JSON lisible pour faciliter l'analyse.
- Conversion des horodatages
exp,iatetnbfen formats familiers. Au lieu d'un nombre abstrait, vous voyez la date et l'heure au format ISO et dans votre fuseau horaire local. - Affichage du statut du jeton : s'il est valide actuellement, s'il a expiré ou s'il n'est pas encore actif en raison d'un
nbffutur. - Copie séparée du header et du payload dans le presse-papiers. Pratique pour insérer seulement une partie du jeton dans une documentation ou un autre outil.
- Traitement local complet des données : le jeton n'est envoyé nulle part, vous pouvez donc travailler avec des jetons sensibles sans risque d'interception.
Comment l'utiliser
C'est très simple, et c'est là le principal avantage de ce décodeur JWT. Vous n'avez rien à installer ni à configurer. Ouvrez la page de l'outil, collez le jeton dans le champ de saisie et cliquez sur le bouton «Décoder». Le contenu analysé apparaît alors sur la partie droite de l'écran pour une analyse immédiate.
Voici la marche à suivre étape par étape. Tout d'abord, copiez l'intégralité de votre jeton. Il doit ressembler à trois ensembles de caractères séparés par des points, par exemple : eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.some_signature. Collez-le dans le champ de saisie sans espaces superflus ni retours à la ligne. Cliquez sur «Décoder». Deux blocs apparaîtront à droite : le header et le payload. Dans chacun d'eux, le JSON est formaté pour une lecture aisée.
Portez une attention particulière au bloc des claims, il est particulièrement utile. Si le jeton contient les champs exp (date d'expiration), iat (date d'émission) ou nbf (date avant laquelle le jeton n'est pas valide), ils seront affichés dans deux formats. Cela évite d'avoir à convertir manuellement les timestamps Unix en dates.
Pour les champs exp et nbf, un statut est affiché séparément. Si le jeton a expiré, vous verrez un avertissement correspondant. S'il n'est pas encore activé, l'outil vous en informera également. Cela permet de comprendre rapidement pourquoi un jeton ne fonctionne pas sans avoir à analyser des chiffres.
Après le décodage, vous pouvez utiliser les boutons «Copier le header» et «Copier le payload». Ils copient les parties correspondantes dans le presse-papiers séparément. C'est utile pour transmettre uniquement le payload à un collègue ou conserver le header pour analyser l'algorithme de signature.
Scénarios typiques
Cet outil est le plus souvent utilisé pour le débogage de l'autorisation. Vous travaillez avec une API, vous recevez un jeton du serveur, mais un endpoint renvoie une erreur 401. Que faire ? Collez le jeton dans le décodeur JWT, vérifiez la date d'expiration et assurez-vous que les bons claims sont transmis. Il s'avérera peut-être que le jeton a expiré ou qu'il manque un rôle requis. Cela fait gagner un temps précieux car l'erreur devient évidente.
Deuxième scénario : vérification d'un jeton avant son utilisation dans des tests. Les testeurs reçoivent souvent des jetons de diverses sources sans toujours en connaître le contenu. Le décodeur permet de comprendre ce qui est chiffré, quels droits sont accordés à l'utilisateur, et ainsi de planifier les scénarios de test. On peut ainsi voir si le jeton appartient à un administrateur et préparer des tests pour vérifier les restrictions d'accès.
Troisième scénario, moins évident : analyse d'un jeton tiers lors d'une intégration. Par exemple, un service externe vous transmet un JWT, mais vous ne comprenez pas totalement les données qu'il contient. Le décodage permet de voir la structure, d'identifier les champs utilisés et de configurer correctement votre système pour les traiter. C'est particulièrement pertinent lors de la mise en place de SSO ou d'autres systèmes d'authentification unique où les jetons proviennent de différents fournisseurs.
Conseils et erreurs courantes
Avant de coller le jeton, supprimez tous les caractères superflus. Les espaces, les retours à la ligne ou les guillemets peuvent empêcher l'analyse. Le mieux est de copier le jeton directement depuis la réponse du serveur ou depuis le localStorage du navigateur. Si le jeton ne se décode pas, vérifiez qu'il s'agit bien d'un JWT. Il doit toujours y avoir trois parties séparées par des points. S'il y en a moins ou plus, vous avez peut-être copié une chaîne incomplète ou inclus du texte inutile.
Rappelez-vous que le décodeur JWT ne vérifie pas la signature. Il décode simplement le Base64URL, qui est facile à inverser. Cela signifie que vous pouvez décoder n'importe quel jeton, même s'il est invalide. Ne faites donc pas confiance au contenu d'un jeton sans vérification supplémentaire. Pour garantir l'authenticité, utilisez un outil qui vérifie la signature à l'aide d'un secret ou d'une clé publique.
Faites attention aux fuseaux horaires. L'outil affiche l'heure dans deux formats : ISO et local. L'heure locale dépend de votre navigateur. Si vous transmettez des informations sur la validité d'un jeton à un collègue dans un autre fuseau horaire, privilégiez le format ISO pour éviter toute confusion.
Autre conseil pratique : utilisez les boutons de copie pour sauvegarder les parties analysées. C'est plus simple que la sélection manuelle, surtout pour les jetons volumineux. Le JSON sauvegardé peut être ajouté directement dans un ticket ou un message pour discuter de claims spécifiques avec vos collègues.
Enfin, n'oubliez pas la confidentialité. Bien que l'outil traite les données localement, gardez à l'esprit que les jetons peuvent contenir des informations sensibles. Évitez d'insérer des JWT de services de production dans des outils en ligne tiers sans nécessité, surtout s'ils fonctionnent via un serveur. Ici, vous pouvez travailler sereinement, même avec des jetons contenant des données personnelles, car rien n'est envoyé vers l'extérieur.