Portal cliente SaaS ERP

Acceso inicial con cookie HttpOnly, Identity y PostgreSQL.

La ruta inicial queda centrada en el login y la sesion valida redirige a una vista principal separada. El segundo factor sigue fuera de esta entrega.

Reglas activas

Solo entran usuarios activos asociados a una licencia valida.

Sesion

Cookie HttpOnly, sin localStorage y con recordatorio opcional.

Infraestructura

Identity queda encapsulado en backend sobre PostgreSQL temporal.

Nueva organizacion del front

app: solo rutas y entrada de pagina.

features/auth: store, API y pantallas de autenticacion.

components/ui: piezas reutilizables como botones e inputs.

Escenarios demo

Cuentas seed para validar el flujo

QA

marta@acme.test

Clave demo: SaasErp2026!

seed temporal

Acceso permitido

inactivo@acme.test

Clave demo: SaasErp2026!

seed temporal

Usuario inactivo

licencia@acme.test

Clave demo: SaasErp2026!

seed temporal

Licencia suspendida

Acceso cliente

Entrar al sistema

El login queda aislado en su propia ruta y la sesion valida te lleva al panel principal.

Estado de esta fase

La sesion se mantiene por cookie HttpOnly y el front recupera el contexto con /auth/me.

La vista principal queda ya separada para que el login no mezcle acceso y dashboard.

Rutas actuales: / y /dashboard