Enterprise User Authentication
POST/company/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
- Obtiene estado de suscripción
Flujo detallado:
- Cliente envía email y contraseña en formato JSON
- Servidor valida campos obligatorios (400 si faltan)
- Busca usuario por email (400 si no existe)
- Verifica contraseña con bcrypt (400 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
- Verifica/crea cuenta Stripe si no existe
- Obtiene estado de suscripción del usuario
- Devuelve token con datos completos del usuario
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,
"_id": "507f1f77bcf86cd799439011",
"role": "admin",
"status": true,
"emailVerified": true,
"refresh_time": 3,
"name": "Juan",
"lastname": "Pérez García",
"country": "esp",
"accountType": "multitennant",
"hasSign": true,
"hasPaymentMethod": true,
"subscriptionStatus": {
"hasSubscription": true,
"subscriptionType": "Basic Plan"
}
}
Códigos de error:
- 400: Datos faltantes, formato inválido, o credenciales incorrectas
- 401: Compañía no encontrada, usuario no activo, o cuenta bloqueada
- 500: Error interno del servidor
Request
Responses
- 200
- 400
- 401
Autenticación exitosa
Response Headers
Datos faltantes o credenciales incorrectas
Response Headers
Usuario o compañía no válidos