Skip to main content
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:
A configuração de autenticação (provedores, retornos de chamada, estratégia de sessão) reside em @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:
  1. O usuário seleciona uma organização diferente na IU
  2. POST /api/auth/update-org é chamado com o destino organizationId
  3. O servidor valida que o usuário é membro dessa organização
  4. 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-org deve 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-link separada neste aplicativo.