Pular para o conteúdo
🔴 TROUBLESHOOTING

Troubleshooting: login não funciona

Diagnóstico step-by-step para identificar e resolver problemas de autenticação.

Checklist de diagnóstico

Na ordem — quase todo caso de "não loga" está aqui:

  1. O método de login está ligado? (Autenticação → e-mail/senha, magic link, OTP)
  2. Se for login social: o provider está habilitado nesse projeto? (Autenticação → cartão do provider)
  3. A URL de retorno está cadastrada? (Autenticação → URLs de redirecionamento) — causa nº 1 de "volta e não acontece nada"
  4. A Redirect URI no console do provider é https://auth.superdb.com.br/auth/v1/callback/<provider>?
  5. O app está passando o slug do projeto (project) e a anon key atual? Regenerar a key invalida a anterior na hora.
  6. O relógio do dispositivo está no automático? (diferença grande invalida tokens e códigos TOTP)

Erros comuns e soluções

invalid_credentials (401)

Causa: e-mail ou senha errados. Por design a resposta é a mesma para conta inexistente e senha errada — é proteção contra enumeração de contas, não um bug.

Solução: confira em Autenticação → Usuários se a conta existe; se existir, use o fluxo de redefinição de senha do seu app.

Muitas tentativas (429)

Causa: proteção contra força bruta — 10 tentativas falhas bloqueiam por 15 minutos (janela deslizante).

Solução: aguarde a janela. Se acontece com usuários legítimos, revise se o seu app não está reenviando a requisição em loop.

oauth_not_enabled (400)

Causa: o provider não está habilitado nesse projeto, ou está em credenciais próprias sem Client ID/Secret válidos.

Solução: ligue em Autenticação. Ver Configurar OAuth.

Login social volta pra / sem erro nenhum

Causa: o redirectTo não está na allowlist. O destino é descartado de propósito, para não entregar token a uma URL não registrada.

Solução: cadastre a URL absoluta (ou o deep link) em Autenticação → URLs de redirecionamento.

redirect_uri_mismatch (no provider)

Causa: a URI registrada no console do provider não bate com a do SuperDB.

Solução: use exatamente https://auth.superdb.com.br/auth/v1/callback/<provider> — sem barra final, sem http.

email_not_confirmed

Causa: o usuário não clicou no link de confirmação.

Solução: reenvie a confirmação pelo seu app. Se os e-mails não chegam, veja templates de e-mail — o caso mais comum é domínio remetente sem SPF/DKIM caindo em spam.

otp_expired

Causa: o código OTP ou magic link foi usado depois de expirar.

Solução: solicite um novo. Códigos são de uso único — reabrir um link já usado também dá esse erro.

tenant_suspended

Causa: o projeto está suspenso (normalmente cobrança em aberto).

Solução: verifique Billing no dashboard; persistindo, fale com o suporte.

Investigando um usuário específico

Em Autenticação → Usuários, abra o usuário para ver se está banido, quando foi criado, quais identidades sociais tem vinculadas, se tem MFA ativo e a trilha de eventos da conta. É a forma mais rápida de separar "conta com problema" de "app enviando errado".

Essa página ajudou?