En este artículo
¿Qué es un JWT?
Un JSON Web Token (JWT) es un token compacto y seguro para URLs que se utiliza para representar declaraciones entre dos partes. Los JWT son la base de los sistemas modernos de autenticación y autorización: los emite el servidor tras el inicio de sesión y se envían en las siguientes peticiones a la API para verificar la identidad.
Un JWT consta de tres partes codificadas en Base64URL separadas por puntos: la cabecera (algoritmo y tipo de token), el payload (declaraciones o datos) y la firma (verificación de integridad). La firma se crea con una clave secreta o privada, lo que hace que los tokens sean resistentes a la manipulación.
Cómo funciona la decodificación de JWT
Decodificar un JWT revela su contenido sin verificar la firma — útil para depuración, pero no para decisiones de seguridad.
- Decodificación de la cabecera — revela el algoritmo de firma (HS256, RS256, etc.) y el tipo de token
- Decodificación del payload — expone todas las declaraciones, incluidos el ID de usuario, los roles, el tiempo de expiración y los datos personalizados
- Verificación de expiración — calcula si el token ha expirado en función de la declaración exp
Pruébalo gratis — sin registro
Decodificar un token JWT →Cuándo usar la decodificación de JWT
La decodificación de JWT es fundamental durante el desarrollo de APIs y los flujos de trabajo de depuración.
- Depuración de APIs — inspecciona el contenido del token cuando las peticiones fallan con errores 401 o 403
- Pruebas de integración — verifica que tu servidor de autenticación está incluyendo las declaraciones correctas en los tokens emitidos
- Diagnóstico de expiración — comprueba rápidamente si los fallos de autenticación se deben a tokens expirados
Preguntas frecuentes
¿Puedo confiar en el contenido decodificado de un JWT?
La decodificación revela el payload, pero no verifica la firma. Nunca tomes decisiones de seguridad basándote en el contenido decodificado del token sin haber verificado la firma con el secreto o la clave pública correcta. El decodificador de CheckTown es solo para inspección.
¿Qué nunca debería incluirse en un payload de JWT?
Nunca almacenes información sensible como contraseñas, números de tarjetas de crédito o claves privadas en los payloads de JWT. Los JWT están codificados, no cifrados — cualquier persona que intercepte el token puede decodificar el payload sin necesidad de la clave de firma.
¿Cuál es la diferencia entre HS256 y RS256?
HS256 (HMAC-SHA256) utiliza un único secreto compartido tanto para firmar como para verificar. RS256 (RSA-SHA256) usa una clave privada para firmar y una clave pública para verificar. RS256 es preferible en sistemas distribuidos donde múltiples servicios necesitan verificar tokens sin acceso al secreto de firma.