Voltar para o Blog
Vibe Coding22 / 40
  1. 01O que é vibe coding (e o que não é)
  2. 02De escrever código a dirigir a intenção
  3. 03O ciclo: contexto → plano → geração → revisão
  4. 04O arsenal: visão geral do nosso stack de IA
  5. 05Quando não usar vibe coding
  6. 06Da ideia ao protótipo em horas
  7. 07Claude para brainstorm de produto e PRD
  8. 08Claude Artifacts para mockups instantâneos
  9. 09Lovable: do prompt ao app funcional
  10. 10Google AI Studio: prototipando com Gemini
  11. 11Lovable × Claude × Google Studio: quando usar cada um
  12. 12Claude Code: o par de programação que conhece o monorepo
  13. 13Anatomia de um bom prompt de engenharia
  14. 14Plan mode: planejar antes de gerar
  15. 15Skills e slash commands (/investigate, /review, /ship)
  16. 16Refactors e migrations em massa
  17. 17Debugging com IA: do stack trace à causa raiz
  18. 18Supabase: a espinha dorsal de dados
  19. 19Modelagem com Drizzle ORM
  20. 20RLS na prática: a regra que não tem exceção
  21. 21Migrations SQL à mão e o drift DB↔Drizzle
  22. 22Auth com Google OAuth no Supabase
  23. 23Realtime, Storage e o resto do Supabase
  24. 24Trigger.dev: o piloto automático
  25. 25Seu primeiro job agendado
  26. 26Workflows com retry e observabilidade
  27. 27IA em background: resumos e narrativas
  28. 28Deploy do Trigger.dev e as pegadinhas
  29. 29Evolution API: WhatsApp como canal de produto
  30. 30Instância por usuário e gestão centralizada
  31. 31IA gerando resumos de conversa
  32. 32Boas práticas e armadilhas no WhatsApp
  33. 33Integrando APIs de terceiros com IA
  34. 34Anthropic SDK: Claude dentro do produto
  35. 35Resend: e-mail transacional que chega
  36. 36Google Analytics, Search Console e Ads
  37. 37Rate limit, retry, idempotência e secrets
  38. 38GitHub: CI/CD e AI Code Review como portão de qualidade
  39. 39Deploy no Google Cloud Run
  40. 40A cultura por trás do vibe coding (e o futuro)
Vibe CodingParte 22 de 40

Auth com Google OAuth no Supabase

2 min de leitura
Compartilhar
Vibe Coding

Autenticação é daquelas áreas onde "quase certo" é igual a "errado" — e onde vibe coding pede revisão dobrada. No ClubPetro o login roda sobre o Supabase Auth com Google OAuth. Este post mostra como pensamos essa camada.

Por que Supabase Auth + Google

A plataforma é interna: quem entra é o time (CSMs, gestores, etc.). Google OAuth resolve isso com elegância — ninguém cria senha, o acesso usa a conta corporativa que a pessoa já tem, e o Supabase cuida da sessão e da identidade.

Onde auth encontra os dados

Aqui está o pulo do gato que liga este post ao #20: o usuário autenticado pelo Supabase é exatamente quem as policies de RLS avaliam. Auth e RLS são dois lados da mesma moeda:

  • Auth responde "quem é você?".
  • RLS responde "o que você, sendo quem é, pode ver?".

Login bom com RLS frouxo não protege nada. RLS rígido sem auth correto trava todo mundo. Os dois andam juntos.

O atalho de desenvolvimento (e o cuidado que ele exige)

Pra não ter que logar a cada hot-reload, existem flags de dev: SKIP_AUTH, DEV_USER_EMAIL. Elas são uma faca de dois gumes:

  • Facilitam o desenvolvimento local.
  • Mas nosso .env.local local aponta pra produção. Então mexer com auth em dev é mexer perto de dado real. Cuidado redobrado — e jamais leve flag de bypass pra um ambiente exposto.

Vibe coding em auth: a coleira

Auth é território de revisão dobrada (lembra do #05, "quando não usar vibe coding"). A IA pode rascunhar fluxo, callback, guard — mas:

  • Revise cada decisão de permissão à mão. Um guard errado abre porta.
  • Teste o caminho de quem NÃO devia entrar, não só o feliz.
  • Secret é secret. Chave de OAuth, service role key — nunca no código, sempre em variável de ambiente.
  • Service role key ignora RLS. Use no servidor, com consciência; nunca exponha no client.

A divisão de trabalho

A IA acelera o boilerplate de auth (telas, callbacks, hooks). Decidir o modelo de permissão e validar que ele está fechado é humano e inegociável. Em segurança, a gente é Leal a Dados de um jeito específico: testa o acesso negado, não confia que "deve estar ok".

⚠️ Armadilha #22: validar auth só pelo caminho feliz ("loguei, entrei, funciona"). O que importa em segurança é o caminho que deveria falhar — e esse quase nunca é testado por quem só viu dar certo.

Próximo da série: #23 — Realtime, Storage e o resto do Supabase.

Curtiu como a gente pensa?

É assim que trabalhamos todo dia.

Se esse jeito de pensar é o seu, vem construir com a gente — dá uma olhada nas vagas abertas.

Ver vagas