Central de AjudaAbrir a tela

AcessoME-31

Login do painel

/admin/login

Entrada do painel admin — Sign in with Apple, restrito por allowlist de e-mail.

O que essa tela faz

É a porta de entrada do painel administrativo (/admin/*). O método de login é exclusivamente "Continuar com Apple" (Sign in with Apple, via Supabase Auth) — não existe login por e-mail e senha nesta tela. Depois do OAuth com a Apple, o sistema confere se o e-mail retornado está numa allowlist (ADMIN_EMAILS_PERMITIDOS, env var) — só quem está na lista entra, mesmo com um Apple ID válido.

Campo a campo

Não há campo de formulário — é um único botão de login social.

  • Mensagem de erro (condicional, lida da URL) — se veio de um redirecionamento com

?erro=oauth, mostra "Login com a Apple falhou. Tenta de novo."; se veio com ?erro=nao_permitido, mostra "Esse Apple ID não tem acesso ao painel."

Ações disponíveis

  • "Continuar com Apple" — chama entrarComApple(), que inicia o OAuth com a Apple via

Supabase e redireciona pra tela de login da Apple; ao voltar, cai em /admin/login/callback.

  • Callback (/admin/login/callback, não é uma tela visível): troca o código OAuth pela

sessão; confere emailPermitido() contra a allowlist; se passar, garante que o usuário tem um perfil (profiles.tenant_id) — criado automaticamente se faltar — e redireciona pra /admin. Se o e-mail NÃO estiver na allowlist, a sessão é encerrada (signOut) e o usuário volta pra /admin/login?erro=nao_permitido.

  • Existe também uma segunda revalidação (confirmarComApple, usada por outras telas

sensíveis como WhatsApp/Instagram): repete o login Apple e, se confirmado, seta um cookie admin_face_sens_ok válido por 1 hora — não é acionada nesta tela diretamente.

Dúvidas frequentes

P: Fiz login com meu Apple ID e caiu de volta no login com um erro. R: Se a mensagem for "Esse Apple ID não tem acesso ao painel", seu e-mail não está na lista de e-mails autorizados (ADMIN_EMAILS_PERMITIDOS) — só o Marcos ou quem administra o sistema pode incluir um e-mail novo nessa lista (variável de ambiente na Vercel, não editável pelo painel).

P: Por que não tem login com senha? R: Decisão de segurança — o painel usa só Sign in with Apple (biometria/Face ID do próprio aparelho), sem senha pra vazar ou esquecer.

Erros comuns

Mensagem exibidaQuando apareceO que fazer
"Login com a Apple falhou. Tenta de novo." (?erro=oauth)O fluxo OAuth com a Apple falhou ou retornou sem código válidoTentar de novo; se persistir, checar conexão/Apple ID
"Esse Apple ID não tem acesso ao painel." (?erro=nao_permitido)O e-mail retornado pela Apple não está em ADMIN_EMAILS_PERMITIDOSConfirmar com quem administra o sistema se o e-mail precisa ser adicionado à allowlist