Guide complet de notre décodeur de JSON Web Tokens (JWT)
Bienvenue dans notre décodeur JWT sécurisé et côté client. Cet outil en ligne gratuit est un utilitaire essentiel pour tout développeur, professionnel de la sécurité ou personne travaillant avec des systèmes d'authentification modernes. Il vous permet de décoder des JWT (JSON Web Tokens) instantanément et d'inspecter leur contenu dans un format propre et lisible par l'homme. Collez simplement votre jeton dans la zone de texte et notre outil analysera l'en-tête et la charge utile, en les affichant sous forme de JSON formaté.
La caractéristique la plus importante de ce décodeur JWT en ligne est sa sécurité. Tout le décodage et le traitement se déroulent à 100 % dans votre navigateur. Vos jetons ne sont jamais envoyés à notre serveur. Cette approche côté client garantit que vos informations sensibles, telles que les jetons d'authentification, les clés API ou les données utilisateur privées, restent complètement confidentielles. Vous pouvez déboguer n'importe quel jeton JWT en toute confiance.
Qu'est-ce qu'un JSON Web Token (JWT) ?
Un JSON Web Token (JWT) est une norme ouverte compacte et sécurisée pour les URL (définie par la RFC 7519) utilisée pour transmettre des informations de manière sécurisée entre les parties sous forme d'objet JSON. Parce que ces informations sont signées numériquement, elles peuvent être vérifiées et sont dignes de confiance. Les JWT sont sans état (stateless) et autonomes, ce qui signifie que toutes les informations nécessaires pour authentifier un utilisateur sont contenues dans le jeton lui-même. Cela en fait un choix extrêmement populaire pour les applications web et mobiles modernes, en particulier pour gérer l'authentification et l'échange d'informations.
Vous pouvez facilement identifier un JWT par sa structure en trois parties, chaque partie étant séparée par un point (.) : header.payload.signature.
Les trois parties d'un JWT expliquées
Lorsque vous utilisez notre décodeur JWT, vous visualisez les versions décodées des deux premières parties du jeton.
1. L'en-tête (Métadonnées)
La première partie du jeton est l'en-tête JWT. C'est un objet JSON encodé en Base64Url. Il se compose généralement de deux paires clé-valeur :
- typ (Type) : Déclare le type de jeton, qui est presque toujours "JWT".
- alg (Algorithme) : Spécifie l'algorithme de signature utilisé pour créer la signature. Les algorithmes courants incluent HS256 (HMAC avec SHA-256, un algorithme symétrique) et RS256 (RSA avec SHA-256, un algorithme asymétrique).
2. La charge utile (Revendications/Claims)
La deuxième partie du jeton est la charge utile ou Payload. Cette partie est également un objet JSON encodé en Base64Url et contient les "revendications" (claims). Les revendications sont des déclarations sur une entité (généralement l'utilisateur) et des données supplémentaires. Il existe trois types de revendications :
- Revendications enregistrées : Il s'agit d'un ensemble de revendications prédéfinies recommandées par la norme JWT pour assurer l'interopérabilité. Les revendications enregistrées courantes incluent iss (Émetteur), sub (Sujet), aud (Audience), exp (Temps d'expiration), nbf (Pas avant), iat (Émis à) et jti (ID JWT).
- Revendications publiques : Ce sont des revendications définies par ceux qui utilisent les JWT (comme Google ou Microsoft) et sont généralement enregistrées dans le registre IANA JSON Web Token.
- Revendications privées : Ce sont des revendications personnalisées créées pour partager des informations entre les parties qui acceptent de les utiliser. Par exemple, vous pouvez ajouter {"role"
Notre visualiseur de claims JWT facilite l'inspection de toutes ces revendications en un coup d'œil.
3. La signature
La troisième partie du jeton est la signature JWT. Elle est créée en prenant l'en-tête encodé, la charge utile encodée, une clé secrète (ou clé privée pour les algorithmes asymétriques) et en les passant par l'algorithme spécifié (alg).
Le but de la signature est de vérifier l'authenticité du jeton. Elle garantit que le jeton n'a pas été modifié pendant le transit. Si un attaquant change ne serait-ce qu'un seul caractère dans la charge utile, la signature ne sera plus valide. C'est pourquoi cet outil n'effectue pas et ne peut pas effectuer la validation de la signature ; cela nécessiterait la clé secrète, qui ne doit jamais être partagée ou collée dans un outil en ligne. Ce décodeur sert à inspecter les données (claims) à l'intérieur du jeton, pas à vérifier son authenticité.
Comment utiliser cet outil de décodage JWT
- Copiez votre jeton : Copiez la chaîne JWT complète (les trois parties) depuis votre application, le stockage local du navigateur ou la réponse de l'API.
- Collez le jeton : Collez le jeton dans la zone de texte en haut de la page. Vous pouvez également utiliser le bouton "Charger un Exemple" pour voir un jeton valide.
- Cliquez sur "Décoder le Token" : L'outil analysera instantanément le jeton.
- Inspectez les résultats : L'en-tête et la charge utile s'afficheront dans deux zones JSON distinctes et clairement formatées ci-dessous, vous permettant de lire facilement toutes les données et métadonnées.
- Effacer : Cliquez sur le bouton "Effacer" pour recommencer.
Scénarios de débogage courants
Un décodeur JWT est principalement un outil de débogage. Voici les problèmes courants que vous pouvez résoudre avec :
- Erreurs "Jeton expiré" : Collez le jeton et vérifiez la revendication exp. Comparez cet horodatage Unix avec l'heure actuelle pour voir si le jeton est effectivement expiré.
- Permission refusée : Décodez la charge utile pour vérifier la revendication de rôle, les portées (scopes) ou d'autres revendications personnalisées afin de vous assurer que l'utilisateur a les bonnes permissions.
- Utilisateur non trouvé : Inspectez la revendication sub (sujet) pour vous assurer que le bon ID utilisateur est envoyé à votre backend.
- Jeton non valide pour cette application : Vérifiez les revendications aud (audience) et iss (émetteur) pour vous assurer qu'elles correspondent à ce que votre serveur attend.
Outils de développement associés
Comme les JWT sont basés sur d'autres normes web, vous pourriez trouver ces outils utiles en conjonction avec notre décodeur :
- Formateur JSON : Si votre charge utile contient une chaîne JSON minifiée et imbriquée, vous pouvez la copier du décodeur et l'embellir ici.
- Encodeur / Décodeur Base64 : L'en-tête et la charge utile JWT sont encodés en Base64Url. Cet outil peut décoder n'importe quelle chaîne Base64.
- Convertisseur d'horodatage Unix : Utilisez-le pour convertir les revendications exp ou iat en une date lisible par l'homme.