Qué es un JWT: estructura, validación y errores comunes
30 de julio de 2026 3 min de lectura

Qué es un JWT: estructura, validación y errores comunes

Aprende qué contienen header, payload y signature, por qué decodificar no equivale a verificar y cómo tratar un JWT con seguridad.

Un JSON Web Token (JWT) es un formato compacto para transportar afirmaciones entre sistemas. Suele aparecer en autenticación y autorización, pero no constituye por sí solo un sistema de inicio de sesión. La aplicación todavía necesita administrar sesiones, permisos, claves, revocación y recuperación de cuentas.

Las tres partes

Un JWT firmado suele tener tres segmentos separados por puntos: header.payload.signature. El encabezado declara el tipo y el algoritmo; la carga contiene claims; la firma permite detectar modificaciones. Los dos primeros segmentos usan Base64url y cualquiera puede leerlos.

ParteFunción¿Es secreta?
HeaderAlgoritmo y metadatosNo
PayloadClaims como emisor, sujeto y fechasNo
SignaturePrueba integridad con una claveNo revela la clave

Decodificar no es verificar

Una herramienta puede mostrar header y payload sin conocer ninguna clave. Eso ayuda a depurar, pero no prueba quién creó el token. El servidor debe comprobar la firma con un algoritmo permitido y una clave confiable antes de usar un claim para conceder acceso.

Nunca aceptes role: admin solo porque aparece en el payload decodificado.

Claims que deben validarse

  • iss: debe coincidir con un emisor configurado.
  • aud: debe incluir el servicio receptor.
  • exp: el token se rechaza después de su vencimiento.
  • nbf: no se acepta antes de ese instante.
  • sub: se interpreta dentro del espacio de nombres del emisor verificado.

Las fechas numéricas de JWT se expresan normalmente en segundos Unix, no milisegundos. Una tolerancia de reloj debe ser pequeña y deliberada, no una forma de aceptar tokens caducados durante mucho tiempo.

Errores de implementación

  • Aceptar cualquier algoritmo indicado por un header no confiable.
  • Verificar la firma y omitir emisor o audiencia.
  • Guardar contraseñas, datos médicos o información privada en un payload legible.
  • Emitir access tokens de larga duración sin rotación o revocación.
  • Copiar tokens completos a logs, analítica, tickets o capturas.

Transporte y almacenamiento

Envía tokens solo mediante HTTPS. El almacenamiento en navegador tiene compromisos: un lugar accesible desde JavaScript aumenta el impacto de XSS, mientras que las cookies requieren atributos seguros y una estrategia frente a CSRF. No existe una respuesta universal; depende del modelo de amenazas y del framework.

Flujo de inspección seguro

  1. Usa un token ficticio o revocado cuando sea posible.
  2. Decodifica localmente y examina solo los campos necesarios.
  3. Comprueba fechas, issuer y audience.
  4. Verifica el token dentro de la aplicación con su configuración confiable.
  5. Elimínalo de registros y capturas tras el diagnóstico.

El decodificador JWT de ToolBlur muestra la estructura localmente, sin validar la firma. El conversor Base64 ayuda a comprender la codificación relacionada. La especificación del formato es RFC 7519.

Preguntas frecuentes

¿Un JWT está cifrado?

Normalmente no. Un JWT firmado protege integridad, pero su payload sigue siendo legible.

¿Puedo verificarlo con un decodificador?

No sin la clave y las reglas confiables de algoritmo, emisor y audiencia.

¿Debo pegar un token real?

Evítalo. Usa datos ficticios o un token revocado y herramientas locales.

Herramientas mencionadas

Más artículos