Décodeur/débogueur de JWT
Décodez un token JWT pour inspecter son header et son payload, et vérifiez automatiquement s'il est expiré (exp) ou pas encore actif (nbf). Le décodage se fait entièrement dans votre navigateur — utile pour déboguer une session, sans jamais envoyer le token à un serveur.
⚠ Attention : la signature n'est PAS vérifiée. Cet outil décode le contenu du token et vérifie uniquement les dates exp/nbf déclarées dans le payload. Il ne prouve en aucun cas que le token est authentique ni qu'il n'a pas été modifié : la vérification cryptographique de la signature doit toujours être effectuée côté serveur, avec la clé secrète ou publique de l'émetteur.
Comment ça marche
Un JWT est composé de trois parties séparées par des points : header.payload.signature. Header et payload sont encodés en Base64URL — pas chiffrés — donc lisibles par n'importe qui sans clé. Au-delà du simple décodage, cet outil lit les claims standard exp (expiration) et nbf (« not before ») et les compare à l'heure actuelle de votre appareil pour indiquer immédiatement si le token serait accepté ou rejeté par un serveur qui respecte la norme JWT sur ce seul critère temporel.
Que signifient exactement exp et nbf ?
exp (expiration) est un timestamp Unix au-delà duquel le token doit être considéré comme expiré. nbf (« not before ») est un timestamp avant lequel le token ne doit pas encore être accepté, utile pour des tokens programmés pour devenir actifs plus tard. Les deux sont optionnels : leur absence signifie qu'aucune contrainte temporelle de ce type n'est imposée par le token lui-même.
Le token ici est valide, pourquoi mon API le rejette-t-elle quand même ?
Parce que cet outil ne vérifie que la structure et les dates déclarées, jamais la signature. Une API peut aussi rejeter un token pour d'autres raisons : signature invalide, émetteur (iss) ou audience (aud) incorrects, token révoqué côté serveur, ou claims métier manquants — aucune de ces vérifications n'est possible sans accès à la clé secrète/publique de l'émetteur, qui reste toujours une opération côté serveur.
Confidentialité : le décodage et les vérifications de dates se font entièrement dans votre navigateur via WebAssembly — le contenu du token, même sensible, ne quitte jamais votre appareil.