Dá pra fugir desses ~US$25/mês indo pra Amazon Cognito, e sim: resolve o problema do “prosseguir para xxx.supabase.co”, porque o domínio do OAuth passa a ser o do Cognito (ou o seu, se você configurar domínio custom). O “difícil” é mais AWS + configuração do que código.
Como ficaria com Cognito (visão prática)
Você teria:
- User Pool (onde ficam usuários, social login, tokens).
- Provider Google (OIDC) configurado no User Pool.
- App Client (seu frontend/app) com os callbacks/redirects.
- (Opcional) Hosted UI / Managed Login do Cognito, com:
- domínio padrão tipo
https://SEU-PREFIX.auth.REGION.amazoncognito.com - ou domínio seu tipo
https://auth.doccler.app(com certificado ACM + DNS). Documentação AWS+2Documentação AWS+2
- domínio padrão tipo
O próprio doc da AWS diz que não há diferença de custo entre usar domínio da AWS ou domínio custom no Cognito; muda é o endereço/controle. Documentação AWS
O nível de dificuldade (realista)
Médio se você já tem noção de OAuth/redirects; chato se você odeia console da AWS.
O “pulo do gato” é: você vai configurar duas pontas corretamente:
- No Google Cloud Console: Authorized redirect URIs apontando pro endpoint do Cognito (Hosted UI) ou pro seu domínio usando Cognito.
- No Cognito: callback/logout URLs + scopes + mapping do Google provider.
A AWS inclusive tem guia sobre quando usar Hosted UI vs UI própria (com SDK) — Hosted UI simplifica, UI própria dá controle total. Amazon Web Services, Inc.
E custo? (por que pode valer)
O Cognito é pay-per-use (MAU + recursos) e “sem mínimo”, com página oficial de preços. Amazon Web Services, Inc.+1 Ou seja: pra apps pequenos/médios, costuma sair bem menos que uma assinatura fixa — mas você precisa ficar atento a coisas como SMS/MFA (se usar), volumes e picos.
“Sem depender do Supabase”
Você pode usar Cognito só pra Auth e:
- Continuar com Supabase/Postgres como banco
- Autorização/permite acesso ao banco via seu backend (BFF) validando o JWT do Cognito
⚠️ Importante: se hoje você usa RLS do Supabase direto do frontend com Supabase Auth, ao ir pra Cognito normalmente você muda o modelo: o frontend fala com seu backend, e o backend fala com o banco. (Dá pra manter RLS, mas integrar JWT externo no Postgres é outro desenho e costuma dar mais trabalho.)
Quer o caminho mais fácil dentro do Cognito?
- Use Hosted UI / Managed Login primeiro (menos código).
- Se depois quiser “tela 100% no seu app”, migra pra UI própria usando os endpoints OIDC do User Pool. Documentação AWS+1
Se você me disser se seu app é Next.js e se hoje o client fala direto com Supabase (sem backend), eu já te passo um blueprint objetivo (fluxo + onde validar token + onde guardar sessão) mirando a migração com menos refactor.