🎫
securite

JWT

Standard ouvert pour transmettre des informations de manière sécurisée entre deux parties.

Qu'est-ce que JWT ?

JWT (JSON Web Token, prononce "jot") est un standard ouvert (RFC 7519) pour la création de jetons d'accès sécurisés. Un JWT permet de transmettre des informations de manière compacte et auto-contenue entre deux parties sous forme de JSON signe numeriquement. Les JWT sont largement utilises pour l'authentification et l'autorisation dans les API web modernes.

Structure d'un JWT

Un JWT est compose de trois parties séparées par des points : Header (algorithme de signature et type de token), Payload (les claims, c'est-à-dire les données transportees), et Signature (vérification de l'intégrité). Chaque partie est encodee en Base64URL. Le Header specifie l'algorithme (HS256 pour HMAC-SHA256, RS256 pour RSA-SHA256). Le Payload contient des claims standard (iss, sub, exp, iat, aud) et des claims personnalisées (rôle, permissions). La Signature est calculee sur le header et le payload avec une cle secrete ou une paire de clés publique/privée.

Fonctionnement avec les API

Le flux d'authentification typique : le client envoie ses identifiants (login/password), le serveur vérifie et genere un JWT signe, le client stocke le token et l'inclut dans chaque requête suivante via le header Authorization: Bearer . Le serveur vérifie la signature du JWT à chaque requête sans avoir besoin de consulter une base de données de sessions. C'est le caractère stateless du JWT qui le rend idéal pour les architectures distribuees et les microservices.

Sécurité et bonnes pratiques

Les bonnes pratiques de sécurité incluent : définir un temps d'expiration court (15-60 minutes pour les access tokens), utiliser des refresh tokens (stockes en httpOnly cookie) pour renouveler les access tokens, ne jamais stocker de données sensibles dans le payload (il est decode, pas chiffre), utiliser RS256 (asymetrique) plutôt que HS256 pour les architectures distribuees, et valider systématiquement la signature, l'expiration et l'audience. Les tokens ne sont pas revocables individuellement sans maintenir une blacklist, ce qui est une limitation importante.

Alternatives et complements

Les alternatives incluent les sessions cote serveur (plus simples, revocables, mais nécessitent un store partage), OAuth 2.0 (protocole complet d'autorisation deleguee utilisant souvent des JWT), et les PASETO (Platform-Agnostic Security Tokens, alternative plus sécurisée par conception). En pratique, les JWT sont souvent utilises au sein d'un flux OAuth 2.0, le JWT étant le format du token délivré par le serveur d'autorisation.

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions fréquentes

JWT ou sessions ?
JWT pour les API stateless et les microservices. Sessions cote serveur pour les applications web classiques avec un seul backend.

Pages liées

Chaque semaine, le meilleur de la tech française

Tendances, salaires, outils et opportunités — directement dans votre boîte mail.

Gratuit. Desabonnement en un clic. Pas de spam.