Exercício 3 sobre autenticação web com Next.js e Supabase, cobrindo…
INEMA
exercicio 3
┌────────────────┬────────────────────────────────────────────────────────────┐
│ Rota │ Descrição │
├────────────────┼────────────────────────────────────────────────────────────┤
│ /cadastro │ Formulário de cadastro (nome, email, senha) + botão Google │
├────────────────┼────────────────────────────────────────────────────────────┤
│ /login │ Formulário de login (email, senha) + botão Google │
├────────────────┼────────────────────────────────────────────────────────────┤
│ /dashboard │ Página protegida (mostra dados do usuário) │
├────────────────┼────────────────────────────────────────────────────────────┤
│ /auth/callback │ Rota que processa o retorno do OAuth │
└────────────────┴────────────────────────────────────────────────────────────┘
Funcionalidades
- Cadastro por email/senha com confirmação por e-mail
- Login com Google (OAuth)
- Middleware que protege rotas - redireciona para /login se não autenticado
- Logout funcional no dashboard
Configuração necessária no Supabase
Para o Google OAuth funcionar, você precisa configurar no painel do Supabase:
- Vá em Authentication > Providers > Google
- Ative o provider e adicione seu Client ID e Client Secret do Google Cloud Console
- No Google Cloud Console, adicione esta Redirect URI:
bdckkwvje545445.supabase.co/auth/v1/callback ↗ - Em Authentication > URL Configuration, defina o Site URL:
localhost:3000 ↗ - Adicione localhost:3000 ↗ nos Redirect URLs
Para testar: npm run dev e acesse localhost:3000 ↗
1