JWT (JSON Web Token) se compose de Header, Payload et Signature séparés par deux points et est largement utilisé pour l’authentification des API, le single sign-on et les sessions sans état. Cet outil regroupe l’analyse, la génération et la validation sur une même page avec trois onglets. L’analyse ne nécessite pas de clé ; la génération et la validation nécessitent un Secret ou une clé.
Collez un Token pour le diviser automatiquement en trois parties. Header et Payload sont décodés en Base64URL puis formatés en JSON, tandis que Signature est conservée telle quelle. Les trois parties peuvent être copiées séparément. La page lit également les champs d’en-tête comme alg, typ et kid, reconnaît les claims standards comme iss, sub, aud et jti et convertit les horodatages iat, nbf et exp en heure locale.
À partir des claims temporels, l’outil détermine automatiquement l’état global du Token : valide, bientôt expiré, expiré, pas encore valide ou sans claims temporels. Il affiche également le temps restant avant expiration. Cela facilite le diagnostic des problèmes d’authentification en distinguant un Token expiré, un Token pas encore valide ou un problème de signature. Les claims personnalisés peuvent être consultés directement dans le JSON du Payload.
L’onglet de génération permet de modifier directement les JSON Header et Payload et propose des boutons de formatage et de minification. Les claims courants peuvent être insérés en un clic, avec exp défini par défaut à une heure après l’heure actuelle. Sélectionnez un algorithme et saisissez la clé correspondante pour générer le Token. Les algorithmes HMAC utilisent un Secret, interprété comme texte UTF-8 ou comme valeur hexadécimale lorsqu’il commence par 0x. Les algorithmes RSA et EC acceptent des clés privées PEM ou JWK. Les erreurs de JSON sont signalées immédiatement.
L’outil prend en charge 12 algorithmes : HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384 et ES512. La famille HS utilise des signatures HMAC, les familles RS et PS reposent sur RSA et la famille ES sur ECDSA. Les algorithmes nécessitant un contexte sécurisé sont signalés.
La vérification nécessite la clé publique correspondant à la signature. Pour RSA, les clés publiques PEM SPKI ou PKCS#1 ainsi que JWK sont prises en charge ; pour EC, les clés publiques SPKI en PEM ou JWK sont prises en charge. Le résultat indique si la signature est valide, si le Token est expiré et s’il est déjà valide, avec une cause précise en cas d’échec. Si une clé privée est collée, la page indique qu’il faut utiliser la clé publique correspondante.
Les algorithmes RS, PS et ES dépendent de l’interface WebCrypto du navigateur, disponible uniquement dans un contexte sécurisé et nécessitant donc HTTPS. Les algorithmes HS ne sont pas concernés et peuvent également générer et vérifier des tokens en HTTP.
Les Tokens, Secrets, clés privées et clés publiques sont tous traités dans le navigateur. Il n’existe aucune API de calcul côté serveur et les données saisies ne sont ni envoyées ni enregistrées. Le Payload d’un JWT est encodé en Base64URL et non chiffré : toute personne disposant du Token peut donc en lire le contenu. Ne placez pas d’informations sensibles dans le Payload.
Commentaires 0