RH
Tool

JWT Decoder

Decode JWT tokens showing header, payload and signature

Client-side processing
0 caracteres
Info

Decodificador de Tokens JWT Online - Analiza JSON Web Tokens

¿Qué es un JSON Web Token (JWT) y cómo funciona la autenticación?

JSON Web Token (JWT, pronunciado "jot") es un estándar abierto definido en RFC 7519 que establece un formato compacto y autocontenido para transmitir información de forma segura entre partes como un objeto JSON firmado. Los JWTs se utilizan ampliamente para autenticación stateless y autorización en aplicaciones web modernas, APIs REST, sistemas de Single Sign-On (SSO), arquitecturas de microservicios, y aplicaciones móviles. Un JWT está compuesto por tres partes separadas por puntos: header (cabecera), payload (carga útil) y signature (firma digital).

¿Cuál es la estructura y componentes de un token JWT?

El header (cabecera) contiene metadatos: el tipo de token (typ: "JWT") y el algoritmo de firma utilizado (alg: "HS256", "RS256", etc.). El payload contiene las claims o declaraciones, que son afirmaciones sobre el usuario y metadatos: claims registrados como exp (expiración), iat (issued at), iss (emisor), aud (audiencia), sub (sujeto), y claims personalizados como roles o permisos. La signature se genera combinando el header y payload codificados en Base64URL con una clave secreta (HMAC) o par de claves (RSA/ECDSA), garantizando la integridad y autenticidad del token.

Buenas prácticas de seguridad con tokens JWT

Al implementar autenticación con JWTs es crucial seguir estas prácticas de seguridad: nunca almacenes información sensible en el payload ya que puede decodificarse sin la clave, siempre verifica la firma del token en el backend antes de confiar en su contenido, usa tiempos de expiración cortos (15-60 minutos), implementa refresh tokens para sesiones prolongadas sin comprometer seguridad, transmite tokens únicamente sobre HTTPS, almacena tokens en httpOnly cookies cuando sea posible (no en localStorage), y valida todos los claims incluyendo iss y aud. Esta herramienta permite inspeccionar tokens para debugging, pero recuerda que la validación de firma debe hacerse en el servidor.

Preguntas frecuentes

¿Esta herramienta puede validar la firma de mi token JWT?

Esta herramienta decodifica y muestra visualmente el contenido del header y payload del JWT, pero la validación criptográfica de la firma requiere la clave secreta (para HS256) o la clave pública (para RS256/ES256) correspondiente. Por razones de seguridad, la validación de firma siempre debe realizarse en el servidor, nunca en el cliente o navegador. Nuestra herramienta es ideal para debugging y análisis, no para validación de seguridad en producción.

¿Cuál es la diferencia entre HS256 y RS256 en JWT?

HS256 (HMAC-SHA256) usa criptografía simétrica: una única clave secreta compartida entre el emisor que firma y el receptor que verifica. Es más simple pero requiere compartir la clave de forma segura. RS256 (RSA-SHA256) usa criptografía asimétrica con un par de claves: el emisor firma con su clave privada (secreta) y cualquiera puede verificar con la clave pública. RS256 es preferido en arquitecturas distribuidas y cuando múltiples servicios necesitan verificar tokens sin conocer la clave de firma.

¿Por qué mi JWT muestra que ha expirado cuando el tiempo no ha pasado?

El claim exp (expiration) contiene el tiempo de expiración como Unix timestamp: segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC (epoch time). Los problemas comunes son: diferencias de zona horaria entre tu navegador y el servidor que emitió el token, relojes desincronizados (clock skew), o confusión entre segundos y milisegundos. Verifica que tu sistema esté sincronizado con NTP y que estés interpretando el timestamp correctamente.

© 2026
Roberto Hernando
|