feat(auth): estrategia multicanal (WebControl + Google/Facebook + MariaDB Staff) y rediseño de login con mascota bot

This commit is contained in:
2026-10-20 15:35:43 -05:00
parent 72ce6adc12
commit f7cfccefa8
11 changed files with 694 additions and 133 deletions
+10
View File
@@ -34,3 +34,13 @@
- **Alcance:** Despliegues de la aplicación a producción (`desplegar.sh`, `servers.conf`).
- **Restricción:** El despliegue debe utilizar `servers.conf` (copiado desde `servers.conf.example`, nunca commiteado). No utilizar `sudo` interactivo ni contraseñas fijas en el servidor; el ciclo de vida, reinicio y auditoría de salud debe coordinarse a través de la API REST de **SIAX Monitor** en `http://$HOST:8080` (`POST /api/apps/HELPDESK/restart` y `GET /api/apps/HELPDESK/status`).
- **Motivo:** Cumplimiento de la política oficial de despliegue del ecosistema Telcotronics (Prompt 8 y Feedback #25).
## 8. Estrategia Multicanal de Autenticación
- **Alcance:** Autenticación de usuarios, modelos de acceso y vistas de login (`/login`, `/auth/google`, `/auth/facebook`, `User.js`, `views/auth/login.ejs`).
- **Restricción:**
1. **Clientes de la Plataforma:** Autentican contra la API central `API-SIGMA-WEBCONTROL` (`http://192.168.10.160:3002/api/auth/login` con fallback a `https://api.siax-system.net/api/auth/login`), aprovisionándose automáticamente con rol `client`.
2. **Nuevos Clientes:** Autenticación social federada vía Google OAuth (GIS tokeninfo) y Facebook OAuth (Graph API), aprovisionándose como clientes.
3. **Personal Técnico y Staff:** Acceso local sobre MariaDB `help_desk.users` reservado exclusivamente para roles operativos (`superadmin`, `admin`, `agent`). Queda prohibido el ingreso de clientes por la consola técnica.
4. **Seguridad de Credenciales:** La tabla `users` soporta contraseñas opcionales (`NULL`) para cuentas federadas, rastreando `provider`, `provider_id` y `avatar_url`.
- **Motivo:** Integración sin fisuras con el ecosistema de cuentas SIGMA WebControl y simplificación de onboarding para clientes externos.