Un codificador de JWT local y seguro
Este codificador de JWT permite a los desarrolladores crear, modificar y firmar JSON Web Tokens rápidamente, de forma directa en el navegador. Ya sea que estés creando un flujo de autenticación, probando un endpoint de API o depurando un microservicio, puedes generar tokens válidos al instante sin escribir scripts personalizados ni exponer tus credenciales a servidores de terceros.
Como la herramienta se basa en la Web Crypto API nativa de tu navegador, todo el procesamiento de datos y la firma criptográfica se realizan íntegramente en tu dispositivo. Tu payload JSON y tus claves secretas nunca se suben, almacenan ni registran. Este enfoque local hace que sea seguro firmar JWT online, incluso cuando trabajas con credenciales sensibles de desarrollo o pruebas.
Cómo crear un token JWT
Para crear un token JWT, necesitas tres componentes: un encabezado (que define el algoritmo), un payload (que contiene tus datos) y una clave secreta (que protege el token).
Comienza seleccionando el algoritmo. Esta herramienta funciona como un robusto generador de JWT HS256, pero también admite HS384 y HS512. Estos son algoritmos HMAC simétricos, lo que significa que se utiliza exactamente la misma clave secreta para firmar el token y verificarlo posteriormente. Cuanto mayor sea el número (por ejemplo, 512), mayor será el tamaño del hash resultante, lo que ofrece una mayor seguridad criptográfica a cambio de una cadena de token ligeramente más larga.
A continuación, define tu payload en el área de texto. El payload debe ser un JSON válido. A medida que editas el JSON o actualizas la clave secreta, la herramienta recalcula la firma en tiempo real, ofreciendo respuesta inmediata si hay un error de sintaxis en la estructura JSON. Una vez configurados el payload y la clave secreta, el token final estará listo para copiarse y usarse en las cookies o encabezados Authorization de tu aplicación.
Casos de uso comunes para generar tokens
Contar con un generador de jwt confiable es esencial en el desarrollo web moderno. Los desarrolladores suelen utilizar esta herramienta para diversos escenarios de prueba y depuración:
Probar endpoints de API: Al trabajar con clientes de API como Postman o Insomnia, a menudo necesitas un bearer token válido para acceder a rutas protegidas. En lugar de ejecutar toda tu aplicación frontend para iniciar sesión y obtener un token, puedes generar uno manualmente aquí con el ID de usuario y los roles exactos que necesites.
Depurar la lógica de autenticación: Si tu backend rechaza los tokens, crear uno manualmente ayuda a aislar el problema. Puedes comprobar si el error se debe a una clave secreta incorrecta, un payload mal formado o una discrepancia en el algoritmo de firma.
Crear casos límite: Comprobar cómo maneja tu backend los tokens caducados, la falta de claims o los roles no autorizados es crucial para la seguridad. Aquí puedes manipular fácilmente el payload JSON para crear estos casos extremos y asegurarte de que tu servidor responde con los códigos de estado HTTP correctos.
Gestión de marcas de tiempo y claims
Los JSON Web Tokens utilizan campos específicos, conocidos como claims, para transmitir información sobre el ciclo de vida del token y el usuario al que representa. Los claims de tiempo más comunes son iat (fecha de emisión) y exp (fecha de expiración). Ambos claims requieren una marca de tiempo Unix, que es el número de segundos transcurridos desde el 1 de enero de 1970.
Calcular estas marcas de tiempo manualmente puede ser tedioso durante las pruebas. Para acelerar tu flujo de trabajo, esta herramienta incluye botones de acción rápida sobre el editor del payload.
- Al hacer clic en iat = now se inyecta o actualiza al instante el campo
iatcon la hora Unix actual. - Al hacer clic en exp = +1h o exp = +24h se calcula la marca de tiempo futura y se actualiza el campo
expen consecuencia.
Esto garantiza que los tokens generados sean válidos de inmediato y no sean rechazados prematuramente por la lógica de validación de tiempo de tu servidor.
Manejo de secretos en Base64
Un problema frecuente al firmar un JWT online es la codificación de la clave secreta. Muchos sistemas backend y tutoriales recomiendan generar un array de bytes seguro y aleatorio para tu secreto HMAC y guardarlo como una cadena Base64 en tus variables de entorno.
Si tu servidor decodifica esta cadena Base64 a bytes sin procesar antes de firmar o verificar el token, pegar la cadena Base64 directamente en un generador estándar producirá una firma inválida. El generador tratará los caracteres Base64 como texto plano, lo que causará una discrepancia.
Para solucionarlo, simplemente marca la casilla El secreto está codificado en Base64. La herramienta decodificará tu cadena secreta a sus bytes originales antes de aplicar el hash HMAC, asegurando que la firma resultante coincida perfectamente con tu entorno backend.
Entender la estructura del JWT
Cuando generas un token, el resultado se muestra en un formato codificado por colores para ayudarte a entender su estructura. Un JWT estándar consta de tres partes separadas por puntos (.):
- Encabezado (Rojo): Contiene los metadatos del token, principalmente el algoritmo de firma (por ejemplo,
{"alg":"HS256","typ":"JWT"}). Se genera automáticamente según el algoritmo que elijas y se codifica en Base64-URL. - Payload (Azul): Tus datos JSON reales, también codificados en Base64-URL. Cualquier persona que intercepte el token puede leer esta parte fácilmente, por lo que nunca debes incluir contraseñas ni datos muy sensibles en el payload.
- Firma (Verde): El hash criptográfico del encabezado y el payload codificados, firmado con tu clave secreta. Esto garantiza que el token no ha sido alterado en tránsito.
Si ya tienes un token y quieres ver su contenido sin la clave secreta, puedes pegarlo en nuestro Decodificador JWT para inspeccionar el encabezado y el payload de forma segura.