Aller au contenu principal
FreeOnlineTools Go
Français
Explication

Qu'est-ce qu'un JWT ? Une explication complète des jetons Web JSON

Par FreeOnlineTools Team · Mis à jour le 2026-09-02

Réponse rapide

Un JWT est une chaîne avec trois parties codées en Base64URL séparées par des points : header.payload.signature. L'en-tête spécifie l'algorithme, la charge utile contient des revendications (ID utilisateur, rôles, expiration) et la signature prouve l'authenticité. Les JWT sont utilisés pour l'authentification sans état. Utilisez notre décodeur JWT gratuit pour inspecter le contenu des jetons dans votre navigateur.

Introduction

Un JWT (JSON Web Token) est un format de jeton compact et sécurisé URL défini par la RFC 7519 pour transmettre en toute sécurité des informations entre les parties en tant qu'objet JSON. Les JWT sont largement utilisés pour l'authentification et l'autorisation dans les applications Web : une fois qu'un utilisateur s'est connecté, le serveur émet un JWT que le client inclut dans les demandes ultérieures pour prouver son identité. Les JWT sont sans état : le serveur n'a pas besoin de rechercher le jeton dans une base de données ; le jeton lui-même contient les réclamations de l'utilisateur et une signature prouvant qu'il n'a pas été falsifié.

Pas à pas

  1. Comprendre la structure en trois parties

    Un JWT comporte trois parties : l'en-tête (algorithme et type), la charge utile (réclamations) et la signature (prouve l'intégrité). Chaque partie est codée en Base64URL et séparée par des points : eyJhbGciOi...J9.eyJzdWIi...J9.signature. Les deux premières parties sont lisibles par toute personne possédant le jeton ; seule la signature nécessite la clé secrète.

  2. Apprenez les allégations standards

    La charge utile contient des revendications – des déclarations sur le sujet. Revendications standards : "sub" (identifiant du sujet/utilisateur), "iat" (émis à l'horodatage), "exp" (expiration), "nbf" (pas avant), "iss" (émetteur), "aud" (audience). Les revendications personnalisées peuvent inclure des rôles, des autorisations ou toute autre donnée.

  3. Comprendre les algorithmes de signature

    Les JWT utilisent la signature symétrique (HS256 – secret partagé) ou asymétrique (RS256, ES256 – paire de clés publique/privée). La signature empêche toute falsification : toute modification d'une partie du jeton invalide la signature. Seul le détenteur de la clé secrète/privée peut créer des tokens valides.

  4. Utiliser des JWT pour l'authentification

    Après la connexion, le serveur crée un JWT et l'envoie au client. Le client inclut le JWT dans l’en-tête Authorization (jeton Bearer) pour les demandes ultérieures. Le serveur vérifie la signature et vérifie l'expiration — aucune recherche dans la base de données n'est nécessaire.

Exemples

__GARDER_18__ structure

Saisir: Un JWT typique

Sortir: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSIsImV4cCI6MTY5MzYxMjgwMH0.signature

En-tête décodé

Saisir: Première partie décodée

Sortir: {"alg": "HS256", "typ": "JWT"}

Charge utile décodée

Saisir: Deuxième partie décodée

Sortir: {"sub": "user1", "name": "Alice", "iat": 1693526400, "exp": 1693612800}

Problèmes courants

  • Décodage ou vérification : le décodage d'un JWT (lecture de son contenu) ne prouve PAS qu'il est authentique. Vérifiez toujours la signature côté serveur avec la clé secrète avant de faire confiance aux revendications.
  • Stockage des JWT dans localStorage : cela les rend accessibles à JavaScript, vulnérables aux attaques XSS. Stockez les cookies dans httpOnly pour une meilleure sécurité.
  • Jetons de longue durée : si un jeton est volé, il reste valide jusqu'à son expiration. Utilisez des jetons d'accès de courte durée (15 à 60 minutes) avec des jetons d'actualisation pour les longues sessions.
  • Données sensibles dans la charge utile : la charge utile est lisible par toute personne possédant le jeton (elle est Base64, non cryptée). Ne mettez jamais de mots de passe, de cartes de crédit ou de secrets dans la charge utile.

Conseils

  • Vérifiez toujours la signature JWT côté serveur avant de faire confiance à toute revendication : le décodage seul ne constitue pas une authentification.
  • Utilisez des jetons d'accès de courte durée (15 à 60 minutes) avec des jetons d'actualisation pour les longues sessions afin de minimiser les dommages causés par le vol de jetons.
  • Stockez les JWT dans les cookies httpOnly, Secure, SameSite plutôt que localStorage pour empêcher les attaques XSS.
  • Utilisez notre décodeur JWT pour inspecter le contenu du jeton à des fins de débogage : votre jeton ne quitte jamais votre navigateur.

Outils associés

Guides connexes

Références