Générateur JWT
Générez des JSON Web Tokens signés avec en-tête, charge et clé personnalisés. Supporte HS256, RS256, ES256.
Qu'est-ce qu'un JWT ?
JWT (JSON Web Token) est un standard ouvert (RFC 7519) pour transmettre des informations de manière sécurisée sous forme d'objet JSON compact. Il se compose de trois parties séparées par des points : Header.Payload.Signature.
Quels sont les cas d'usage courants du JWT ?
JWT est largement utilisé pour l'authentification (single sign-on), l'autorisation d'API et l'échange sécurisé d'informations. Après connexion, le serveur émet un JWT que le client inclut dans les requêtes suivantes.
Comment choisir entre HS256, RS256 et ES256 ?
HS256 utilise un secret partagé et est le plus rapide, adapté aux services uniques. RS256 utilise des paires de clés RSA, mieux pour les architectures multi-services. ES256 utilise des courbes elliptiques avec haute sécurité et signatures plus courtes.
Que sont les claims JWT ?
Les claims sont des déclarations dans le payload. Les claims enregistrées incluent iss (émetteur), sub (sujet), exp (expiration), aud (audience). Les claims publiques peuvent être enregistrées auprès de l'IANA. Les claims privés sont des champs personnalisés.
Comment vérifier un JWT ?
Décodez le header pour obtenir l'algorithme, puis utilisez la clé appropriée (secret partagé pour HMAC, clé publique pour RSA/ECDSA) pour vérifier la signature. Vérifiez aussi exp, iss et aud.
Est-il sûr de générer des JWT dans le navigateur ?
Oui, cet outil utilise la Web Crypto API. Vos clés et tokens ne quittent jamais le navigateur. Aucune donnée n'est envoyée à un serveur.
Quelle est la différence entre encoder et signer ?
Encoder (Base64) convertit simplement les données en format transmissible et est réversible par quiconque. Signer crée un hash cryptographique qui prouve que le token n'a pas été modifié.
Un JWT peut-il être chiffré ?
Oui, JWE (JSON Web Encryption) chiffre le contenu du payload. Le JWT standard (JWS) garantit uniquement l'intégrité, mais le payload est lisible par quiconque possède le token.
Quelles sont les bonnes pratiques de sécurité JWT ?
Définissez toujours des durées d'expiration courtes. Utilisez des secrets forts et aléatoires pour HMAC. Stockez les clés privées en sécurité. Ne mettez jamais de données sensibles dans le payload. Utilisez HTTPS en production.
Comment JWT se compare-t-il à l'authentification par session ?
JWT est sans état — le serveur ne stocke pas de données de session, idéal pour les microservices et les domaines croisés. Les sessions nécessitent un stockage serveur mais permettent une révocation instantanée.
JWT est-il adapté pour la déconnexion ?
JWT est sans état par conception, donc la déconnexion nécessite des mécanismes supplémentaires comme des listes de blocage ou des tokens de courte durée avec des refresh tokens. Utilisez des tokens d'accès de courte durée (ex: 15 minutes).
Comment fonctionne le refresh token avec JWT ?
Utilisez un token d'accès de courte durée (JWT) pour les appels API et un refresh token de plus longue durée pour obtenir de nouveaux tokens. Quand le token expire, le client envoie le refresh token pour obtenir un nouveau JWT.
Qu'est-ce que l'algorithme « none » ?
L'algorithme « none » signifie que le JWT n'est pas signé. À utiliser uniquement pour les tests. De nombreuses bibliothèques le désactivent par défaut.
Y a-t-il des limites de taille pour JWT ?
JWT n'a pas de limite fixe, mais comme il est envoyé dans les en-têtes HTTP, il doit rester sous 4 Ko. Gardez le payload minimal, incluez uniquement les claims nécessaires.