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:
userIdworkspaceIdrolepermissions(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.
workspaceIdforjado é 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.