079cedbaed80bf68bb1adc906aa5fb9bcdc3d7e1
- 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>
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.
Languages
TypeScript
89.5%
HTML
8.7%
CSS
1.8%