Documentação interna para desenvolvedores. Esta página aborda a camada de autenticação, estrutura de sessão, alternância de organização e fluxos de convite. Não se destina a usuários finais.
Mapa de rotas
Manipulador NextAuth
A rota[...nextauth] é um invólucro fino em torno de @zappway/lib/auth:
@zappway/lib/auth. Esta rota apenas delega a ela.
Objeto de sessão (AppRouteRequest.session)
Todas as rotas autenticadas recebem um AppRouteRequest com um session preenchido:
Mudança de organização (update-org)
Os usuários podem pertencer a diversas organizações. O endpoint update-org atualiza a organização ativa na sessão.
Fluxo:
- O usuário seleciona uma organização diferente na IU
POST /api/auth/update-orgé chamado com o destinoorganizationId- O servidor valida que o usuário é membro dessa organização
- O cookie de sessão é atualizado com o novo contexto organizacional
Fluxo de convite (invite)
Sincronização de administrador (admin-sync)
Endpoint interno usado para sincronizar associações de organização de nível administrativo (por exemplo, após uma atualização de plano). Chamado por webhooks de cobrança via HTTP do lado do servidor (não do cliente).
withPermissionRoute Modos de autenticação
Use
authMode: 'lightweight' para todos os endpoints de leitura para reduzir a latência.
Padrão de verificação de permissão
Problemas conhecidos/pegadinhas
runtime = "nodejs"é obrigatório na rota[...nextauth]— a biblioteca de autenticação usa APIs somente Node.js não disponíveis no Edge Runtime.- Cookies de sessão são HTTPOnly e têm escopo no domínio. Nunca tente lê-los em JS do lado do cliente.
- O endpoint
update-orgdeve invalidar quaisquer conexões WebSocket/SSE ativas para o usuário para que as atualizações em tempo real reflitam o novo contexto organizacional. - Autenticação de link mágico (se habilitada por meio da biblioteca) é gerenciada internamente pelo provedor de e-mail do NextAuth - não há rota
verify-magic-linkseparada neste aplicativo.

