Toolzi LogoToolzi

Décodeur / Encodeur JWT

Décodez et inspectez des tokens JWT instantanément, ou créez des JWT signés. 100% côté navigateur.

Tout le traitement est effectué dans votre navigateur. Aucune donnée n'est envoyée à un serveur.

Qu'est-ce qu'un JWT (JSON Web Token) ?

JWT (JSON Web Token) est un standard ouvert (RFC 7519) permettant de transmettre des informations de manière sécurisée entre parties sous forme d'objet JSON. Il est largement utilisé pour l'authentification et l'échange d'informations dans les applications web. Un JWT est encodé en Base64URL, pas chiffré — n'importe qui peut décoder le payload. Ne stockez jamais d'informations sensibles dans un JWT sans chiffrement.

Structure d'un JWT

Exemple

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

HeaderPayloadSignature

Header

Contient le type de token (typ) et l'algorithme de signature (alg), comme HS256 ou RS256.

Payload

Contient les claims — informations sur l'utilisateur et métadonnées comme exp (expiration), iat (émis à) et sub (sujet).

Signature

La signature est créée en signant l'en-tête et le payload encodés avec une clé secrète. Elle vérifie que le token n'a pas été altéré.

Claims standard

ClaimClaims standard
issÉmetteur
subSujet (ID utilisateur)
audAudience
expExpiration
iatÉmis le
nbfPas avant
jtiID unique JWT

Questions fréquentes

Un JWT est-il chiffré ?
Non. Un JWT standard (JWS) est uniquement signé, pas chiffré. Le payload est encodé en Base64URL et n'importe qui peut le décoder. Ne placez jamais d'informations sensibles comme des mots de passe dans le payload d'un JWT.
Pourquoi une clé secrète est-elle nécessaire pour vérifier la signature ?
Les signatures basées sur HMAC (HS256, etc.) utilisent un secret partagé. Sans ce secret, il est impossible de vérifier si la signature est authentique. Décoder le payload et vérifier la signature sont deux opérations distinctes.
Que se passe-t-il s'il n'y a pas de claim exp ?
Si le claim exp est absent, le token ne s'expire pas automatiquement. Le serveur doit implémenter son propre mécanisme de révocation pour invalider ces tokens.
Quelle est la différence entre HS256 et RS256 ?
HS256 utilise une clé secrète symétrique partagée entre toutes les parties. RS256 utilise une paire de clés asymétriques (clé privée pour signer, clé publique pour vérifier), mieux adaptée aux microservices.
Où stocker un JWT ?
Les cookies HttpOnly sont recommandés car ils protègent contre les attaques XSS. Stocker des JWT dans localStorage est pratique mais vulnérable au XSS.
Qu'est-ce qu'un Refresh Token ?
Un Refresh Token est un token à longue durée de vie permettant d'obtenir un nouvel Access Token à son expiration, sans que l'utilisateur ait à se reconnecter.
Le JWT collé ici est-il envoyé à un serveur ?
Non. Tout le décodage et l'encodage est effectué dans votre navigateur via JavaScript. Rien n'est transmis à un serveur.

Outils associés