Description de l’outil

Cet outil crée et signe des JWT dans votre navigateur. Choisissez un algorithme, modifiez l’en-tête et la charge utile au format JSON, et le token signé apparaît immédiatement. Il est pratique pour tester une API, essayer une nouvelle configuration d’authentification ou créer un token pour un environnement local. Tout se passe dans votre navigateur avec l’API Web Crypto, et vos secrets et vos clés ne sont envoyés nulle part.

Lorsque vous ouvrez l’outil, il génère un secret aléatoire et crée une nouvelle paire de clés la première fois que vous choisissez un algorithme qui en nécessite une, afin que vous obteniez un token fonctionnel sans rien préparer. Collez votre propre secret ou votre clé privée pour créer des tokens acceptés par votre serveur.

Fonctionnalités

  • Signe avec HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512 et EdDSA (Ed25519).
  • Accepte le secret HMAC sous forme de texte, Base64 ou hexadécimale, et avertit lorsqu’il est plus court que ce qu’autorise la RFC 7518, ce que de nombreuses bibliothèques refusent.
  • Lit les clés privées au format PKCS #8 PEM (BEGIN PRIVATE KEY), PKCS #1 PEM (BEGIN RSA PRIVATE KEY), SEC 1 PEM (BEGIN EC PRIVATE KEY) ou JWK.
  • Affiche la clé publique au format PEM et JWK avec kid, use et alg, prête à être ajoutée à un JWKS.
  • Définit exp, iat, nbf et un jti aléatoire lors de la signature du token, et affiche les heures de signature et d’expiration dans votre fuseau horaire.
  • Explique le problème d’une clé : une clé publique au lieu d’une clé privée, une clé du mauvais type ou de la mauvaise courbe, une clé RSA de moins de 2048 bits ou une clé protégée par un mot de passe.
  • Conserve une clé pour chaque type de clé, afin que vous puissiez passer de RS256 à ES256 sans perdre la clé que vous avez collée.
  • Crée des tokens non signés avec alg défini sur none, afin de vérifier que votre serveur les rejette.

Exemples

Avec HS256, l’en-tête {"typ": "JWT"}, la charge utile {"sub": "1234567890", "name": "Jeanne Dupont"} et le paramètre « Expiration dans » défini sur 1 heure, la charge utile signée devient :

{
  "sub": "1234567890",
  "name": "Jeanne Dupont",
  "iat": 1790000000,
  "exp": 1790003600
}

Conseils

Le token est signé à nouveau chaque fois que vous modifiez un élément. Ainsi, iat et exp sont toujours calculés à partir de l’heure actuelle. Utilisez le bouton situé sous le token pour le signer à nouveau sans rien modifier.