BeYourTools
JSONJanuary 11, 2026

JWT explicados: lo que todo desarrollador debe saber

Los JSON Web Tokens están en todas partes: autenticación, claves API, gestión de sesiones. Cómo funcionan, cómo leerlos y errores de seguridad comunes.

JWTAutenticaciónSeguridadAPIs

¿Qué es un JWT?

Un JWT (JSON Web Token) es una cadena compacta y segura para URL que se usa para representar afirmaciones (claims) entre dos partes. Consta de tres secciones codificadas en Base64URL separadas por puntos: un encabezado, un payload y una firma. La firma permite al receptor verificar que el contenido no ha sido manipulado.

Las tres partes

Encabezado (header): especifica el algoritmo usado para firmar el token y el tipo de token.

Payload: contiene claims, es decir, datos sobre el usuario y la sesión, como el ID de usuario, los roles y el tiempo de expiración.

Firma (signature): un hash criptográfico del encabezado y el payload que demuestra que el token no ha sido modificado.

Claims comunes

El payload suele incluir: sub (el sujeto, normalmente un ID de usuario), iat (emitido en), exp (marca de tiempo de expiración), iss (emisor) y aud (audiencia prevista).

Decodificar vs. verificar

Cualquiera puede decodificar un JWT: el payload solo está codificado, no cifrado. Usa nuestro decodificador JWT para inspeccionar el encabezado y el payload de cualquier token durante el desarrollo. La verificación (comprobar la firma) requiere la clave secreta y ocurre en tu servidor.

Errores de seguridad comunes que debes evitar

  • Nunca aceptes tokens con "alg": "none": esto desactiva por completo la verificación de la firma
  • Guarda los tokens en cookies httpOnly, no en el localStorage del navegador (vulnerable a cross-site scripting)
  • Valida siempre el claim exp: los tokens expirados deben rechazarse
  • Nunca pongas contraseñas ni datos personales sensibles en el payload: cualquiera con el token puede leerlos

Preguntas frecuentes

¿Cómo inspecciono un JWT sin escribir código?
Pega el token en nuestro decodificador JWT. Divide el token en sus tres secciones, decodifica cada una y muestra el payload completo, incluidos todos los claims y el tiempo de expiración.
¿El payload de un JWT está cifrado?
No: el payload está codificado en Base64URL, que cualquiera puede decodificar. Nunca guardes contraseñas, números de tarjeta de crédito ni otros datos sensibles en el payload de un JWT.
¿Cuál es la diferencia entre un JWT y una clave API?
Una clave API es una cadena opaca: el servidor debe buscarla en una base de datos para saber qué permisos otorga. Un JWT es autocontenido: el servidor puede verificarlo y leer los permisos del payload sin consultar una base de datos.
Be
Founder & Editor, BeYourTools
I build free browser-based tools for developers and designers. Nothing you paste here ever leaves your device.

More JSON articles

Latest articles