Un JWT (JSON Web Token) est un standard ouvert (RFC 7519) utilisé pour transmettre des informations de manière sécurisée entre deux parties sous forme de jeton compact. Il est composé de trois parties encodées en Base64URL séparées par des points : le Header (algorithme de signature et type de token), le Payload (les claims — identifiant utilisateur, date d'expiration, émetteur) et la Signature (hash de vérification). Les JWT sont massivement utilisés pour l'authentification API, le SSO (Single Sign-On) et la gestion de sessions dans les applications web modernes.
Qu'est-ce qu'un JWT ?
Un JSON Web Token (JWT) est un standard ouvert (RFC 7519) pour transmettre de manière sécurisée des informations entre parties sous forme d'une chaîne compacte et URL-safe. Les JWT sont la colonne vertébrale de l'authentification moderne : quand vous vous connectez à une application, le serveur émet un JWT que votre client envoie à chaque requête suivante pour prouver votre identité.
Un JWT ressemble à ceci : xxxxx.yyyyy.zzzzz — trois parties encodées en Base64URL séparées par des points.
Quelles sont les trois parties d'un JWT ?
Chaque JWT se compose de trois parties :
- Header — Contient l'algorithme de signature (
alg, ex. RS256, HS256) et le type de token (typ, généralement « JWT »). Peut aussi inclure un ID de clé (kid) pour la rotation des clés. - Payload — Contient les claims : données sur l'utilisateur et le token. Les claims standards incluent
sub(sujet/ID utilisateur),iss(émetteur),exp(expiration),iat(émis à). Les claims personnalisés peuvent contenir n'importe quoi : rôles, permissions, email, etc. - Signature — Créée en signant le header et le payload encodés avec un secret (HMAC) ou une clé privée (RSA/ECDSA). Elle garantit que le token n'a pas été altéré. La vérification nécessite le secret ou la clé publique correspondante.
Pourquoi est-il risqué de coller un JWT sur un site tiers ?
Les JWT contiennent souvent des informations sensibles : IDs utilisateurs, adresses email, rôles, permissions et identifiants de services internes. Coller ces tokens dans des outils en ligne qui envoient les données à leurs serveurs crée un risque de sécurité — le token pourrait être enregistré, mis en cache ou intercepté.
Cet outil décode tout en utilisant la fonction native atob() de JavaScript directement dans votre navigateur. Aucune requête réseau n'est effectuée. Vous pouvez le vérifier en ouvrant l'onglet Réseau des DevTools de votre navigateur pendant l'utilisation de l'outil.
Besoin d'encoder ou décoder des données Base64 ? Essayez notre encodeur/décodeur Base64. Pour convertir du JSON entre formats, consultez le convertisseur JSON ↔ YAML.