// ESTUDO · ARQUITETURA SAAS SEGURA · OPEN SOURCE

AuthStudy

Prova de conceito de uma arquitetura SaaS moderna: BFFs em .NET 10, autorização ABAC/RBAC com EF Core + PostgreSQL e microfrontends React, com autenticação baseada em cookies HttpOnly e sessões no Redis.

OPEN SOURCE .NET 10BFFABAC/RBACMICROFRONTEND

Motivação do estudo

O objetivo do AuthStudy é entender, na prática, como montar a espinha dorsal de autenticação e autorização de um produto SaaS multi-tenant de forma segura e desacoplada.

Em vez de guardar tokens no localStorage (exposto a XSS), o estudo explora o padrão BFF (Backend for Frontend). O token nunca chega ao JavaScript do navegador, ele vive em cookies HttpOnly e em sessões no Redis, e o BFF é quem deriva e injeta o JWT nas chamadas aos serviços. Além disso, o estudo investiga autorização fina (ABAC/RBAC) e como compor uma UI a partir de microfrontends independentes sob um App Shell.

O que foi feito

  1. BFFs em .NET 10: uma camada de backend por frontend que intermedia o acesso aos serviços e cuida da sessão.
  2. Autenticação segura: login que emite Set-Cookie HttpOnly. O BFF valida a sessão no Redis e deriva o JWT pras chamadas internas.
  3. Autorização ABAC/RBAC: papéis e atributos modelados com EF Core + PostgreSQL, controlando o que cada usuário pode fazer.
  4. Microfrontends React: App Shell em :3000 que carrega frontends independentes, consumindo o BFF em :5000.
  5. Desenvolvimento spec-driven: fatias documentadas em specs/ (roles no Supabase, MVP de auth/roles, CRUD de catálogo de produtos).
  6. Orquestração local: tudo sobe com um único docker-compose up --build.

Stack

  • ◆ BACKEND: .NET 10 (BFFs), EF Core, PostgreSQL, Redis (sessões).
  • ◈ FRONTEND: React em arquitetura de microfrontends sob um App Shell.
  • ⛨ SEGURANÇA: cookies HttpOnly, sessões no Redis, JWT derivado pelo BFF, ABAC/RBAC.
  • ⌂ INFRA: Docker Compose pra orquestrar todos os serviços localmente.

Como rodar

# 1. Gerar certificados de dev em ~/.aspnet/https/ (HTTPS confiável)

# 2. Subir todos os serviços
docker-compose up --build

# 3. App Shell React  → http://localhost:3000
#    BFF (.NET 10)    → http://localhost:5000

# Código aberto

O AuthStudy é open source, feito pra estudar e servir de referência de arquitetura.