Aller au contenu principal

Autenticación de usuario empresa

POST 

/auth/login

Endpoint para autenticar usuarios administrativos de empresas registradas. Realiza las siguientes operaciones:

  1. Valida formato de email y contraseña
  2. Busca usuario en base de datos (tanto en company_user como trucker_user como fallback)
  3. Verifica contraseña con hash almacenado
  4. Comprueba estado de la cuenta (activa/bloqueada)
  5. Registra última IP y fecha de acceso
  6. Genera token JWT con claims del usuario
  7. Registra acceso en historial
  8. Verifica/crea cuenta Stripe si no existe

Flujo detallado:

  1. Cliente envía email y contraseña en formato JSON
  2. Servidor valida campos obligatorios (400 si faltan)
  3. Busca usuario por email (401 si no existe)
  4. Verifica contraseña con bcrypt (401 si no coincide)
  5. Comprueba estado de cuenta (401 si inactiva/bloqueada)
  6. Actualiza últimos datos de acceso (IP, fecha)
  7. Genera token JWT con datos del usuario y empresa
  8. 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

Autenticación exitosa