Guide du Générateur JWT : Création de Tokens Signés HS256/RS256

Utilitaires

Qu'est-ce que JWT

JSON Web Token (JWT) est un format de token compact et autonome largement utilisé pour l'authentification et l'échange d'informations :

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjE3MDAwMDgwMDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
↑ Header              ↑ Payload                    ↑ Signature

Un JWT se compose de trois chaînes codées en Base64URL séparées par ..


Structure en Trois Parties Expliquée

{
  "alg": "HS256",
  "typ": "JWT"
}
Champ Signification
alg Algorithme de signature : HS256, RS256, etc.
typ Type de token, toujours JWT

Payload

{
  "sub": "1234567890",
  "name": "John Doe",
  "role": "admin",
  "iat": 1700000000,
  "exp": 1700008000
}
Champ Signification Requis
sub Sujet (ID utilisateur) Recommandé
iat Horodatage d'émission Recommandé
exp Temps d'expiration Requis
iss Émetteur Optionnel
aud Audience Optionnel
nbf Pas avant (heure d'effet) Optionnel

Signature

HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

La signature garantit que le token n'a pas été altéré, mais le Payload n'est PAS chiffré par défaut — ne jamais y placer de données sensibles !


HS256 vs RS256

Comparaison HS256 RS256
Type d'algorithme Symétrique (HMAC) Asymétrique (RSA)
Clé Secret partagé (chaîne) Clé publique + Clé privée
Vérificateur Nécessite le même secret Nécessite uniquement la clé publique
Cas d'usage Service unique, microservices internes Multi-service, vérification tierce
Gestion des clés Simple, mais risque de fuite plus élevé Plus sécurisé, la clé publique peut être partagée

Recommandation : Utilisez HS256 pour les monolithes, RS256 pour les microservices/API ouvertes.


Utilisation du Générateur JWT

Étape 1 : Ouvrir l'Outil

Visitez le Générateur JWT pour accéder à l'interface de création de tokens.

Étape 2 : Sélectionner l'Algorithme de Signature

  • Service unique : Sélectionnez HS256 et entrez un secret partagé
  • Multi-service : Sélectionnez RS256 et collez une clé privée

Étape 3 : Remplir le Payload

Ajoutez des claims dans l'éditeur de payload :

{
  "sub": "user_10086",
  "name": "John Doe",
  "role": "admin",
  "iat": 1700000000,
  "exp": 1700008000
}

iat et exp utilisent des horodatages Unix (secondes). L'outil prend en charge la configuration visuelle du temps d'expiration.

Étape 4 : Générer le Token

Cliquez sur « Générer ». L'outil automatiquement :

  1. Encode le Header en Base64URL
  2. Encode le Payload en Base64URL
  3. Calcule la signature en utilisant la clé
  4. Concatène en une chaîne JWT complète

Étape 5 : Vérifier le Token

Collez le token généré dans le Décodeur JWT et confirmez :

  • Le Header et le Payload se décodent correctement
  • La vérification de signature réussit
  • Le temps exp n'est pas dépassé

Bonnes Pratiques de Temps d'Expiration

Scénario exp Recommandé Raison
Access Token 15-30 minutes Durée courte, réduit le risque de fuite
Refresh Token 7-30 jours Durée longue, utilisé pour le renouvellement
Lien de vérification par email 1-24 heures Usage unique
Clé API Pas d'exp ou 1+ an Identifiant à long terme

Bonne pratique : Utilisez l'approche à double token Access Token + Refresh Token.


Notes sur l'Encodage Base64URL

JWT utilise l'encodage Base64URL, qui diffère du Base64 standard :

Différence Base64 Standard Base64URL
+ + -
/ / _
Remplissage = Oui Non

Lors de l'utilisation de l'outil d'encodage/décodage Base64, assurez-vous de sélectionner le mode URL-safe.


Problèmes Courants

Problème Cause Solution
Échec de la vérification de signature Clé non correspondante Confirmez que la génération et la vérification utilisent la même clé
Token expiré Le temps exp est dépassé Régénérez ou utilisez un Refresh Token
Payload illisible Non décodé avec Base64URL Utilisez le Décodeur JWT
Données sensibles exposées Payload non chiffré Ne jamais mettre de mots de passe ou de secrets dans le Payload
Échec de la vérification RS256 Clé publique non correspondante Confirmez que la clé publique correspond à la clé privée

Résumé

JWT est une technologie essentielle de l'authentification web moderne. Comprendre la structure en trois parties et la différence entre HS256/RS256, et configurer correctement les claims et l'expiration, sont les clés d'une utilisation sécurisée de JWT. Le Générateur JWT et le Décodeur JWT vous permettent d'effectuer le flux complet de création, de décodage et de vérification des tokens directement dans votre navigateur.

#JWT#Token生成#HS256#RS256#认证