Ce que montre un décodeur JWT
Un JSON Web Token, ou JWT, est un format de jeton compact couramment utilisé pour l'authentification, l'autorisation, les sessions API et les workflows d'identité. Un JWT comporte généralement trois parties séparées par des points : un header, un payload et une signature. Le header et le payload sont des JSON encodés en base64url, ce qui signifie qu'ils peuvent être décodés et lus sans clé secrète.
Ce décodeur JWT est axé sur l'inspection. Il met en forme le header et le payload, extrait les claims courants, affiche les segments bruts et explique les claims basés sur le temps tels que iat, nbf, et exp. Cela est utile lors du débogage des flux de connexion, des appels API, des environnements de test, des intégrations OAuth ou des problèmes de durée de vie des jetons.
- Lire l'algorithme du jeton et le type depuis le header.
- Inspecter l'issuer, le subject, l'audience et les claims personnalisés du payload.
- Convertir les claims NumericDate en dates lisibles.
- Copier le header décodé, le payload décodé ou les segments bruts du jeton.
Le décodage n'est pas une vérification
Décoder un JWT vous indique ce que dit le jeton. Cela ne prouve pas qui l'a créé, si le payload a été modifié, si la signature correspond, ni si votre application doit l'accepter. La vérification de la signature nécessite le secret correct, la clé publique ou la configuration JWKS et doit correspondre à l'algorithme attendu par l'application.
La partie signature est différente du header et du payload. C'est une valeur cryptographique sur le header et le payload encodés, pas un autre objet JSON à décoder. Cette page affiche la signature dans la sortie des segments bruts lorsqu'elle existe, mais elle ne demande pas les clés de signature et ne vérifie pas la valeur.
Considérez cette page comme un inspecteur, pas comme une autorité. Un jeton décodé peut toujours être faux, expiré, non signé, signé avec une clé inattendue ou rejeté par le service qui l'a émis.
Claims JWT courants
| Claim | Meaning | Usage typique |
|---|---|---|
iss | Issuer | Le service ou le fournisseur d'identité qui a émis le jeton. |
sub | Subject | L'utilisateur, le compte, le client ou l'entité dont traite le jeton. |
aud | Audience | L'API, l'application ou le service qui doit recevoir le jeton. |
iat | Issued at | Moment de la création du jeton. |
nbf | Not before | Le jeton ne doit pas être accepté avant cette heure. |
exp | Expires at | Le jeton ne doit pas être accepté après cette heure. |
Bonnes pratiques de débogage
- Utilisez des jetons de test autant que possible plutôt que des jetons d'utilisateurs en production.
- Ne collez pas de secrets de signature, de clés privées ou d'identifiants API dans un décodeur.
- Vérifiez que l'algorithme est celui attendu par votre application.
- Compare
issandaudcomparez le issuer et l'audience avec le service que vous déboguez. - N'oubliez pas que l'heure du navigateur et celle du serveur peuvent différer lors du débogage des problèmes d'expiration.
Outils locaux associés
- Utilisez le Base64 Encoder Decoder lorsque vous devez inspecter des chaînes base64 ordinaires. Les JWT utilisent base64url, donc ce décodeur JWT reste l'outil le plus sûr pour les jetons complets.
- Utilisez le JSON Beautifier lorsque vous souhaitez mettre en forme des objets payload copiés en dehors du contexte du jeton.
- Utilisez le Unix Timestamp Converter lorsque vous avez besoin d'une vérification dédiée des timestamps pour des valeurs NumericDate telles que
iat,nbf, ouexp.
Questions fréquemment posées
Ce décodeur JWT vérifie-t-il les signatures ?
Non. Il décode le header et le payload afin que vous puissiez les inspecter, mais il ne vérifie pas la signature ni ne prouve que le jeton est fiable. La vérification nécessite le secret de l'émetteur, la clé publique ou la configuration JWKS. La signature n'est pas affichée comme un panneau JSON décodé car c'est une valeur cryptographique, pas des données de claims lisibles ; cet outil l'affiche uniquement dans la sortie des segments bruts.
Tout le monde peut-il décoder un JWT ?
Oui, le header et le payload sont encodés, pas chiffrés, sauf si votre système utilise un format de jeton chiffré distinct. Ne mettez pas de secrets dans les payloads JWT.
Que signifie un JWT expiré ?
Si le exp claim est dans le passé, un serveur devrait normalement rejeter le jeton. Cette page peut afficher le timestamp, mais le serveur reste l'autorité finale.
Pourquoi l'outil accepte-t-il un préfixe Bearer ?
Les développeurs copient souvent des jetons depuis un en-tête Authorization: Bearer .... L'outil supprime le préfixe avant de décoder le corps du jeton. Authorization: Bearer ... L'outil supprime le préfixe avant de décoder le corps du jeton.