·4 min de lecture

Décodeur JWT pour Mac — collez et inspectez

Coller des JWT sur jwt.io pour lire leurs claims fonctionne jusqu'à ce que vous réalisiez que vous venez d'envoyer un jeton valide à un site tiers.

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.

Bellows JWT decoder showing decoded header and payload on macOS

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.

Obtenez Bellows sur le Mac App Store

Article suivant

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store