Files
adaptador-planilhas/docs/spreadsheet-adapter/10-elo-pro-auth-integration.md
camilafagundes 419325db12
ci / verify (push) Has been cancelled
Inicio do Projeto Piloto
2026-10-02 23:59:36 -03:00

1.5 KiB

Integração de identidade Elo Pro

O Adaptador não cria usuário, senha, cadastro ou papel próprio. A sessão de produção é a do Supabase Auth. O workspace ativo chega no cookie elo_pro_workspace_id e é conferido no servidor contra a membership.

Contexto autenticado

resolveAuth devolve AuthenticatedContext:

  • userId
  • workspaceId
  • role
  • permissions (adapter.session, adapter.use, adapter.manage, adapter.upload)
  • moduleEnabled

APIs passam por requireReady. Serviços chamam assertUse, que relê a flag no banco. Um workspaceId no corpo não substitui o cookie validado. rejectWorkspaceForgery registra a tentativa.

Contrato ainda não confirmado

src/server/auth/identity-port.ts lista as tabelas que o código lê hoje. O status é unconfirmed_against_real_elo_pro, exceto a flag do módulo, que é específica do Adaptador. Quando o repositório da Elo Pro estiver acessível, a adaptação acontece nesse ponto. Não há migration definitiva da Elo Pro neste repositório.

Desenvolvimento

ADAPTER_DEV_AUTH=1 só funciona com NODE_ENV diferente de production e com ADAPTER_DEV_AUTH_SECRET. Em produção a validação de ambiente recusa a flag, e devAuthEnabled() permanece falso.

Testes

  • Workspace de outro usuário não lista nem baixa o arquivo.
  • workspaceId forjado é recusado.
  • Usuário sem membership não opera.
  • Módulo desligado bloqueia mesmo que o contexto do cliente diga o contrário.
  • Produção ignora a sessão de desenvolvimento.