GeorgeandClaude Sonnet 5.5 079cedbaed feat(api): login web con sesiones, guard global y freno a fuerza bruta
- POST /api/auth/login (U_WEB_USER/U_WEB_PASS de EmployeesInfo), logout y me.
- Token opaco (32 bytes) en Authorization: Bearer; una sesión por usuario,
  timeout deslizante configurable (SESSION_TIMEOUT_MINUTES, 30 por defecto).
- AuthGuard global con @Public(); /health/sap ahora exige sesión.
- Usuario inexistente y contraseña errónea devuelven el mismo mensaje;
  comparación en tiempo constante; filtro OData escapado; se rechazan
  U_WEB_USER duplicados.
- LoginAttemptsService: 429 tras 5 fallos por usuario o 20 por IP (15 min).
- Tests unitarios y e2e con SAP simulado.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 18:38:11 -05:00

basic-erp

ERP base para SAP Business One sobre NestJS + Angular (TypeScript en ambos lados).

apps/api         NestJS (proxy Service Layer, auth, permisos)
apps/web         Angular (componentes reutilizables)
libs/sap-types   Tipos compartidos
tools/           Mockups y pruebas

Requisitos: Node 22+ y npm 10+. npm install en la raíz instala todos los workspaces.

S
Description
No description provided
Readme
3.5 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 89.5%
HTML 8.7%
CSS 1.8%