¿Qué es un JSON Web Token (JWT)?
Un JSON Web Token (JWT, pronunciado 'yot') es un medio compacto y seguro para URLs de representar claims que se transfieren entre dos partes. Consiste en tres partes codificadas en Base64Url separadas por puntos: la Cabecera (especificando el algoritmo y tipo de token), la Carga Útil (conteniendo claims como ID de usuario, email, roles y tiempo de expiración) y la Firma (usada para verificar que el token no ha sido manipulado). Los JWTs son el estándar de autenticación en aplicaciones web modernas, APIs y arquitecturas de microservicios.
Por qué la decodificación JWT importa para los desarrolladores
Los desarrolladores frecuentemente necesitan inspeccionar JWTs durante la depuración de autenticación, integración de APIs y auditoría de seguridad. Entender qué claims contiene un token — quién lo emitió (iss), cuándo expira (exp), qué permisos otorga (scope o roles) — es esencial para solucionar fallos de inició de sesión, errores de permisos y problemas de renovación de tokens. Un decodificador JWT transforma la cadena opaca de Base64 en JSON legible, haciendo estos detalles instantáneamente visibles sin escribir código personalizado.
Conceptos clave de JWT
Los claims registrados son campos estandarizados: iss (emisor), sub (sujeto), aud (audiencia), exp (expiración), nbf (no antes de), iat (emitido en), jti (ID único). Los claims personalizados llevan datos específicos de la aplicación como roles o permisos. La cabecera específica el algoritmo de firma — comúnmente HS256 (HMAC-SHA256) para firma simétrica o RS256 (RSA-SHA256) para firma asimétrica. Importante: la decodificación revela la carga útil, pero solo la verificación de firma (que requiere la clave secreta) confirma que el token es auténtico y no ha sido modificado.
Mejores prácticas de seguridad JWT
Nunca almacenes JWTs en localStorage — usa cookies httpOnly para prevenir ataques XSS. Establece tiempos de expiración cortos (15-60 minutos) y usa tokens de refresco para sesiones más largas. Siempre válida la firma del lado del servidor antes de confiar en los claims. No pongas datos sensibles en la carga útil — los JWTs están codificados, no encriptados, lo que significa que cualquiera puede leer la carga útil. Usa HTTPS exclusivamente para prevenir interceptación de tokens. Rota las claves de firma periódicamente. Al depurar con está herramienta, recuerda que decodificar no es verificar.





