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