Saltar a contenido

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.