Skip to content

Autenticación y 2FA

El sistema utiliza un flujo de autenticación seguro de dos factores (2FA) para proteger el acceso de los distribuidores.

Paso 1: Credenciales

El endpoint /api/login recibe el email y la contraseña.

  • Se valida la existencia del usuario en la tabla distribuidores.
  • Si las credenciales son correctas, se genera un código aleatorio de 6 dígitos y se establece una expiración de 10 minutos.
  • El código se envía al usuario a través del servidor SMTP de Brevo (smtp-relay.brevo.com).

Paso 2: Verificación (2FA)

El endpoint /api/verify-2fa procesa la validación final:

  • Validación: Comprueba que el email coincida con el código y que este no haya expirado (2fa_expires > NOW()).
  • Seguridad: Una vez validado, el código se elimina de la base de datos para que no pueda ser reutilizado.
  • Token: Si la verificación es exitosa, se genera un token de acceso y se retornan los datos del usuario (ID, Email y Nombre).