Cómo funciona JWT - Entendiendo la autenticación basada en tokens

12 min de lectura | 2025.12.14

¿Qué es JWT?

JWT (JSON Web Token, pronunciado “jot”) es un formato compacto para intercambiar información de forma segura entre dos sistemas. Está estandarizado en RFC 7519 y se utiliza principalmente para autenticación y autorización en aplicaciones web.

El problema que resuelve JWT: En la autenticación tradicional basada en sesiones, era necesario mantener la información de sesión en el servidor. Con JWT, el servidor se vuelve stateless, mejorando la escalabilidad.

Estructura de JWT

JWT se compone de tres partes, cada una codificada en Base64URL y concatenadas con puntos (.).

xxxxx.yyyyy.zzzzz
  ↓      ↓      ↓
Header.Payload.Signature

1. Header (Cabecera)

{
  "alg": "HS256",
  "typ": "JWT"
}

2. Payload (Carga útil)

{
  "sub": "1234567890",
  "name": "Tanaka Taro",
  "iat": 1705234800,
  "exp": 1705238400
}

3. Signature (Firma)

Es la firma del header y payload con una clave secreta.

Importante: El payload de JWT solo está codificado en Base64URL, no está cifrado. No incluyas información sensible en el payload.

Token de acceso y Token de actualización

TipoToken de accesoToken de actualización
UsoAutenticación de acceso a APIRenovación del token de acceso
Tiempo de expiraciónCorto (15 min - 1 hora)Largo (7 - 30 días)
Ubicación de almacenamientoMemoria o cookie de corta duraciónCookie HttpOnly

Mejores prácticas de seguridad

  1. Establecer un tiempo de expiración apropiado
  2. Usar una clave secreta fuerte
  3. Especificar el algoritmo explícitamente
  4. Almacenar en cookies HttpOnly
  5. No incluir información sensible

Resumen

JWT es una herramienta poderosa para lograr autenticación stateless. Comprendiendo su estructura e implementándolo correctamente, puedes construir sistemas de autenticación seguros y escalables.

← Volver a la lista