Files
DeskcommCRM/docs/diagrams
Rafael MelgaçoandClaude Fable 5 fd1e291186 feat(auth): signup self-service + recuperação de senha (E2E provado) (#27)
Dois fluxos novos a partir da página de login, com botões dedicados:

- /signup: criar conta (empresa + email + senha) via GoTrue signUp com
  confirmação por e-mail; anti-enumeração (resposta idêntica p/ email já
  cadastrado); tenant provisionado só na confirmação (sem orgs órfãs)
- /auth/confirm: route handler canônico @supabase/ssr (verifyOtp por
  token_hash) — hub único dos links de e-mail; type=signup provisiona
  org (status active) + membership admin idempotente; type=recovery
  encaminha p/ /login/reset
- /login/forgot + /login/reset: recuperação de senha com resposta neutra,
  updateUser na sessão de recovery, signOut e login limpo com a senha nova
- templates de e-mail próprios (token_hash flow) + config.toml habilita
  signup; major_version 15→17 (baseline é dump PG17 — MAINTAIN)
- 10 ações novas no catálogo de audit (trilha completa dos 2 fluxos)
- docs self-host: seção de e-mails de auth (Dashboard + GOTRUE_*)
- diagrama archify dos fluxos em docs/diagrams/
- E2E Playwright reais (Mailpit): signup-journey e password-recovery,
  2/2 verdes contra next start + Supabase local; playwright.config passa
  a exigir servidor próprio (reuseExistingServer: false) e next start


Claude-Session: https://claude.ai/code/session_01454SGvQ7wBAvah8ZPnnWXv

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 19:46:48 +00:00
..