Biblioteca de prompts

Login com Supabase

IntermediárioAutenticação

E-mail e senha (e os métodos que você listar) com rota protegida e sessão que sobrevive ao reload.

Quando usar

Use quando o projeto já tem, ou vai ter, Supabase. Não use se a autenticação for de outro fornecedor: troque o prompt em vez de deixar o modelo misturar os dois.

Variáveis

[APP_NAME][STACK][METHODS][AFTER_LOGIN][PROTECTED_ROUTES]

Copiar prompt

Adicione autenticação com Supabase ao app [APP_NAME], no stack [STACK].

Decisões já tomadas
- Métodos: [METHODS]
- Para onde ir depois do login: [AFTER_LOGIN]
- Rotas que exigem sessão: [PROTECTED_ROUTES]

Não troque a biblioteca de UI do projeto. Não crie um backend paralelo de usuários.

Implementar
- Cadastro, login e sair, só com os métodos de [METHODS].
- Se [METHODS] incluir e-mail/senha: senha com mínimo de 8 caracteres, mensagem genérica quando o login falha (não diga se o e-mail existe).
- Sessão que continua depois de recarregar a página.
- [PROTECTED_ROUTES] redireciona para o login quando não há sessão, e volta para a URL original depois.
- Botão de sair que limpa a sessão e manda para a página pública.
- Variáveis de ambiente documentadas num .env.example. A chave anon/public pode ir no cliente. A service_role não pode. Se você precisar dela, deixe num servidor e diga o arquivo.

Não fazer
- Não imprimir a sessão no console em produção.
- Não guardar senha em localStorage.
- Não desligar a confirmação de e-mail sem eu pedir.

Entrega
1. Arquivos alterados, em lista.
2. Passos no painel do Supabase (URL de redirect, provedor) que o código não configura sozinho.
3. Um teste manual: cadastrar, sair, entrar, abrir uma rota protegida sem sessão, recarregar já logado.

Se o repositório não tiver cliente Supabase, crie a menor ligação possível e pare para eu colar a URL e a anon key. Não invente essas duas strings.

Como rodar este prompt

  1. Liste os métodos. E-mail/senha é o padrão. Só acrescente OAuth se METHODS citar o provedor.
  2. Aponte as rotas. PROTECTED_ROUTES é a lista que precisa de sessão.
  3. Revise a chave. Procure service_role no código do browser antes de commitar.

Onde isso quebra

A chave service_role não pode ir para o cliente. O prompt pede para apontar o arquivo se isso acontecer. Confirme o redirect do e-mail no painel, porque o código sozinho não prova isso.

Resultado

Espaço para screenshot ou demo. Ainda não há resultado publicado.