Vous récupérez un JWT dans un en-tête de requête ou un fichier journal. C'est une longue chaîne séparée par des points qui ne signifie rien à l'œil humain. Vous devez vérifier la claim d'expiration, valider l'émetteur, ou voir quels scopes sont intégrés. Alors vous ouvrez jwt.io, collez le jeton, et lisez le payload décodé dans le panneau de droite.
Ce flux de travail pose un problème : vous venez d'envoyer un jeton d'authentification actif sur le réseau vers un site que vous ne contrôlez pas. Les payloads JWT contiennent souvent des identifiants utilisateur, des adresses e-mail, des rôles et des permissions. Le jeton lui-même peut encore être valide. Même si jwt.io est digne de confiance, la politique de sécurité de votre entreprise pourrait ne pas être du même avis.
Ce que contient réellement un JWT
Un JSON Web Token comporte trois parties séparées par des points : un en-tête (algorithme et type), un payload (les claims — expiration, émetteur, sujet, données personnalisées), et une signature. L'en-tête et le payload sont simplement du JSON encodé en Base64url. Vous n'avez besoin ni d'un serveur ni d'une bibliothèque spéciale pour les lire — vous avez besoin d'un décodeur Base64 et d'un formateur JSON. Mais faire cela manuellement dans Terminal à chaque fois est fastidieux.
Décoder des JWT localement sur votre Mac
Bellows inclut un décodeur JWT dédié qui sépare le jeton en ses trois parties et affiche l'en-tête et le payload décodés sous forme de JSON formaté. Collez le jeton, voyez les claims. Aucune requête réseau, aucun serveur tiers, aucun risque de divulguer un jeton actif.
Sensible au presse-papiers
Copiez un JWT depuis les outils de développement de votre navigateur, un fichier journal, ou un message Slack. Ouvrez Bellows et il détecte le format du jeton sur votre presse-papiers, suggérant immédiatement le décodeur JWT. Le payload décodé apparaît en une seule étape.
Vérifier l'expiration en un coup d'œil
La raison la plus courante de décoder un JWT est de vérifier s'il a expiré. La claim exp est un horodatage Unix — facile pour les machines, dénué de sens pour les humains. Voir le payload décodé permet de lire rapidement l'expiration aux côtés d'autres claims comme iss, sub et aud sans avoir à convertir les horodatages de tête.
Partie d'une boîte à outils plus vaste
Le décodage JWT mène souvent à des tâches connexes : décoder une valeur Base64 à l'intérieur d'une claim, hacher une chaîne pour la comparer à une empreinte, ou décoder une URL de redirection stockée dans le payload. Avec 41 outils disponibles dans la même application, ces tâches complémentaires ne nécessitent pas de changer d'utilitaire.