Décodeur & Inspecteur JWT
Qu'est-ce qu'un JWT (JSON Web Token) ?
Un JWT est un standard ouvert (RFC 7519) qui définit une méthode compacte et autonome pour transmettre des informations entre deux parties sous forme d'objet JSON. Ces informations sont signées numériquement, ce qui garantit leur intégrité et leur authenticité. Les JWT sont très utilisés pour l'authentification et l'échange de données dans les applications web modernes.
Structure d'un JWT
Un JWT se compose de trois parties séparées par des points (.) :
- Header — le type de token (JWT) et l'algorithme de signature (ex : HS256, RS256).
- Payload — les "claims" : identifiant utilisateur, rôle, expiration, etc.
- Signature — vérifie que le token n'a pas été altéré. Calculée à partir du header, du payload et d'un secret.
Claims standards expliqués
Survolez les abréviations pour voir leur signification :
- 🔹 iss — qui a créé le token
- 🔹 sub — le sujet du token
- 🔹 aud — audience visée
- 🔹 exp — date d'expiration
- 🔹 nbf — valide après
- 🔹 iat — émis à
- 🔹 jti — identifiant unique
Foire Aux Questions
Un JWT signé (JWS) garantit l'intégrité et l'authenticité des données, mais le contenu reste lisible par tous (encodé en base64url, pas chiffré). Un JWT chiffré (JWE) masque le contenu — seul le destinataire avec la clé privée peut le déchiffrer. Pour l'authentification, on utilise généralement des JWT signés.
HS256 (HMAC avec SHA-256) utilise un secret partagé symétrique. Simple, mais le secret doit être gardé des deux côtés.
RS256 (RSA avec SHA-256) utilise une paire clé publique/privée. Plus sécurisé pour les systèmes distribués — seul le serveur d'autorisation possède la clé privée.
Cet outil décode le header et le payload entièrement côté client. Il affiche la signature brute mais ne peut pas la vérifier sans le secret. C'est un outil pédagogique et d'inspection, pas un validateur cryptographique.
Non. Tout le traitement s'effectue directement dans votre navigateur via JavaScript. Votre token ne quitte jamais votre machine.
Le base64url est simplement un format d'encodage, pas un chiffrement. Il convertit des données binaires en caractères ASCII imprimables. N'importe qui peut décoder un token JWT — c'est pourquoi vous ne devez jamais stocker de données sensibles (mots de passe, numéros de carte) dans un payload JWT.
Le claim exp est un timestamp Unix (secondes depuis le 1er janvier 1970 UTC). Ce décodeur le compare automatiquement à l'heure actuelle et affiche un compte à rebours en direct. Un token est expiré si le timestamp courant est supérieur à exp.
Il n'existe pas de limite officielle, mais les cookies de navigateur acceptent généralement jusqu'à 4 Ko et les headers HTTP jusqu'à 8 Ko. En pratique, les JWT devraient rester sous 4 Ko. Un payload trop chargé ralentit chaque requête contenant le token.