Skip to main content

API - Autenticación

Visión General

Los endpoints de autenticación permiten a los usuarios iniciar sesión, registrarse y gestionar sus credenciales de acceso. Utiliza autenticación JWT para mantener sesiones seguras.


POST /auth/login

Iniciar sesión y obtener token JWT.

Request

{
"email": "usuario@email.com",
"password": "contraseña123"
}

Response Success (200)

{
"success": true,
"message": "Login exitoso",
"data": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"user": "encrypted_user_data",
"expires_in": 36000
}
}

Response Error (401)

{
"success": false,
"message": "Credenciales inválidas"
}

POST /auth/signup

Registrar nuevo usuario.

Request

{
"email": "nuevo@email.com",
"password": "contraseña123",
"first_name": "Juan",
"last_name": "Pérez",
"phone": "+57 310 123 4567",
"document_id": "12345678"
}

Response Success (201)

{
"success": true,
"message": "Usuario creado exitosamente",
"data": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"user_id": 123
}
}

PUT /auth/change-password

Cambiar contraseña del usuario autenticado.

Request

{
"current_password": "contraseña_actual",
"new_password": "nueva_contraseña123"
}

Response Success (200)

{
"success": true,
"message": "Contraseña actualizada exitosamente"
}

POST /auth/forgot-password

Solicitar restablecimiento de contraseña.

Request

{
"email": "usuario@email.com"
}

Response Success (200)

{
"success": true,
"message": "Email de recuperación enviado"
}

POST /auth/verify-and-change-password

Verificar token y cambiar contraseña.

Request

{
"token": "reset_token_here",
"new_password": "nueva_contraseña123"
}

Response Success (200)

{
"success": true,
"message": "Contraseña restablecida exitosamente"
}

Configuración de Headers

Autenticación Requerida

Authorization: Bearer <jwt_token>
Content-Type: application/json

Seguridad

  • Tokens JWT válidos por 10 horas
  • Rate limiting: 5 intentos de login por minuto por IP
  • Encriptación de datos sensibles con AES-256