Lire le header et le payload d’un JWT pour le diagnostic tout en rappelant qu’un décodage ne valide jamais la signature.
Avant de commencer
Travaillez sur une copie ou un test contrôlé lorsque l’action peut affecter la production. Conservez les horodatages, captures et l’ancienne configuration afin de comparer le résultat.
Étapes
- Supprimer ou masquer le token des tickets et captures publiques.
- Coller le JWT dans le Décodeur JWT BAOI, qui fonctionne localement.
- Contrôler alg, kid, iss, aud, exp, nbf et les claims utiles.
- Comparer l’émetteur et l’audience avec la configuration de l’application.
- Pour une décision de sécurité, vérifier ensuite cryptographiquement la signature côté application.
Validation
Rejouez le test initial après la modification et confirmez que le service attendu fonctionne sans créer de nouvelle régression. Documentez l’état final.
JSON / JWT : syntaxe valide ne signifie pas donnée fiable
Repères techniques
- JSON impose guillemets doubles pour les chaînes/clés et n’autorise ni commentaires ni virgule finale dans la syntaxe standard.
- Un JWT est trois segments base64url header.payload.signature ; décoder header/payload ne vérifie absolument pas la signature.
- Les claims exp, nbf, iss et aud doivent être interprétés dans le contexte de l’émetteur et de la clé utilisée.
Exemple JWT
Décoder localement uniquement pour inspection ; ne jamais coller un token réel dans un service tiers.
header.payload.signature
# Base64URL != Base64 standard : -/_ et padding peuvent différerPièges spécifiques
- Un JSON bien formaté peut rester sémantiquement faux pour l’API attendue.
- Lire alg=none ou un alg inattendu sans vérifier la politique de validation est un signal de sécurité.
Comment valider
- Le JSON est validé par le parseur et, si disponible, par le schéma attendu.
- Le JWT n’est considéré valide qu’après vérification cryptographique, issuer, audience et temporal claims.
Preuves et vérifications
JSON impose guillemets doubles pour les chaînes/clés et n’autorise ni commentaires ni virgule finale dans la syntaxe standard. Un JWT est trois segments base64url header.payload.signature ; décoder header/payload ne vérifie absolument pas la signature.
Contrôle de résultat
Le JSON est validé par le parseur et, si disponible, par le schéma attendu. Le JWT n’est considéré valide qu’après vérification cryptographique, issuer, audience et temporal claims.
Point d’attention
Un JSON bien formaté peut rester sémantiquement faux pour l’API attendue. Les claims exp, nbf, iss et aud doivent être interprétés dans le contexte de l’émetteur et de la clé utilisée.
Concepts liés
Référence primaire : RFC 7519 — JSON Web Token.