Espace de travail
Encodeur / décodeur JWT
Entrée
Décodez des JWT, consultez leurs claims, vérifiez les signatures HMAC et générez des jetons de test signés en HS256, HS384 ou HS512.
Entrée
Résultat
Chargement de l’outil
Outils pour développeurs
Encodeur / décodeur JWT
Un JSON Web Token (JWT) est un format compact qui permet de transférer des informations entre systèmes, notamment dans les applications Web et les API. Un JWT contient un en-tête, une charge utile et une signature séparés par des points.
Utilisez cet encodeur / décodeur JWT pour inspecter le contenu d’un jeton, vérifier une signature HMAC avec son secret ou générer un jeton signé pour vos tests. Il prend en charge HS256, HS384 et HS512. Le traitement s’effectue dans votre navigateur.
Le décodage ne prouve pas l’authenticité d’un jeton. Considérez les données décodées comme non fiables tant que la signature n’a pas été vérifiée avec le bon secret.
Guide rapide
Mode d’emploi
- Décoder : collez un JWT compact pour examiner son en-tête, sa charge utile, sa signature, ses claims reconnus et les dates lisibles des claims temporels pris en charge.
- Vérifier : fournissez un jeton HMAC et son secret. L’outil vérifie la signature avec l’algorithme déclaré dans le jeton.
- Encoder : modifiez l’en-tête et la charge utile JSON, choisissez HS256, HS384 ou HS512, saisissez un secret de test et générez un jeton signé.
- Utilisez le jeton d’exemple pour découvrir l’outil, copiez les résultats nécessaires ou effacez les champs lorsque vous avez terminé.
Détails
À propos de cet outil
Encodeur / décodeur JWT
Un JSON Web Token (JWT) est un format compact souvent utilisé pour transmettre des claims entre systèmes. Un jeton compact comprend trois parties : en-tête.charge utile.signature. Cet outil peut décoder un jeton, vérifier des signatures HMAC et générer des jetons signés pour le développement et les tests. Le traitement a lieu dans votre navigateur ; l’outil n’enregistre pas les champs saisis.
Les trois parties d’un JWT
L’en-tête contient des métadonnées du jeton, généralement son type et son algorithme de signature. La charge utile contient des claims : des informations sur le jeton ou son sujet. La signature sert à vérifier que l’en-tête et la charge utile encodés ont été signés avec le secret attendu et n’ont pas été modifiés. L’en-tête et la charge utile sont encodés en Base64URL, pas chiffrés. Toute personne disposant du jeton peut généralement les décoder : ne placez donc pas de mots de passe, secrets d’API, clés privées, identifiants ou données personnelles sensibles dans une charge utile JWT classique.
Décoder ou vérifier
Le décodage indique quelles informations sont encodées dans un jeton. La vérification contrôle si sa signature HMAC correspond aux données du jeton et au secret fourni. Un jeton peut être décodé même si sa signature est invalide, si son secret est inconnu, si son contenu a été modifié ou s’il a expiré. Lisible ne signifie pas fiable. Même une signature valide ne décide pas si une application doit autoriser un utilisateur ou accepter un émetteur, une audience, un rôle ou un claim particulier.
Claims JWT et dates
Les claims enregistrés courants comprennent iss (émetteur), sub (sujet), aud (audience prévue), exp (expiration), nbf (date de validité), iat (date d’émission) et jti (identifiant du jeton). Les claims exp, nbf et iat contiennent souvent des horodatages Unix en secondes. Le décodeur présente les dates numériques prises en charge sous une forme lisible. L’application qui utilise le jeton reste responsable de l’interprétation et de l’application de ces claims.
Vérifier les signatures HMAC
Le vérificateur prend en charge HS256, HS384 et HS512, qui utilisent respectivement HMAC avec SHA-256, SHA-384 et SHA-512, ainsi qu’un secret partagé. L’outil utilise l’algorithme déclaré dans l’en-tête et compare la signature calculée à celle du JWT. Un résultat valide signifie que la signature correspond au secret et aux données fournis. Il ne confirme pas les autorisations et ne valide pas tous les claims. La vérification RSA ou ECDSA à clé publique/privée, comme RS256 ou ES256, n’est pas prise en charge.
Générer un JWT signé
En mode Encoder, modifiez l’en-tête et la charge utile JSON, choisissez HS256, HS384 ou HS512 et saisissez un secret pour créer un jeton compact signé. Utilisez des jetons et secrets de test pour le développement. Générer un JWT signé ne rend pas ses claims appropriés ni sûrs pour la production.
Utiliser les JWT avec prudence
Décoder n’est pas vérifier, et vérifier n’est pas autoriser. Utilisez des secrets de test ou de développement pour les essais dans le navigateur et évitez de saisir des identifiants de production. Les charges utiles JWT sont généralement encodées, pas chiffrées : leur contenu est donc lisible par toute personne qui obtient le jeton. Votre application doit vérifier séparément les claims et autorisations avant d’accorder l’accès.
Décoder l’en-tête et la charge utile JWT
Collez un JWT compact pour examiner son en-tête, sa charge utile, sa signature, ses claims enregistrés et les dates lisibles prises en charge.
Vérifier les signatures HMAC JWT
Vérifiez une signature avec HS256, HS384 ou HS512 et le secret utilisé pour signer le jeton. La vérification porte sur la signature, pas sur les autorisations de l’application.
Générer des JWT signés
Modifiez l’en-tête et la charge utile JSON, choisissez un algorithme HMAC, fournissez un secret et créez un jeton signé pour les tests.
Comprendre les claims JWT en toute sécurité
Examinez des claims comme iss, sub, aud, exp, nbf, iat et jti. Le décodage ne vérifie pas l’authenticité et les charges utiles JWT ne sont pas chiffrées.
Entrées pratiques
Exemples de l’encodeur / décodeur JWT
Décoder un JWT compact
Collez un JWT compact en mode Décoder.
Examinez l’en-tête, la charge utile, la signature et les claims reconnus.
Vérifier une signature HMAC
JWT et secret HMAC correspondant.
Vérifiez si la signature correspond en HS256, HS384 ou HS512.
Générer un jeton signé
En-tête JSON, charge utile JSON, algorithme et secret de test.
Un JWT compact signé pour le développement ou les tests.
Lire un claim de date
Un jeton avec un claim exp, nbf ou iat numérique.
Le décodeur présente l’horodatage pris en charge sous forme de date lisible.
Aide
Questions fréquentes
Qu’est-ce qu’un JWT ?
JWT signifie JSON Web Token. C’est un format compact comprenant un en-tête, une charge utile et une signature, souvent utilisé pour transmettre des claims entre systèmes.
Quelles sont les trois parties d’un JWT ?
Un JWT compact comprend un en-tête, une charge utile et une signature séparés par des points : en-tête.charge utile.signature.
Puis-je décoder un JWT sans secret ?
Oui. L’en-tête et la charge utile d’un JWT standard sont encodés en Base64URL et peuvent être décodés sans le secret. Cela ne vérifie pas le jeton.
Le décodage d’un JWT vérifie-t-il sa signature ?
Non. Le décodage rend le contenu encodé lisible. La vérification de signature est une opération distincte qui utilise le secret HMAC approprié.
Quels algorithmes JWT l’outil prend-il en charge ?
Les fonctions de vérification et d’encodage prennent en charge les algorithmes HMAC HS256, HS384 et HS512.
L’outil prend-il en charge RS256 ou ES256 ?
Non. Il prend en charge les signatures HMAC HS256, HS384 et HS512, mais pas la vérification RSA ou ECDSA par clé publique/privée.
Que signifie le claim exp ?
Le claim exp représente l’expiration du JWT et utilise souvent un horodatage Unix en secondes. L’application qui consomme le jeton doit l’appliquer.
Puis-je générer un JWT signé ?
Oui. En mode Encoder, modifiez l’en-tête et la charge utile, choisissez HS256, HS384 ou HS512, saisissez un secret et générez un jeton signé.
Les charges utiles JWT sont-elles chiffrées ?
Non. Les en-têtes et charges utiles JWT standard sont encodés, pas chiffrés. N’y stockez pas de mots de passe, secrets ou données sensibles.
Une signature JWT valide prouve-t-elle qu’un utilisateur est autorisé ?
Non. La vérification contrôle la signature HMAC avec le secret fourni. L’application doit déterminer séparément si les claims et autorisations sont acceptables.
Mes champs de jeton sont-ils enregistrés ?
L’outil traite les JWT dans votre navigateur et n’enregistre pas les champs saisis. Utilisez tout de même des secrets de test et évitez d’exposer des identifiants de production.