Adicione login com Google a qualquer site com Supabase

Adicione login com Google à sua autenticação do Supabase existente, configure o OAuth corretamente e teste todo o fluxo de login.

Roadmap e recursos

Crie o cliente OAuth do Google

Autenticação do Supabase existente

Este guia adiciona o Google como opção de login a um site que já tem a autenticação do Supabase funcionando — cadastro, login e sessões. Se o seu ainda não tem, conclua isso primeiro e depois volte aqui.

Adicione autenticação de usuários a qualquer site com Supabase

Cria cadastro, login, sessões e áreas protegidas com o Supabase.

/video/add-user-authentication-supabase

Copie a Callback URL do Supabase

Abrir o Supabase

https://supabase.com/dashboard

Your project Authentication Sign In / Providers Google

Copie a Callback URL (for OAuth). Ela vai no Google Cloud, não no código do seu site.

Configure o Google Auth Platform

Abrir o Google Cloud Console

https://console.cloud.google.com/auth/branding

Your project Google Auth Platform

Adicione as informações do seu app em Branding — escolha "External" como Audience Publique o app em Audience — ou mantenha-o em "Testing" e adicione você mesmo como usuário de teste Confirme os escopos básicos em Data Access

openid

.../auth/userinfo.email

.../auth/userinfo.profile

Crie o cliente OAuth

Google Auth Platform Clients Create client

Escolha "Web application" Adicione seu site em Authorized JavaScript origins Cole a Callback URL do Supabase em Authorized redirect URIs Clique em "Create" Copie o Client ID e o Client Secret — o Google mostra o segredo só uma vez

URL do seu site → Authorized JavaScript origins

Callback URL do Supabase → Authorized redirect URIs

Conecte o Google ao Supabase

Adicione o cliente do Google ao Supabase

De volta ao provedor do Google no Supabase — a mesma aba da Etapa 1.

Your project Authentication Sign In / Providers Google

Ative o Google

Cole o Client ID do Google

Cole o Client Secret do Google

Salve

Mantenha o Client Secret privado

O Client Secret deve ficar apenas no Supabase. Nunca o exponha no código do frontend nem em uma variável de ambiente pública.

Adicione login com Google

Adicione o botão de login com Google

Sua IA adiciona o Google ao login que você já tem, sem reconstruí-lo.

Adicione "Continue with Google"

Adiciona login com Google à sua autenticação do Supabase existente mantendo seu fluxo de login atual intacto e depois informa as Redirect URLs de que você precisa no Supabase.

Add "Continue with Google" to this project's existing Supabase Authentication. Google is already enabled as a provider in my Supabase project, and the Google Client ID and Client Secret are already saved there. Nothing about Google needs to be configured in code. Before changing anything, inspect the current project: - the existing Supabase client(s) and how they are configured - the sign-in page, and the sign-up page if there is one - any existing auth callback route - how protected pages are guarded - how the session is read, kept in sync, and signed out - whether a profile row is created for new users - whether any signed-in user has private data of their own (for example rows protected by Row Level Security) Preserve this project's existing authentication architecture. Make the smallest focused change that adds Google — do not refactor, rename or restyle unrelated code. WHAT TO DO - Add one "Continue with Google" button to the existing sign-in page, and to the sign-up page if there is one. Match the existing design and components. - Start sign-in with the project's existing Supabase client: supabase.auth.signInWithOAuth({ provider: 'google', options: { redirectTo } }). - Follow this project's own architecture instead of forcing one: - Browser-only app: make sure the page the user returns to picks up the new session through the existing session handling. - PKCE or server-rendered auth (for example @supabase/ssr or Next.js): return through a callback route that exchanges the code for a session with the existing server-side client. Reuse an existing callback route; add one only if none exists, following the project's routing conventions. - redirectTo is a page on THIS website. Build it at runtime from the current site origin, or from the project's existing site URL setting. Never hard-code localhost or a domain. - Never use the Supabase Callback URL (the one ending in /auth/v1/callback) as redirectTo — that URL belongs only in Google Cloud, not in this project's code. - After sign-in, send the user where email/password sign-in already sends them, and keep any existing "return to the page I came from" behavior. - Show a loading state while sign-in starts, and prevent repeated clicks. - If sign-in fails or is cancelled, show an error in the existing style and keep the page usable. - Returning users: the same Google account must reuse the same Supabase user, never create a duplicate. Make any profile creation safe to run more than once. - If a profile row is created for new users, make sure it works for Google users too — they have no password and no sign-up form fields; Google provides their name and picture in the user metadata. - If any signed-in user has private data of their own, preserve the existing data isolation exactly as it is (Row Level Security, policies, user id ownership, server-side checks) for a Google user too. Do not loosen, bypass or duplicate it. - Do not build custom account linking — Supabase already links a Google sign-in to an existing user with the same verified email. KEEP AS IT IS - the existing authentication UI and architecture - email/password sign-in and sign-up, if the project has them - protected routes and their guards - session handling and sign-out - Row Level Security and database policies - environment variables and the existing Supabase client configuration - unrelated pages and design NEVER - rebuild or replace the existing authentication - create a second Supabase client or a second authentication system - add a Google sign-in library or call Google APIs directly - put the Google Client Secret, a Supabase secret key or a service-role key in frontend code - deploy anything Run the production build and fix any errors you introduced. Finish with exactly this summary: GOOGLE LOGIN ADDED - Files changed: <each file, with what changed> - Sign-in flow: <browser / callback route at path> - Return URL: <the exact redirectTo path this code uses> - Supabase Redirect URLs to allow: <each full URL this code uses, one per line — the live site and local development; if the live domain is unknown, the path to add after it> - Private user data: <preserved / not applicable> - Still to do: <nothing, or a short list>

