JWT (JSON Web Token) consta de Header, Payload y Signature separados por dos puntos y se utiliza ampliamente para autenticación de APIs, inicio de sesión único y sesiones sin estado. Esta herramienta reúne análisis, generación y validación en una sola página mediante tres pestañas. El análisis no necesita una clave; la generación y validación requieren un Secret o una clave.
Al pegar un Token, se divide automáticamente en tres partes. Header y Payload se decodifican mediante Base64URL y se formatean como JSON, mientras que Signature se conserva sin cambios. Las tres partes pueden copiarse por separado. La página también lee campos del encabezado como alg, typ y kid, reconoce claims estándar como iss, sub, aud y jti, y convierte las marcas de tiempo iat, nbf y exp a la hora local.
Según los claims de tiempo, la herramienta determina automáticamente el estado general del Token: válido, a punto de expirar, expirado, todavía no válido o sin claims temporales. También muestra el tiempo restante hasta la expiración. Esto facilita la resolución de problemas de autenticación al distinguir entre un Token expirado, uno que todavía no es válido y un problema de firma. Los claims personalizados pueden consultarse directamente en el JSON del Payload.
La pestaña de generación permite editar directamente el JSON de Header y Payload y ofrece botones para formatear y minificar. Los claims habituales pueden insertarse con un clic y exp se establece por defecto en una hora después de la hora actual. Selecciona el algoritmo e introduce la clave correspondiente para emitir el Token. Los algoritmos HMAC utilizan un Secret, que puede tratarse como texto UTF-8 o como hexadecimal cuando comienza por 0x. Los algoritmos RSA y EC aceptan claves privadas PEM o JWK. Los errores de JSON se notifican inmediatamente.
Se admiten 12 algoritmos: HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384 y ES512. La familia HS utiliza firmas HMAC, las familias RS y PS se basan en RSA y la familia ES se basa en ECDSA. Los algoritmos que requieren un contexto seguro aparecen marcados.
La validación requiere la clave pública correspondiente a la firma. Para RSA se admiten claves públicas PEM SPKI o PKCS#1 y JWK; para EC se admite clave pública SPKI en PEM o JWK. El resultado muestra si la firma es válida, si el Token ha expirado y si ya es válido, e indica la causa concreta cuando la validación falla. Si se pega una clave privada, la página indica que debe utilizarse la clave pública correspondiente.
Los algoritmos RS, PS y ES dependen de la interfaz WebCrypto del navegador, disponible solo en un contexto seguro, por lo que requieren HTTPS. Los algoritmos HS no tienen esta limitación y también pueden generar y validar tokens mediante HTTP.
Los Tokens, Secrets, claves privadas y claves públicas se procesan completamente en el navegador. No existe una API de cálculo en el servidor y el contenido introducido no se sube ni se guarda. Ten en cuenta que el Payload de JWT está codificado en Base64URL y no cifrado, por lo que cualquiera que obtenga el Token puede leer su contenido. No coloques información sensible en el Payload.
Comentarios 0