Autenticación de usuario empresa
POST/auth/login
Endpoint para autenticar usuarios administrativos de empresas registradas. Realiza las siguientes operaciones:
- Valida formato de email y contraseña
- Busca usuario en base de datos (tanto en company_user como trucker_user como fallback)
- Verifica contraseña con hash almacenado
- Comprueba estado de la cuenta (activa/bloqueada)
- Registra última IP y fecha de acceso
- Genera token JWT con claims del usuario
- Registra acceso en historial
- Verifica/crea cuenta Stripe si no existe
Flujo detallado:
- Cliente envía email y contraseña en formato JSON
- Servidor valida campos obligatorios (400 si faltan)
- Busca usuario por email (401 si no existe)
- Verifica contraseña con bcrypt (401 si no coincide)
- Comprueba estado de cuenta (401 si inactiva/bloqueada)
- Actualiza últimos datos de acceso (IP, fecha)
- Genera token JWT con datos del usuario y empresa
- Devuelve token con tiempo de expiración
Seguridad:
- Requiere HTTPS
- Contraseñas se transmiten hasheadas
- Tokens tienen expiración configurable
Ejemplo de petición:
{
"email": "admin@empresa.com",
"password": "ContraseñaSegura123!"
}
Ejemplo de respuesta exitosa:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresIn": 1712345678901
}
Códigos de error:
- 400: Datos faltantes o formato inválido
- 401: Credenciales incorrectas, usuario no existe o cuenta inactiva
- 500: Error interno del servidor
Request
Responses
- 200
- 400
- 401
Autenticación exitosa
Invalid request
Unauthorized