Blog
¿Qué es JWT y cómo funciona? Guía completa para principiantes
Aprende qué es JWT (JSON Web Token), cómo funcionan los tokens, de qué partes están compuestos y por qué se utilizan para la autenticación en las aplicaciones web modernas.

¿Qué es JWT y cómo funciona?
Si has trabajado con aplicaciones web modernas, probablemente hayas visto el término JWT o JSON Web Token. JWT es uno de los métodos más utilizados para transmitir información de forma segura entre un cliente y un servidor. Se usa ampliamente para autenticación, autorización y protección de APIs.
En esta guía aprenderás qué es JWT, cómo funciona, cómo está estructurado y por qué millones de desarrolladores lo utilizan.
¿Qué es JWT?
JWT (JSON Web Token) es un estándar abierto (RFC 7519) que permite transmitir información de forma segura mediante un objeto JSON compacto.
Cada JWT está firmado digitalmente, lo que permite verificar que el contenido no ha sido modificado.
A diferencia de la autenticación basada en sesiones, JWT almacena la información del usuario dentro del propio token en lugar de guardarla en el servidor.
Estructura de un JWT
Un JWT está formado por tres partes separadas por puntos.
xxxxx.yyyyy.zzzzz
1. Header
El Header contiene información sobre el algoritmo de firma y el tipo de token.
Ejemplo:
{
"alg": "HS256",
"typ": "JWT"
}
Después se codifica utilizando Base64Url.
2. Payload
El Payload contiene la información del usuario (claims).
Ejemplo:
{
"userId": 15,
"email": "john@example.com",
"role": "admin"
}
Puede incluir:
- ID del usuario
- Nombre
- Correo electrónico
- Rol
- Permisos
- Fecha de expiración
El Payload no está cifrado, por lo que cualquiera puede decodificarlo.
3. Signature
La Signature garantiza que el token no ha sido modificado.
Se genera utilizando:
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)
La clave secreta solo la conoce el servidor.
¿Cómo funciona JWT?
El flujo habitual es el siguiente:
- El usuario inicia sesión.
- El servidor verifica las credenciales.
- El servidor genera un JWT.
- El token se envía al cliente.
- El cliente guarda el JWT.
- En cada petición futura el cliente envía el token.
- El servidor verifica la firma.
- Si es válida, concede el acceso.
De esta manera no es necesario almacenar sesiones en el servidor.
¿Dónde se utiliza JWT?
JWT se utiliza en:
- Autenticación de usuarios
- REST APIs
- Aplicaciones React, Vue y Angular
- Aplicaciones móviles
- OAuth 2.0
- Microservicios
- API Gateway
Ventajas de JWT
Entre sus principales ventajas destacan:
- Autenticación Stateless
- Tamaño compacto
- Verificación rápida
- Fácil integración entre múltiples servicios
- Ideal para aplicaciones móviles
- Escalabilidad
JWT vs Sesiones
| JWT | Sesiones |
|---|---|
| Se almacena en el cliente | Se almacena en el servidor |
| Stateless | Stateful |
| Ideal para APIs | Ideal para sitios tradicionales |
| Fácil de escalar | Requiere almacenamiento de sesiones |
Ambos enfoques son válidos según las necesidades del proyecto.
¿Es seguro JWT?
Sí, siempre que se implemente correctamente.
Buenas prácticas:
- Utilizar HTTPS.
- Definir una fecha de expiración.
- No almacenar información sensible en el Payload.
- Utilizar algoritmos de firma seguros.
- Rotar las claves secretas.
- Validar siempre la firma del token.
Errores comunes
Los errores más frecuentes son:
- Guardar contraseñas dentro del JWT.
- No establecer expiración.
- No validar la firma.
- Utilizar claves débiles.
- Enviar tokens mediante HTTP.
Ejemplo de JWT
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJ1c2VySWQiOjE1LCJyb2xlIjoiYWRtaW4ifQ.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Aunque parece una cadena aleatoria, está formada por Header, Payload y Signature.
Conclusión
JWT es uno de los estándares más utilizados para la autenticación moderna. Permite transmitir información de forma segura entre clientes y servidores sin necesidad de almacenar sesiones.
Si desarrollas APIs, aplicaciones SPA o aplicaciones móviles, comprender cómo funciona JWT es una habilidad esencial. Utilizado junto con HTTPS y una correcta validación, JWT proporciona una solución segura, rápida y escalable.