Le décodage JWT est utilisé pour visualiser le contenu du jeton, aidant les développeurs à déboguer les problèmes d'authentification, analyser les autorisations utilisateur, vérifier les temps d'expiration et d'autres informations clés.
JWT est composé de trois parties : Header (en-tête), Payload (charge utile), Signature (signature), séparées par des points, les deux premières parties peuvent être directement décodées en Base64 pour visualisation.
L'en-tête contient le type de jeton (typ) et l'algorithme de signature (alg), comme '{"typ":"JWT","alg":"HS256"}', indiquant comment vérifier le jeton.
La charge utile contient des informations de déclaration, telles que l'ID utilisateur (sub), le temps d'expiration (exp), le temps d'émission (iat) et d'autres déclarations standard et données personnalisées.
Le champ exp représente le timestamp d'expiration, permettant de déterminer rapidement via le décodage si le jeton a expiré, évitant ainsi d'utiliser des jetons invalides pour les requêtes.
Le décodage affiche uniquement le contenu du jeton, sans vérifier la validité de la signature. En production, la signature doit également être vérifiée pour s'assurer que le jeton n'a pas été altéré.