Blog
Qu'est-ce que le JWT et comment fonctionne-t-il ? Guide complet pour débutants
Découvrez ce qu'est un JWT (JSON Web Token), comment il fonctionne, de quoi il est composé et pourquoi il est utilisé pour l'authentification dans les applications web modernes.

Qu'est-ce que le JWT et comment fonctionne-t-il ?
Si vous développez des applications web modernes, vous avez certainement déjà rencontré le terme JWT ou JSON Web Token. JWT est l'une des méthodes les plus utilisées pour transmettre des informations de manière sécurisée entre un client et un serveur. Il est largement employé pour l'authentification, l'autorisation et la protection des API.
Dans ce guide, vous découvrirez ce qu'est un JWT, comment il fonctionne, comment il est structuré et pourquoi il est devenu une technologie essentielle du développement web moderne.
Qu'est-ce qu'un JWT ?
JWT (JSON Web Token) est un standard ouvert (RFC 7519) permettant de transmettre des informations de manière sécurisée sous la forme d'un objet JSON compact.
Chaque JWT est signé numériquement afin de garantir que son contenu n'a pas été modifié.
Contrairement aux sessions classiques, JWT stocke les informations d'authentification directement dans le jeton plutôt que sur le serveur.
Structure d'un JWT
Un JWT est composé de trois parties séparées par des points.
xxxxx.yyyyy.zzzzz
1. Header
Le Header contient les informations concernant le type de jeton et l'algorithme de signature.
Exemple :
{
"alg": "HS256",
"typ": "JWT"
}
Le Header est ensuite encodé au format Base64Url.
2. Payload
Le Payload contient les informations de l'utilisateur (claims).
Exemple :
{
"userId": 15,
"email": "john@example.com",
"role": "admin"
}
Il peut contenir :
- l'identifiant utilisateur ;
- le nom ;
- l'adresse e-mail ;
- le rôle ;
- les autorisations ;
- la date d'expiration.
Le Payload n'est pas chiffré. Son contenu peut être décodé par toute personne possédant le jeton.
3. Signature
La Signature garantit que le jeton n'a pas été modifié.
Elle est générée avec :
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)
La clé secrète est connue uniquement du serveur.
Comment fonctionne JWT ?
Le processus classique est le suivant :
- L'utilisateur se connecte.
- Le serveur vérifie les identifiants.
- Le serveur génère un JWT.
- Le jeton est envoyé au client.
- Le client stocke le JWT.
- À chaque requête, le client renvoie le jeton.
- Le serveur vérifie la signature.
- Si elle est valide, l'accès est autorisé.
Cette approche évite de stocker des sessions sur le serveur.
Où utilise-t-on JWT ?
JWT est largement utilisé dans :
- l'authentification des utilisateurs ;
- les API REST ;
- les applications React, Vue et Angular ;
- les applications mobiles ;
- OAuth 2.0 ;
- les architectures en microservices ;
- les API Gateway.
Les avantages de JWT
JWT présente plusieurs avantages :
- authentification Stateless ;
- format compact ;
- vérification rapide ;
- fonctionnement entre plusieurs services ;
- idéal pour les applications mobiles ;
- excellente évolutivité.
JWT ou Sessions ?
| JWT | Sessions |
|---|---|
| Stocké côté client | Stockées côté serveur |
| Stateless | Stateful |
| Idéal pour les API | Idéal pour les sites web classiques |
| Facile à mettre à l'échelle | Nécessite un stockage des sessions |
Les deux solutions restent pertinentes selon l'architecture du projet.
JWT est-il sécurisé ?
Oui, à condition d'être correctement implémenté.
Bonnes pratiques :
- utiliser HTTPS ;
- définir une date d'expiration ;
- ne jamais stocker de données sensibles dans le Payload ;
- utiliser un algorithme de signature sécurisé ;
- renouveler régulièrement les clés secrètes ;
- vérifier systématiquement la signature.
Les erreurs les plus fréquentes
Les développeurs débutants commettent souvent les erreurs suivantes :
- stocker des mots de passe dans le JWT ;
- oublier la date d'expiration ;
- ne pas vérifier la signature ;
- utiliser une clé secrète faible ;
- transmettre les jetons via HTTP.
Exemple de JWT
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJ1c2VySWQiOjE1LCJyb2xlIjoiYWRtaW4ifQ.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Même si cette chaîne semble aléatoire, elle est composée du Header, du Payload et de la Signature.
Conclusion
JWT est aujourd'hui l'une des technologies d'authentification les plus populaires. Il permet de transmettre des informations de manière sécurisée entre un client et un serveur sans stocker de sessions.
Si vous développez des API, des applications SPA ou des applications mobiles, comprendre le fonctionnement de JWT est une compétence indispensable. Utilisé avec HTTPS et une validation correcte, JWT constitue une solution rapide, sécurisée et évolutive.