Adicione as URLs de retorno

Adicione apenas as Redirect URLs que sua IA listou acima.

Your project Authentication URL Configuration Redirect URLs

Estas não são a Callback URL da Etapa 1 — aquela vai apenas no Google Cloud.

Teste o login com Google

O login com Google funciona

Abra seu site, clique em "Continue with Google" e escolha uma conta do Google. Confirme que você volta ao site conectado.

Se quiser, confirme a conta em:

Your project Authentication Users

Entrar de novo funciona

Saia e depois entre com o Google novamente. Confirme que o Supabase reutiliza sua conta existente em vez de criar uma duplicada.

A autenticação existente continua funcionando

Confirme que adicionar o Google não mudou nada do que já funcionava.

Você continua conectado depois de atualizar a página

As páginas protegidas continuam exigindo login

O login com e-mail e senha continua funcionando, se o seu app tiver

Cada usuário continua vendo apenas os próprios dados privados

O login com Google já funciona

A etapa final verifica o nome e o logo do seu app para que os usuários reconheçam sua marca. Substituir um endereço de autenticação supabase.co visível é outra coisa e exige um domínio personalizado do Supabase.

Verifique e personalize o login com Google

Recomendado para produção

O login com Google já funciona. Esta etapa mostra o nome e o logo verificados do seu app quando os usuários fazem login.

Complete a identidade visual do seu app no Google

Abrir o Google Auth Platform

https://console.cloud.google.com/auth/branding

Google Auth Platform Branding

App name

App logo

Application home page

Application privacy policy link

Application terms of service link, se você tiver um

Authorized domain

Developer contact information

Adicione páginas de política de privacidade e termos a qualquer site feito com IA

Ainda não tem política de privacidade nem página de termos? Crie-as primeiro.

/video/add-privacy-policy-and-terms-pages-to-any-ai-built-website

Verifique seu domínio e sua marca

Abra o Google Search Console

https://search.google.com/search-console

Verifique seu domínio no Google Search Console, se ainda não fez isso Volte à página Branding no Google Auth Platform Clique em "Verify Branding"

O Google pode aprovar automaticamente ou exigir uma revisão.

Publique e teste de novo

Quando o Google mostrar "Ready to publish", clique em "Publish branding" Abra seu site em uma janela anônima do navegador Clique em "Continue with Google" Confirme que o nome e o logo do seu app aparecem

Opcional: use um domínio de autenticação personalizado

Recurso pago do Supabase — não é necessário para o login com Google. Use-o para ter uma URL de autenticação com a sua marca ou se a verificação do Google exigir um domínio de autenticação que você controla.

A verificação da marca muda o nome e o logo que o Google mostra. Um domínio personalizado do Supabase substitui o endereço de autenticação padrão project-ref.supabase.co pelo seu, como auth.example.com.

Depois de ativá-lo, adicione a callback URL dele (https://auth.example.com/auth/v1/callback) às Authorized redirect URIs do seu cliente do Google.

Domínios personalizados do Supabase

https://supabase.com/docs/guides/platform/custom-domains