JWT


¿Qué es JWT?

JWT (JSON Web Token) es un formato de token utilizado para autenticación y autorización, que incluye información codificada y firmada digitalmente. Se compone de tres partes: header, payload y signature.


Estructura de un JWT

Un token JWT tiene tres partes separadas por puntos (.):

HEADER.PAYLOAD.SIGNATURE

Cada parte está codificada en Base64 y representa:

  • Header (cabecera): indica el algoritmo de firma y el tipo de token.
  • Payload (carga útil): contiene los datos (claims), como el ID de usuario, roles, expiración, etc.
  • Signature (firma): sirve para verificar que el token no ha sido modificado.
//Ejemplo real de JWT
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
.
eyJ1c2VySWQiOiIxMjM0Iiwicm9sZSI6InVzZXIiLCJleHAiOjE3MDAwMDAwMDB9
.
dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk

// Header (decodificado)
{
  "alg": "HS256",
  "typ": "JWT"
}

// Payload (decodificado)
{
  "alg": "HS256",
  "typ": "JWT"
}

Signature: Generada combinando el header + payload + clave secreta, usando el algoritmo especificado (HS256 en este caso).

¿Para qué sirve?

  • Verificar identidad del usuario.
  • Acceso a APIs sin sesiones de servidor.
  • Compartir información entre servicios de forma segura.

Ventajas

  • Stateless: no requiere guardar sesión en el servidor.
  • Autocontenido: incluye la información del usuario.
  • Seguro: puede ser firmado y cifrado.

Conclusión

JWT es una solución moderna para manejar autenticación y autorización en aplicaciones distribuidas y sin estado.


Usamos cookies para mejorar tu experiencia. ¿Aceptas las cookies de análisis?