Décodez n'importe quel JWT, vérifiez sa signature et signez de nouveaux jetons, le tout dans votre navigateur
Fonctionne dans votre navigateur. Rien de ce que vous saisissez n'est envoyé nulle part.Un JWT transporte ses claims en clair : quiconque détient le jeton peut les lire, car Base64 est un encodage et non un chiffrement. Cet outil décode les 3 parties, affiche l'expiration et vérifie ou signe un jeton en HS256, RS256 ou ES256. Le jeton ne quitte jamais votre navigateur.
Cette page a été traduite automatiquement à partir de l'original anglais. Aucune personne n’a encore relu la traduction : c’est la version anglaise qui fait foi. Lire l'original en anglais
Dans l'onglet "Décoder et vérifier", collez le jeton dans la zone Jeton encodé.
Lisez les volets En-tête, Payload et Claims expliqués qui apparaissent à côté.
Saisissez le secret, ou la clé publique en PEM ou JWK, dans le champ de clé et appuyez sur Vérifier.
Lisez le résultat : "Signature vérifiée" ou "Signature invalide".
Pour créer un jeton de test, ouvrez "Encoder et signer", choisissez l'Algorithme et l'expiration, ajoutez une clé et appuyez sur Signer le jeton.
Ce décodeur JWT lit n'importe quel JSON Web Token et affiche son en-tête, son payload et sa signature en trois parties de couleurs assorties. Chaque claim standard reçoit une ligne en langage clair, l'expiration devient une vraie date avec un badge "valide" ou "expiré", et vous pouvez vérifier la signature en HS256, HS384, HS512, RS256 ou ES256.
On s'en sert quand une connexion échoue soudain et qu'il faut savoir si le jeton a expiré ou a été émis pour une autre audience. C'est aussi le moyen le plus rapide de voir ce qu'une API tierce met réellement dans ses jetons d'accès avant d'écrire du code qui dépend d'un claim. L'onglet d'encodage couvre l'autre sens : quand vous construisez un flux d'authentification et avez besoin d'un jeton avec un sujet, une portée et une expiration précis pour tester votre propre service, vous pouvez modifier le JSON, choisir un algorithme, régler l'expiration et le signer avec un secret ou une paire de clés de test générée.
Tout s'exécute dans votre navigateur avec l'API WebCrypto. Les jetons, secrets et clés ne sont jamais envoyés ni enregistrés : vous pouvez coller de vrais jetons sans risque. Signer ici sert à tester vos propres systèmes ; les jetons de production doivent venir de votre serveur d'authentification, avec une clé que lui seul détient.
Appuyez sur Ctrl+Enter pour vérifier ou signer. L'outil Base64 décode un segment à la main, et Password Generator crée un secret aléatoire pour HS256.
Oui. Le décodage et la vérification s'exécutent dans votre navigateur avec JavaScript et l'API WebCrypto. Le jeton, le secret et toute clé saisie ne quittent jamais la page et ne sont pas enregistrés : un jeton de production reste privé. Considérez tout de même qu'un jeton de longue durée collé où que ce soit mérite d'être renouvelé.
Un JWT est signé, pas chiffré. L'en-tête et le payload sont du JSON simple encodé en Base64URL : quiconque détient le jeton peut les lire. Le secret ou la clé ne sert qu'à vérifier la signature, qui prouve que le jeton a été émis par le détenteur de cette clé et n'a pas été modifié.
Collez le jeton, choisissez l'algorithme indiqué dans l'en-tête (en général HS256 ou RS256), saisissez le secret partagé pour les algorithmes HS ou la clé publique PEM ou JWK pour RS256 et ES256, puis appuyez sur Vérifier ou Ctrl+Enter. Un badge vert signifie que la signature correspond ; un rouge, que la clé est fausse ou que le jeton a été modifié.
Regardez le badge à côté de Claims expliqués. Il indique Valide jusqu'au suivi d'une date quand le claim exp est dans le futur, Expiré avec depuis combien de temps sinon, et Pas valide avant quand un claim nbf n'est pas encore atteint. Les claims exp, iat et nbf sont aussi affichés en vraies dates avec des durées relatives.
Oui. Ouvrez l'onglet Encoder et signer, modifiez le JSON de l'en-tête et du payload, choisissez HS256, HS384, HS512, RS256 ou ES256, prenez une expiration prédéfinie comme 1 heure ou 30 jours, et signez avec un secret ou une clé privée. Générer une paire de clés de test crée une paire de clés PEM dans le navigateur pour RS256 ou ES256.
HS256, HS384 et HS512 avec un secret partagé, et RS256 et ES256 avec une paire de clés. Les jetons utilisant d'autres algorithmes se décodent quand même et affichent leurs claims ; seule la vérification de signature est limitée à ces cinq-là.
Toujours bloqué ? Poser une question sur Décodeur, vérificateur et encodeur JWT et toute personne qui connaît la réponse peut répondre. Aucun compte nécessaire.