Autenticación
Login
Iniciar sesión como usuarios con tus credenciales y obtener un token de autenticación.
POST /auth/login
Autentica un usuario con email y contraseña. El proceso requiere autenticación en dos pasos (2FA) mediante PIN o código OTP. Si tienes activo el OTP, el PIN no estará funcional para este endpoint por seguridad.
Autenticación
No requiere autenticación previa.
Request
{
"email": "[email protected]",
"password": "contraseña123",
"remember": true,
"two_factor_code": "1234"
}Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
email | string | Si | Email del usuario |
password | string | Si | Contraseña del usuario |
remember | boolean | No | Mantener sesión activa por 180 días (por defecto 2 horas) |
two_factor_code | string | No | Código 2FA: PIN de 4 dígitos o código OTP de 6 dígitos |
Flujo de autenticación
- Envía
emailypasswordsintwo_factor_code. - Si las credenciales son correctas, recibirás un
202indicando que se requiere el código 2FA. - Reenvía la petición incluyendo el
two_factor_code(PIN enviado por email o código OTP de tu app autenticadora).
Response (202 - Código 2FA requerido)
{
"info": "Código 2FA requerido",
"notified": false,
"has_otp": true
}Response (200 - Login exitoso)
{
"accessToken": "203955|abc123...",
"token_type": "Bearer",
"me": {
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"email": "[email protected]",
"name": "Juan",
"username": "juan123",
"balance": "150.75"
}
}Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
accessToken | string | Token Bearer para usar en peticiones autenticadas |
token_type | string | Tipo de token (Bearer) |
me | object | Datos del usuario autenticado |
security_warning | object | null | Alerta si la contraseña aparece en filtraciones conocidas |
Errores
| Código | Descripción |
|---|---|
400 | Datos inválidos (email o password faltantes) |
401 | Credenciales incorrectas, usuario no encontrado o cuenta inactiva |
403 | Contraseña comprometida en filtraciones de datos. Incluye action: "reset_password" |
423 | Cuenta bloqueada temporalmente por múltiples intentos fallidos |
429 | Demasiadas solicitudes de inicio de sesión |