Pular para o conteúdo

Portal Aura

IN-SCOPE

O Portal Aura é a home da plataforma — ponto de entrada para todas as aplicações internas do Grupo Profarma. Funciona como um catálogo de apps com autenticação SSO integrada.

AtributoValor
URLhttps://app.profarma.dev/
Path/
TipoSPA (Single Page Application)
AuthAzure AD SSO (primário), Login local, Guest access
Stack FrontendReact + Tailwind CSS
StatusProdução
  • Grid responsivo com cards dos apps disponíveis
  • Filtragem por status (publicado, draft, fork)
  • Verificação de acesso via Cloudflare Turnstile
  • Deep links para cada aplicação
  • SSO Microsoft (Azure AD / Entra ID) — OAuth 2.0 + OIDC
  • Login local — email + password (bcrypt hash)
  • Guest access — convites com token + Turnstile
  • CRUD de aplicações (título, ícone, URL, visibilidade)
  • Gestão de convites guest (criar, revogar, listar)
  • Monitoramento de acessos e verificações
  • Acesso restrito a emails com flag isAdmin
MétodoPathAuthDescrição
GET/JWT CookiePortal SPA (index.html)
GET/api/appsJWTLista apps publicados
GET/api/apps/:slug/forksJWTLista forks de um app
GET/api/admin/appsJWT + isAdminLista todos os apps
POST/api/admin/appsJWT + isAdminCria app
PUT/api/admin/apps/:idJWT + isAdminAtualiza app
DELETE/api/admin/apps/:idJWT + isAdminDeleta app
flowchart TD
    U["Usuário"] --> URL["app.profarma.dev"]
    URL --> AUTH{"Autenticado?"}
    AUTH -- "Não" --> SSO["Redirect SSO<br/>Microsoft"]
    SSO --> URL
    AUTH -- "Sim" --> PORTAL["Portal<br/>Grid de Apps"]
    PORTAL --> CLICK["Click em App"]
    CLICK --> TURN["Turnstile<br/>Challenge"]
    TURN --> APP["App Carrega"]
    style U fill:#1a2744,stroke:#00aaaf,color:#e0e6f0
    style URL fill:#00aaaf,stroke:#008a8e,color:#fff
    style AUTH fill:#3c1469,stroke:#2a0e4a,color:#fff
    style SSO fill:#0078d4,stroke:#005a9e,color:#fff
    style PORTAL fill:#1a2744,stroke:#00aaaf,color:#e0e6f0
    style TURN fill:#f59e0b,stroke:#d97706,color:#1a1a1a
    style APP fill:#22c55e,stroke:#16a34a,color:#fff
  • Testar bypass de Turnstile challenge no acesso a apps
  • Validar RBAC: usuário regular não deve acessar /admin
  • Verificar session fixation nos fluxos SSO → local → guest
  • Testar rate limiting nos endpoints de auth