Generador de JWT

Generar JWT

Crea y firma un JWT directamente en tu navegador. Introduce los claims del payload (los estándar sub, aud, exp, etc. más cualquiera personalizado), elige el algoritmo (HS256 con un secreto compartido o RS256/ES256 con una clave privada) y la herramienta produce el token de tres partes. Útil para desarrollo local, pruebas de carga y reproducción de problemas de autenticación.

Cómo generar un JWT

  1. 1

    Escribe el payload

    Claims estándar (`sub`, `iss`, `aud`, `exp`, `iat`, `nbf`) más cualquiera personalizado que tu aplicación espere.

  2. 2

    Elige el algoritmo

    HS256/384/512 con un secreto compartido, o RS256/ES256 con una clave privada en formato PEM.

  3. 3

    Proporciona la clave

    Texto de secreto compartido para HMAC, o pega la clave privada para RSA/ECDSA. Ambas permanecen en tu navegador.

  4. 4

    Generar

    La salida es el token firmado. Cópialo, úsalo en pruebas, decodifícalo con el Decodificador de JWT para inspeccionarlo.

Carga útil típica para un token de usuario autenticado

{
  "iss": "https://auth.example.com",
  "aud": "api.example.com",
  "sub": "user_12345",
  "iat": 1713398400,
  "nbf": 1713398400,
  "exp": 1713402000,
  "jti": "3c7c7e14-2de4-41f0-bf09-1eb5cfad4c01",
  "scope": "read:profile write:posts"
}

Elección del algoritmo: HMAC vs asimétrico

Algoritmo Tipo de clave Usar cuando
HS256 Secreto compartido de 256 bits Monolito que firma y verifica a sí mismo
HS384/512 Secreto más largo Igual que HS256, más fuerte
RS256 RSA 2048+ El emisor firma, muchos servicios verifican con clave pública
ES256 ECDSA P-256 Igual que RS256 pero con firmas más pequeñas
EdDSA Ed25519 Verificación asimétrica más rápida, claves más pequeñas

Fuerza de la clave

  • Los secretos HMAC deben tener al menos tanta entropía como el tamaño de salida del algoritmo. HS256 necesita 256 bits aleatorios (32 bytes); menos es susceptible a fuerza bruta.
  • Las claves RSA deben ser de 2048 bits como mínimo; 3072 o 4096 para tokens de larga duración.
  • ECDSA (ES256) ofrece seguridad comparable a RSA 3072 con claves mucho más pequeñas y firma más rápida.

Directrices de expiración

Tipo de token Duración típica de exp
Token de acceso 5 - 60 minutos
Token de refresco Días a semanas
Restablecimiento de contraseña 5 - 15 minutos
Verificación de correo 24 horas
Servicio a servicio 1-5 minutos (corto)

Expiración corta + token de refresco es el patrón moderno. Los tokens de acceso de larga duración son difíciles de revocar cuando se ven comprometidos.

Errores comunes

  • Reutilizar un secreto de prueba en producción. El generador marca secretos HS256 y el JWT de salida como solo para pruebas si el secreto parece débil. Confía en esa advertencia.
  • Firmar sin exp. Un JWT sin expiración es válido para siempre. Siempre establece exp a menos que tengas una muy buena razón y una lista de revocación.
  • Usar el alg del encabezado en el verificador. Siempre blinda los algoritmos en el lado de verificación; no sigas lo que el token solicita.
  • Pegar una clave privada real aquí. Este generador se ejecuta en tu navegador, pero trata las claves privadas como secretos: usa claves de prueba, no de producción.

Preguntas frecuentes

No. La firma ocurre en tu navegador usando la API Web Crypto. Las claves nunca salen de tu máquina. Dicho esto, para claves de producción, genera y firma en un entorno controlado, no en un navegador.

HS256 está bien para un monolito donde el mismo servicio firma y verifica. RS256 o ES256 es mejor cuando el emisor es diferente del verificador, las claves públicas se pueden compartir sin exponer la clave de firma.

Corto. 5-15 minutos para tokens de acceso es típico. Usa un token de refresco con una vida útil más larga para una experiencia de usuario fluida. Nunca emitas JWT sin un claim exp.

La herramienta admite emitir alg: none para pruebas deliberadas de tokens rotos / no firmados, con una advertencia prominente. Nunca aceptes tales tokens en código de producción.

Herramientas relacionadas

Herramienta disponible en otros idiomas