Décodeur JWT
Décoder et examiner des JSON Web Tokens avec des explications sur les revendications
Essayer un exemple
Collez un JWT pour inspecter son en-tête, ses claims et sa signature.
Signature non vérifiée. Le décodage n’établit pas qu’un jeton est authentique ou fiable.
Validité du jeton
—
- Algorithme
- —
- Émis le
- —
- Valide à partir de
- —
- Expire le
- —
Claims enregistrés
À propos du Décodeur JWT
Le Décodeur JWT est un outil en ligne gratuit qui décode instantanément n’importe quel JSON Web Token en ses trois parties : l’en-tête (Header), la charge utile (Payload) et la signature (Signature). Les JSON Web Tokens (JWT) sont un standard ouvert (RFC 7519) servant à transmettre de manière sécurisée des informations entre des parties sous la forme d’objets JSON compacts et autonomes. Ils sont au cœur de l’authentification et de l’autorisation modernes dans les applications web, les API et les microservices.
Chaque JWT se compose de trois segments encodés en Base64URL, séparés par des points. L’en-tête indique l’algorithme de signature (comme HS256 ou RS256) et le type de jeton. La charge utile contient des claims, c’est-à-dire des paires clé-valeur portant des données utilisateur, des permissions, des durées d’expiration et d’autres métadonnées. La signature garantit que le jeton n’a pas été altéré et ne peut être vérifiée qu’avec le bon secret ou la bonne clé publique.
Cet outil décode les JWT entièrement dans votre navigateur, sans aller-retour avec un serveur : vos jetons ne sont donc jamais transmis ni stockés à l’extérieur. Il vérifie aussi l’état d’expiration, met les horodatages sous forme de dates lisibles et fournit des explications sur les claims enregistrés standard comme iss, sub, aud, exp, iat et nbf.
Fonctionnalités principales
- Décodage instantané de n’importe quel JWT en sections En-tête, Charge utile et Signature
- Vérification automatique de l’expiration avec un bandeau d’état clair : « Jeton non expiré », « Jeton pas encore actif » ou « Jeton expiré »
- Mise en forme lisible des horodatages Unix (exp, iat, nbf) avec affichage du fuseau horaire
- Explications pour tous les claims enregistrés standard (iss, sub, aud, exp, nbf, iat, jti)
- Boutons de copie en un clic pour l’en-tête, la charge utile et la signature, séparément
- Décodage en temps réel pendant la saisie ou le collage, avec une saisie temporisée
- Sections codées par couleur : bleu pour l’en-tête, violet pour la charge utile, orange pour la signature
- Badge de l’algorithme (HS256, RS256, ES256, etc.) affiché de façon bien visible dans le bandeau d’état
- Jeton d’exemple fourni pour des tests et des démonstrations rapides
- Traitement 100 % côté client, sans aucune donnée envoyée à un serveur
Mode d’emploi
- Coller votre JWT : Copiez un JSON Web Token depuis votre application, une réponse d’API, les outils de développement du navigateur ou votre système d’authentification, puis collez-le dans le champ de saisie.
- Afficher les sections décodées : L’outil découpe instantanément le jeton en En-tête, Charge utile et Signature, et affiche chacun dans un panneau formaté et codé par couleur.
- Vérifier l’expiration : Un bandeau d’état en haut indique si le jeton est toujours valide ou s’il a expiré, avec la date d’expiration exacte et un compte à rebours.
- Lire les explications des claims : Les claims enregistrés standard comme iss, sub, exp et iat sont annotés de descriptions pour que vous compreniez le sens de chaque champ.
- Copier des sections : Utilisez le bouton de copie de n’importe quelle section pour copier le JSON formaté dans votre presse-papiers, pour la documentation ou le débogage.
- Essayer un exemple : Cliquez sur le bouton « Jeton d’exemple » pour charger un JWT prédéfini et voir comment fonctionne le décodeur avant de coller vos propres jetons.
Cas d’usage
- Débogage de l’authentification : Inspectez rapidement les JWT renvoyés par votre serveur d’authentification pour vérifier que les claims, les rôles et les permissions sont correctement définis.
- Développement d’API : Décodez les jetons d’accès lors d’une intégration d’API pour confirmer que la charge utile contient l’ID utilisateur, les scopes et la durée d’expiration attendus.
- Audit de sécurité : Examinez les jetons à la recherche d’expositions de données sensibles, d’algorithmes faibles (comme « none ») ou de durées d’expiration excessivement longues.
- Apprentissage et formation : Comprenez la structure d’un JWT en décodant des jetons d’exemple et en lisant les descriptions annotées des claims fournies par l’outil.
- Dépannage de l’expiration des jetons : Déterminez si des échecs d’authentification sont dus à des jetons expirés en comparant le claim exp à l’heure actuelle.
- Débogage de microservices : Inspectez les jetons échangés entre services pour vérifier que les services en amont émettent des JWT correctement structurés, avec les bons claims.
- Validation des flux OAuth : Décodez les jetons d’identité et les jetons d’accès issus des flux OAuth 2.0 et OpenID Connect pour vérifier l’émetteur, l’audience et les scopes.
- Documentation : Copiez le JSON décodé de l’en-tête et de la charge utile dans la documentation d’API ou des runbooks pour illustrer les structures de jetons attendues.
Questions fréquentes
Cet outil est-il gratuit ?
Oui. Le Décodeur JWT est entièrement gratuit : aucun compte requis, aucune limite d’utilisation et aucune publicité qui bloque les fonctionnalités.
Mes données sont-elles en sécurité ?
Absolument. Tout le décodage s’effectue entièrement dans votre navigateur en JavaScript. Votre JWT n’est jamais envoyé à un serveur, ce qui rend cet outil sûr pour inspecter des jetons de production.
Cet outil vérifie-t-il la signature du JWT ?
Non. La vérification de la signature nécessite la clé secrète (pour HMAC) ou la clé publique (pour RSA/ECDSA), ce qui ne peut pas être fait en toute sécurité dans un navigateur côté client. Utilisez des bibliothèques côté serveur pour valider la signature.
Quelle est la différence entre HS256 et RS256 ?
HS256 est un algorithme symétrique qui utilise un seul secret partagé pour la signature et la vérification. RS256 est un algorithme asymétrique qui utilise une clé privée pour signer et une clé publique pour vérifier, ce qui le rend idéal pour les systèmes distribués.
Puis-je décoder des JWT chiffrés (JWE) ?
Cet outil décode les JWT signés (JWS). Les JWT chiffrés (JWE) nécessitent une clé de déchiffrement et ne sont pas pris en charge par ce décodeur.
Pourquoi mon jeton est-il indiqué comme expiré ?
L’outil compare le claim exp (expiration) à l’heure actuelle de votre système. Si l’horodatage d’expiration est dans le passé, le jeton est marqué comme expiré. Vérifiez que l’horloge de votre système est exacte.
Astuces et bonnes pratiques
- Garder des jetons à courte durée de vie : Utilisez des durées d’expiration de 15 à 60 minutes pour les jetons d’accès et associez-les à des jetons d’actualisation sécurisés, en HTTP-only, pour assurer la continuité de la session.
- Ne jamais stocker de secrets dans la charge utile : Les JWT sont encodés, pas chiffrés. Toute personne disposant du jeton peut décoder la charge utile : n’y mettez donc jamais de mots de passe, de numéros de carte bancaire ni d’autres données sensibles.
- Toujours valider côté serveur : Décoder un JWT dans le navigateur est utile pour le débogage, mais vérifiez toujours la signature sur votre backend avant de faire confiance à un claim.
- Utiliser des algorithmes asymétriques pour les systèmes distribués : Choisissez RS256 ou ES256 lorsque plusieurs services doivent vérifier les jetons indépendamment, sans partager de clé secrète.
- Surveiller la taille des jetons : Les charges utiles volumineuses augmentent la taille des en-têtes de requête et peuvent ralentir les appels d’API. Limitez les claims au minimum et utilisez des références (comme des ID utilisateur) plutôt que d’intégrer des profils utilisateur complets.
- Renouveler régulièrement les clés de signature : Mettez en place des stratégies de rotation des clés avec le paramètre d’en-tête kid (Key ID) pour passer d’une clé de signature à une autre sans invalider tous les jetons existants.