> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gerenciando login e cadastro

> Escolha como as pessoas se cadastram e acessam seu app com autenticação.

Todos os novos apps Base44 vêm com páginas de login personalizadas integradas. Você obtém páginas prontas de login, register, forgot password e reset password que pode personalizar para combinar com o design do seu app. A Base44 cuida da autenticação com segurança nos bastidores.

<Frame caption="Um exemplo de página de login personalizada construída dentro de um app Base44">
  <img src="https://mintcdn.com/base44/UvbLP1CjnGng3mCC/images/custom-login.png?fit=max&auto=format&n=UvbLP1CjnGng3mCC&q=85&s=efc8015fdbb3469f3f9bedc3245b6e4b" alt="Exemplo de página de login personalizada" width="1412" height="935" data-path="images/custom-login.png" />
</Frame>

<Tip>
  Se você tem um app existente com páginas de login e quer mudar para as novas páginas de login personalizadas, veja [login personalizado para apps existentes](/Setting-up-your-app/Managing-login-and-registration#custom-login-for-existing-apps).
</Tip>

***

## Sobre suas páginas de login

Se seu app exige login, a Base44 configura páginas de login e cadastro para você. Elas vivem dentro do seu app, então você pode personalizar o design, traduzi-las para qualquer idioma e adicionar sua própria marca.

Seu app vem com as seguintes páginas prontas para personalizar:

* **Página de login:** Onde os visitantes do seu app fazem login.
* **Página de cadastro:** Onde novos visitantes criam uma conta.
* **Página de forgot password:** Onde visitantes podem solicitar um e-mail de redefinição de senha.
* **Página de reset password:** Onde visitantes definem uma nova senha após solicitar uma redefinição.

<Frame caption="O dropdown de páginas no editor mostrando as quatro páginas de auth">
  <img src="https://mintcdn.com/base44/UvbLP1CjnGng3mCC/images/custom-login-menu.png?fit=max&auto=format&n=UvbLP1CjnGng3mCC&q=85&s=908030aa35ec588317d4f6f729e7ec19" alt="Custom Login Menu" width="1451" height="536" data-path="images/custom-login-menu.png" />
</Frame>

### Editando suas páginas de login

Você pode mudar o design, cores e conteúdo de qualquer uma dessas páginas diretamente do editor.

**Para editar uma página de login:**

1. Abra o editor do seu app.
2. (Opcional) Clique no drop-down de página no topo do editor e selecione a página que quer editar (por exemplo, **Login**).
3. Digite seu pedido no chat. Por exemplo:

```text theme={null}
Add my logo to the login page and change the background color to dark blue.
```

<Frame caption="Editando uma página de login personalizada via chat">
  <img src="https://mintcdn.com/base44/UvbLP1CjnGng3mCC/images/customizing-login-pages1.png?fit=max&auto=format&n=UvbLP1CjnGng3mCC&q=85&s=2167f554c4822ac2064d4a46f9fc56e2" alt="Personalizando páginas de login" width="1912" height="1076" data-path="images/customizing-login-pages1.png" />
</Frame>

### Escolhendo seus métodos de sign-in

Você pode oferecer múltiplas formas para as pessoas se cadastrarem, como e-mail, Google ou outros provedores, para que o login permaneça simples, seguro e familiar. Você pode habilitar mais de uma opção.

<Frame caption="Adicionando métodos de sign-in à sua página de login">
  <img src="https://mintcdn.com/base44/UvbLP1CjnGng3mCC/images/social-login.avif?fit=max&auto=format&n=UvbLP1CjnGng3mCC&q=85&s=1215ae0eaa1b76d8d2d4f7b667b43aed" alt="Logins sociais na sua página de login" width="1890" height="1206" data-path="images/social-login.avif" />
</Frame>

<Note>
  Depois de habilitar um provedor, você precisa adicionar um botão para esse provedor às suas páginas. Siga os passos abaixo para aprender como.
</Note>

**Para adicionar um provedor de login social às suas páginas de login personalizadas:**

1. Clique em **Dashboard** no editor do seu app.
2. Clique em **Settings**.
3. Clique em **Authentication**.
4. Habilite o toggle do provedor que quer adicionar.
5. Clique em **Add to pages** abaixo do provedor.
6. A IA adiciona o botão de sign-in do provedor às suas páginas de login e register.

<Frame caption="Escolhendo os métodos de sign-in para suas páginas de login personalizadas">
  <img src="https://mintcdn.com/base44/UvbLP1CjnGng3mCC/images/custom-sign-in-methods.png?fit=max&auto=format&n=UvbLP1CjnGng3mCC&q=85&s=1107454407d0ed7893ba231cde700093" alt="Métodos de sign-in personalizados" width="1458" height="878" data-path="images/custom-sign-in-methods.png" />
</Frame>

<Warning>
  SSO está disponível apenas no plano Elite. Saiba mais sobre [configurar SSO](/Setting-up-your-app/Setting-up-SSO).
</Warning>

<Note>
  Para que o login do Facebook funcione, a pessoa fazendo login precisa de uma conta Facebook verificada. Se o e-mail ou identidade dela no Facebook não estiver verificado, o Facebook pode bloquear o login e mostrar uma mensagem de erro. Ela deve completar o processo de confirmação de identidade do Facebook na conta Meta antes de fazer login no seu app com Facebook.
</Note>

### Sobre a página de reset password

As páginas forgot password e reset password funcionam em par. Quando alguém solicita uma redefinição de senha, a Base44 envia um e-mail com um link para `/reset-password` no domínio do seu app. Esse caminho é fixo e não pode ser alterado.

A IA constrói tanto `/forgot-password` quanto `/reset-password` automaticamente quando suas páginas de login personalizadas são criadas. Não renomeie nem mova nenhuma das páginas. Se alguma das páginas estiver faltando, o fluxo de redefinição de senha não funcionará.

Links de reset são de uso único. Uma vez que alguém redefine a senha, o link no e-mail para de funcionar. Se tentar usar novamente, verão um erro de inválido ou expirado. Precisam solicitar um novo e-mail de redefinição na sua página `/forgot-password`.

<Note>
  Se seu app tem um domínio personalizado, o e-mail de reset usa automaticamente esse domínio no link. Nenhuma configuração extra é necessária.
</Note>

### Login personalizado para apps existentes

<Warning>
  As páginas de login personalizadas foram lançadas para todos os usuários em 2 de junho de 2026. Se você tem apps existentes com as páginas de login nativas da Base44, e quer mudá-las para as novas páginas de login personalizadas, siga os passos abaixo.
</Warning>

**Para habilitar login personalizado em um app existente:**

1. Clique em **Dashboard** no editor do seu app.
2. Clique em **Overview**.
3. Clique no dropdown **App visibility** e selecione **Public**.
4. Revise os detalhes no modal e clique em **Enable custom auth**.
5. A Base44 escreve automaticamente um prompt de wiring no chat de IA para conectar as páginas às rotas do seu app e envia ao chat de IA.
   <Frame>
     <img src="https://mintcdn.com/base44/PPB_Byhl7p1tjC9Y/images/Custom-login-message.png?fit=max&auto=format&n=PPB_Byhl7p1tjC9Y&q=85&s=71c625e1cc0cf7bb0f34386c6072af45" alt="Custom Login Message" title="Custom Login Message" className="mx-auto" style={{ width:"51%" }} width="712" height="932" data-path="images/Custom-login-message.png" />
   </Frame>

<Tip>
  Depois de completar o passo 5, você verá novas páginas de login, register, forgot password e reset password no seu drop-down Pages no topo do editor do seu app.
</Tip>

6. Publique seu app para que as páginas de login personalizadas entrem no ar.

<Note>
  Se decidir voltar às páginas de login padrão da Base44:

  1. Volte para **Public (deprecated)** no dropdown **App visibility** no dashboard do app.
  2. Clique em **Revert** na mensagem de wiring no chat, depois **Confirm**.
</Note>

***

## Personalizando o login do Google

A Base44 oferece 2 formas de configurar o login do Google, para que você possa gerenciar como as pessoas experimentam o sign-in e como sua marca é exibida:

* **Login Google padrão:** Configuração rápida usando as credenciais da Base44. A janela de login mostra "Sign in with Google" e tem a marca de [base44.com](http://base44.com). Para usar esse método, habilite o toggle **Google authentication** e selecione **Use the default Base44 OAuth**.

<Frame caption="Tela de login Google padrão">
  <img src="https://mintcdn.com/base44/5X5sbBT0yOIFN9Cs/images/2025-10-26_15-27-56.png?fit=max&auto=format&n=5X5sbBT0yOIFN9Cs&q=85&s=7f94cb9199797bf91588cc686ecbe79d" alt="Tela de login Google padrão" width="2164" height="926" data-path="images/2025-10-26_15-27-56.png" />
</Frame>

* **Custom Google OAuth:** Conecte seu próprio client ID e secret do Google Cloud no painel Authentication. As pessoas verão o domínio do seu app, não "base44.com" quando fizerem login com o Google. Isso é ideal para empresas que exigem uma experiência totalmente com marca ou precisam atender requisitos enterprise.

<Frame caption="Tela de login Custom Google OAuth">
  <img src="https://mintcdn.com/base44/orZls59geuFavS1L/images/2025-10-29_12-51-25.png?fit=max&auto=format&n=orZls59geuFavS1L&q=85&s=f0064170474883a227040ac547867442" alt="Tela de login Custom Google OAuth" width="2548" height="1028" data-path="images/2025-10-29_12-51-25.png" />
</Frame>

<Tip>
  Você deve estar em um plano Builder ou superior para usar custom Google OAuth. Você também deve ter um [método de pagamento conectado ao seu projeto](https://cloud.google.com/billing/docs/how-to/payment-methods) no Google Cloud Console.
</Tip>

**Para configurar custom Google OAuth:**

1. [Conecte um domínio personalizado](/Setting-up-your-app/Setting-up-your-custom-domain) ao seu app.
2. Vá para o [Google Cloud Console](https://console.cloud.google.com/) e crie um novo projeto para seu app.
3. Verifique seu domínio [aqui](https://search.google.com/search-console/welcome).
4. Configure seu app OAuth completando as seguintes informações:
   1. **Overview:** Digite as informações do seu app.
   2. **Branding:** Configure a marca do seu app ([saiba mais sobre branding](https://support.google.com/cloud/answer/13804963)):
      1. Adicione seu logo. Deve ser similar ao logo do seu app.
      2. Crie uma home page no seu app seguindo [estas diretrizes](https://support.google.com/cloud/answer/13807376).
      3. Crie uma política de privacidade vinculada da sua home page seguindo [estas diretrizes](https://support.google.com/cloud/answer/13806988).
      4. Adicione uma página de suporte ao seu app.
      5. Adicione seu domínio como domínio autorizado.
      <Frame caption="Configurando seu app OAuth no Google Cloud Console">
        <img src="https://mintcdn.com/base44/9sHhqsCTbHswHd-n/images/googlecloud.png?fit=max&auto=format&n=9sHhqsCTbHswHd-n&q=85&s=7df96ef4c50f258c9692f241341caae6" alt="Configurando seu app OAuth" width="1992" height="1102" data-path="images/googlecloud.png" />
      </Frame>
   3. **Audience:** Escolha se seu app é para uso interno ou externo.
   4. **Clients:** Obtenha seu Client ID e Secret:
      1. Clique em **Create client.**
      2. Digite os seguintes detalhes:
         * **Authorized JavaScript origins:** Digite o domínio do seu app.
         * **Authorized redirect URIs:** Digite `https://app.base44.com/api/apps/auth/callback`
      3. Clique em **Create.**
      <Frame caption="Inserindo detalhes do client no Google Cloud Console">
        <img src="https://mintcdn.com/base44/LjZOSZWi-0Bg7jzi/images/clientid.png?fit=max&auto=format&n=LjZOSZWi-0Bg7jzi&q=85&s=f7f223d2801d4de2cb29f985ef47fd31" alt="Campos de Client ID e redirect URI no Google Console" width="1966" height="1296" data-path="images/clientid.png" />
      </Frame>
   5. **Data Access:** Selecione os seguintes scopes:
      * `openid`
      * `https://www.googleapis.com/auth/userinfo.email`

<Warning>
  Você deve adicionar uma landing page ao seu app que inclua sua política de privacidade e termos de serviço. Essas páginas devem ser públicas e não atrás de login. Isso é obrigatório para a aprovação do Google OAuth.
</Warning>

5. Volte à Base44 e finalize a configuração do seu login personalizado:
   1. Clique em **Dashboard** no editor do seu app.
   2. Clique em **Settings**.
   3. Clique em **Authentication**.
   4. Habilite o toggle **Google authentication**.
   5. Selecione **Use a custom OAuth from Google Console.**
   6. Digite as informações relevantes do seu app Google OAuth e clique em **Update**.

<Frame caption="Completando a configuração do Google OAuth na Base44">
  <img src="https://mintcdn.com/base44/dAdRCAX7btyUXjVa/images/2025-10-28_23-59-20.png?fit=max&auto=format&n=dAdRCAX7btyUXjVa&q=85&s=447a0efe62b0bb4fdcb61f7c3cfc9273" alt="Configurando custom Google OAuth na Base44" width="744" height="401" data-path="images/2025-10-28_23-59-20.png" />
</Frame>

<Note>
  Uma vez que você complete os passos acima, precisa aguardar o Google verificar e aprovar seu app, o que pode levar até 5 dias.
</Note>

***

## Coleta de dados no sign-up

Personalize a experiência do seu app coletando detalhes chave das pessoas quando se cadastram. Você pode pedir ao chat para gerar um formulário de cadastro personalizado que reúne informações além de apenas e-mail e senha (ex.: nome completo, empresa ou papel) para que você possa fazer o onboarding das pessoas suavemente e adaptar a experiência delas no app desde o início.

**Escolha onde armazenar os dados:**

* **Users dataset:** Armazena dados com segurança, visível apenas para admins do app. Ideal para detalhes sensíveis ou somente para admin.
* **Dataset conectado:** Armazena respostas do usuário num dataset separado voltado ao público. Recomendado para dados exibidos ou compartilhados no app (como nomes de empresa).

<Tip>
  Se você coleta dados pessoais no sign-up, como nomes ou detalhes da empresa, certifique-se de que seu app tem uma política de privacidade que explica o que você coleta e como usa. Isso é um requisito legal em muitas regiões e também é obrigatório se você usar Google OAuth.
</Tip>

***

## Login nativo da Base44

<Warning>
  O login nativo da Base44 é a opção de autenticação legada. Todos os novos apps usam as páginas de login personalizadas descritas acima. Se você tem um app existente no login nativo, pode migrar para páginas de login personalizadas na página **Overview** do seu app (veja os passos acima).
</Warning>

Com o login nativo, a tela de login aparece automaticamente. Você escolhe quais métodos de sign-in oferecer e a Base44 cuida do resto. O design é gerenciado pela Base44 e não pode ser alterado.

<Frame caption="Tela de login nativa da Base44">
  <img src="https://mintcdn.com/base44/UvbLP1CjnGng3mCC/images/base44-login.png?fit=max&auto=format&n=UvbLP1CjnGng3mCC&q=85&s=3e96137536b8f38930c71e5427d24f58" alt="Tela de login nativa da Base44" style={{ width:"81%" }} width="790" height="736" data-path="images/base44-login.png" />
</Frame>

### Escolhendo seus métodos de sign-in

Você pode oferecer múltiplas formas para as pessoas se cadastrarem, como e-mail, Google ou outros provedores, para que o login permaneça simples, seguro e familiar. Você pode habilitar mais de uma opção.

**Para escolher seus métodos de sign-in:**

1. Clique em **Dashboard** no editor do seu app.
2. Clique em **Settings**.
3. Clique em **Authentication**.
4. Habilite o toggle ao lado das opções relevantes de autenticação:
   * **Email and password**: Permite que as pessoas criem uma conta com endereço de e-mail e senha segura.
   * **Google**: Permite que as pessoas façam login usando credenciais da conta Google.
   * **Microsoft**: Permite que as pessoas façam login usando credenciais Microsoft.
   * **Facebook**: Permite que as pessoas façam login usando credenciais do Facebook.
   * **Apple**: Permite que as pessoas façam login usando a conta Apple.
   * **Single sign-on (SSO)**: Conecte um provedor de identidade externo que suporta OIDC, como Okta ou o provedor de identidade da sua empresa, para que as pessoas possam fazer login usando credenciais desse provedor.

<Frame caption="Adicionando métodos de autenticação ao seu app na Base44">
  <img src="https://mintcdn.com/base44/WQGg9I6yHW8iaAjb/apple.png?fit=max&auto=format&n=WQGg9I6yHW8iaAjb&q=85&s=9f413dfb56f7bd084c81009c7d3d01f0" alt="Adicionando métodos de autenticação ao seu app na Base44" width="1293" height="749" data-path="apple.png" />
</Frame>

***

## Perguntas frequentes

Clique em uma pergunta abaixo para saber mais sobre autenticação.

<AccordionGroup>
  <Accordion title="Por que meu usuário não recebeu o e-mail de verificação ou redefinição de senha?">
    Se as pessoas não recebem e-mails de verificação ou redefinição de senha, comece com essas verificações:

    * Peça que verifiquem as pastas de spam ou lixo eletrônico caso o e-mail tenha sido filtrado.
    * Avise que pode levar alguns minutos para alguns provedores de e-mail entregarem a mensagem.
    * Peça que adicionem [app@base44.com](mailto:app@base44.com) aos remetentes seguros ou allowlist para que e-mails futuros não sejam bloqueados.
    * Durante o cadastro, incentive a digitar o endereço de e-mail em minúsculas e verificar erros de digitação.

    Se ainda não receberem o e-mail, peça que cliquem no link de reenvio no seu app.

    Se isso não funcionar, remova o registro deles da lista Users no seu dashboard e peça que se cadastrem novamente com o mesmo endereço de e-mail.

    Se várias pessoas relatarem o mesmo problema ao mesmo tempo, ou se reenvio e novo cadastro não resolverem, entre em contato com o suporte da Base44 com a URL do seu app e os endereços de e-mail afetados para que possamos verificar problemas de entrega ou da plataforma.

    Se seu app tem páginas de login personalizadas e o link de redefinição de senha leva a uma página em branco ou erro, verifique se sua página reset password está exatamente no caminho `/reset-password`. O link no e-mail está fixo nesse caminho.
  </Accordion>

  <Accordion title="Por que as pessoas veem um erro ao tentar fazer login com Facebook?">
    Isso geralmente acontece quando a conta Facebook da pessoa não está totalmente verificada. O Facebook pode bloquear o login até que ela confirme a identidade e verifique o e-mail na conta.

    Peça a ela:

    1. Abra o Facebook e vá para **Settings and privacy**.
    2. Vá para **Accounts Center**.
    3. Vá para **Verification** e depois **Identity confirmation**.
    4. Complete os passos de confirmação de identidade.

    Depois de terminar o fluxo de verificação do Facebook, ela pode tentar fazer login no seu app novamente com Facebook. O Facebook controla esse requisito, não a Base44, então você não pode ignorá-lo nas configurações do seu app.
  </Accordion>

  <Accordion title="Como mostrar uma landing page pública mas exigir login para outras páginas?">
    Você pode fazer isso com páginas de login personalizadas. Quando seu app tem páginas de login personalizadas, você tem uma landing page pública e suas outras páginas verificam se o visitante está logado. Peça à IA para proteger páginas específicas para que visitantes que não estão logados sejam redirecionados para sua página de login.

    Por exemplo:

    ```text theme={null}
    Make all pages except the landing page require login. Redirect visitors who are not logged in to the Login page.
    ```
  </Accordion>

  <Accordion title="Como as senhas são gerenciadas e o que acontece se alguém esquecer a sua?">
    A Base44 lida automaticamente com todas as senhas de forma segura nos bastidores. Se alguém esquecer a senha, pode redefini-la na sua página de login clicando em **Forgot password?**. Isso envia a pessoa para sua página `/forgot-password`, e o e-mail de reset leva à sua página `/reset-password`.

    <img src="https://mintcdn.com/base44/70bAE-4HKlQWJyVs/images/PasswordManagement.png?fit=max&auto=format&n=70bAE-4HKlQWJyVs&q=85&s=43f88606cb8c1badf7404e3f25a12e55" alt="Use a tela de login com a opção Forgot password para redefini-la." width="1713" height="813" data-path="images/PasswordManagement.png" />
  </Accordion>

  <Accordion title="Posso adicionar uma opção de logout para meus usuários?">
    Sim. Adicionar uma opção de logout mantém as coisas seguras e dá tranquilidade às pessoas. Você pode pedir ao chat para incluir um **botão Logout** e colocá-lo na barra lateral ou no cabeçalho do app, onde melhor se encaixar no seu design.

    <img src="https://mintcdn.com/base44/CJeh3u8yWYgfl23o/images/LogoutButton.png?fit=max&auto=format&n=CJeh3u8yWYgfl23o&q=85&s=66c92f89bacf212a1c209e4354097460" alt="Pedindo ao chat um botão de logout." width="1749" height="870" data-path="images/LogoutButton.png" />
  </Accordion>

  <Accordion title="A Base44 suporta provedores de autenticação externos como Kakao?">
    Sim. A Base44 suporta provedores de autenticação externos que usam OpenID Connect (OIDC), incluindo provedores como Kakao.

    Se você está no plano Elite, pode conectar provedores externos como Google, Microsoft, GitHub, Okta ou Kakao usando Single sign-on (SSO) e a opção Advanced / Manual configuration. Você precisa da sua própria conta no provedor de identidade, e é responsável por criar e gerenciar o app, client ID, client secret, redirect URI e quaisquer outras credenciais nesse provedor.

    Para instruções passo a passo, veja o guia sobre [configurar SSO](/Setting-up-your-app/Setting-up-SSO) na Base44.

    <img src="https://mintcdn.com/base44/MdbM17mdo5Ofrrmp/Advancedconfiguration.png?fit=max&auto=format&n=MdbM17mdo5Ofrrmp&q=85&s=f6885e7eec42fba949d662b1eee9e8e2" alt="Opções de configuração avançada de SSO" width="779" height="554" data-path="Advancedconfiguration.png" />
  </Accordion>

  <Accordion title="Por que estou recebendo erro ao usar User.login() no SDK da Base44? O que devo usar em vez disso?">
    O SDK da Base44 não suporta `User.login()`, então se você tentar usar no seu código, verá um erro.

    Para lidar com login em apps sem páginas de login personalizadas, sempre use `base44.auth.redirectToLogin(nextUrl)`. Esse método envia o usuário para a página de login e o traz de volta ao seu site depois que ele faz login.

    Se está tendo problemas com autenticação, verifique se está usando esse método correto no seu app.

    **Incorreto (causará erro):**

    ```js theme={null}
    User.login(nextUrl);
    ```

    **Correto:**

    ```js theme={null}
    base44.auth.redirectToLogin(nextUrl);
    ```

    **Dica:** Se vir um erro como "TypeError: User.login is not a function", verifique seus imports e garanta que está usando `base44.auth.redirectToLogin` em vez disso.
  </Accordion>

  <Accordion title="Posso pré-visualizar o formulário de signup no meu app?">
    Sim. Páginas de login personalizadas são páginas regulares na base de código do seu app, então você pode abri-las e visualizá-las na janela de preview.

    Para testar os fluxos completos de sign-up e login, publique seu app e abra a URL ao vivo num navegador. Complete o fluxo com um endereço de e-mail válido para ver a mesma experiência que seus visitantes terão.
  </Accordion>

  <Accordion title="Por que os usuários estão recebendo erro 'invalid login'?">
    A causa mais comum é que seu app está definido como **Private**. Em um app privado, apenas usuários explicitamente convidados por e-mail podem fazer login. Qualquer outra pessoa verá um erro de login inválido, mesmo que insira credenciais válidas.

    **Para verificar e atualizar a visibilidade do seu app:**

    1. Clique em **Dashboard** no editor do seu app.
    2. Clique em **Overview**.
    3. Em **App Visibility**, verifique a configuração atual.
       * Se estiver definido como **Private**, verifique se o usuário foi convidado. Vá para **Users** e clique em **Invite User** para adicioná-lo.
       * Se quer que qualquer um possa se cadastrar e fazer login, mude a visibilidade para **Public**.

    **Outras causas possíveis:**

    * O usuário inseriu um e-mail ou senha incorretos.
    * O usuário não verificou o endereço de e-mail após se cadastrar.
    * A sessão de login expirou. Peça ao usuário para tentar fazer login novamente.
  </Accordion>
</AccordionGroup>

<Note>Esta página foi traduzida usando IA. Para informações mais precisas e atualizadas, consulte a [versão em inglês](/). </Note>
