🎫
securite

JWT

Standard ouvert pour transmettre des informations de maniere securisee entre deux parties.

Qu'est-ce que JWT ?

JWT (JSON Web Token, prononce "jot") est un standard ouvert (RFC 7519) pour la creation de jetons d'acces securises. Un JWT permet de transmettre des informations de maniere 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 separees par des points : Header (algorithme de signature et type de token), Payload (les claims, c'est-a-dire les donnees transportees), et Signature (verification de l'integrite). 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 personnalisees (role, permissions). La Signature est calculee sur le header et le payload avec une cle secrete ou une paire de cles publique/privee.

Fonctionnement avec les API

Le flux d'authentification typique : le client envoie ses identifiants (login/password), le serveur verifie et genere un JWT signe, le client stocke le token et l'inclut dans chaque requete suivante via le header Authorization: Bearer . Le serveur verifie la signature du JWT a chaque requete sans avoir besoin de consulter une base de donnees de sessions. C'est le caractere stateless du JWT qui le rend ideal pour les architectures distribuees et les microservices.

Securite et bonnes pratiques

Les bonnes pratiques de securite incluent : definir 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 donnees sensibles dans le payload (il est decode, pas chiffre), utiliser RS256 (asymetrique) plutot que HS256 pour les architectures distribuees, et valider systematiquement 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 necessitent un store partage), OAuth 2.0 (protocole complet d'autorisation deleguee utilisant souvent des JWT), et les PASETO (Platform-Agnostic Security Tokens, alternative plus securisee par conception). En pratique, les JWT sont souvent utilises au sein d'un flux OAuth 2.0, le JWT etant le format du token delivre par le serveur d'autorisation.

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions frequentes

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

Pages liees

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.