Login y roles¶
Flujo de login¶
El Admin SPA usa Cognito Hosted UI con PKCE (Authorization Code + PKCE). No se manipulan contraseñas en el SPA: todo va vía el hosted UI de Cognito.
sequenceDiagram
participant U as Usuario
participant A as Admin SPA
participant H as Cognito Hosted UI
participant B as auth-bff
U->>A: abre admin.dev.zen.zervizdev.com
A->>A: genera code_verifier + code_challenge
A->>H: redirect /oauth2/authorize?...&code_challenge=...
U->>H: ingresa credenciales
H->>A: redirect /callback?code=...
A->>H: POST /oauth2/token (code + code_verifier)
H->>A: id_token + access_token + refresh_token
A->>B: GET /v1/auth/session (Authorization: Bearer access_token)
B->>A: tenant_id + roles + features
Detalles en ADR-0005 (Auth) y la guía técnica Auth Cognito PKCE.
Roles disponibles¶
| Rol | Capacidades |
|---|---|
viewer |
Ver flows, widgets y reportes. No edita. |
editor |
Crea/edita flows y widgets. No publica. |
admin |
Publica flows, gestiona usuarios del tenant, configura canales. |
super-admin |
Cross-tenant (sólo Zerviz interno). Acceso a tenant-mgmt global. |
El rol vive en el claim custom:role del ID token Cognito.
Cerrar sesión¶
Botón Cerrar sesión en el header. Invalida el refresh token vía
/oauth2/revoke y limpia sessionStorage.
Recuperar contraseña¶
Desde el hosted UI: link ¿Olvidaste tu contraseña?. Cognito envía un código al email registrado.
Multi-factor¶
MFA por TOTP está habilitado opcional. Para forzarlo a nivel de tenant, abre ticket al equipo de plataforma — se activa por user pool, no por SPA.