Saltar a contenido

Sistema de Autenticación JWT

¿Cómo funciona?

La API usa JSON Web Tokens (JWT) para proteger el acceso a los endpoints. Cuando te registras o inicias sesión, recibes dos tokens:

  • Access Token (jwtToken):_TOKEN de acceso que expira en 24 horas
  • Refresh Token: Token para renovar el acceso, válido por 7 días

Registrar una cuenta

POST /auth/registrar

Datos requeridos:

{
  "email": "tu@email.com",
  "password": "tu_contraseña",
  "name": "Tu Nombre"
}

Respuesta:

{
  "jwtToken": "eyJhbGciOiJIUzI1NiJ9...",
  "refreshToken": "eyJhbGciOiJIUzI1NiJ9..."
}


Iniciar sesión

POST /auth/acceder

Datos requeridos:

{
  "email": "tu@email.com",
  "password": "tu_contraseña"
}


Usar el token

Una vez que tienes el token, inclúyelo en cada solicitud protegida:

Authorization: Bearer eyJhbGciOiJIUzI1NiJ9...

Renovar el token

Cuando el access token expire (24 horas), usa el refresh token para obtener nuevos tokens:

POST /auth/refrescar
Authorization: Bearer <refresh_token>

Recibirás:

{
  "jwtToken": "nuevo_token...",
  "refreshToken": "nuevo_refresh..."
}


Endpoints públicos (sin autenticación)

Estos endpoints no requieren token:

Método Ruta
POST /auth/registrar
POST /auth/acceder
POST /auth/refrescar

Endpoints protegidos

Todos los demás endpoints requieren un JWT válido en el header Authorization.


Invalidación de tokens

Un token se vuelve inválido cuando:

  • Ha expirado (24 horas para access token, 7 días para refresh)
  • Ha sido revocado explícitamente
  • El usuario hace logout

Duración de los tokens

Token Duración
Access Token 24 horas
Refresh Token 7 días

Recomendaciones

  1. Guarda el refresh token de forma segura, es la llave para renovar tu sesión
  2. No expongas el JWT en URLs o logs, solo en headers
  3. Renueva antes de que expire, ideally when there are ~2 hours remaining
  4. Usa HTTPS siempre en producción