Skip to main content
All new Base44 apps come with custom login pages built in. You get ready-made login, register, forgot password, and reset password pages that you can customize to match your app’s design. Base44 handles authentication securely behind the scenes.
A custom login page for a to-do app, with an orange marketing panel on the left and a Create an account form on the right asking for an email address and password

An example custom login page built inside a Base44 app

If you have an existing app with login pages and want to change to the new custom login pages, see custom login for existing apps.

About your login pages

If your app requires login, Base44 sets up login and registration pages for you. They live inside your app, so you can customize the design, translate them into any language, and add your own branding. Your app comes with the following pages ready to customize:
  • Login page: Where your app’s visitors sign in.
  • Register page: Where new visitors create an account.
  • Forgot password page: Where visitors can request a password reset email.
  • Reset password page: Where visitors set a new password after requesting a reset.
Editor page drop-down listing the login, register, forgot password and reset password pages

The page dropdown in the editor showing the 4 auth pages

Editing your login pages

You can change the design, colors, and content of any of these pages directly from the editor. To edit a login page:
  1. Open your app editor.
  2. (Optional) Click the page drop-down at the top of the editor and select the page you want to edit (for example, Login).
  3. Type your request in the chat. For example:
Editing a login page by typing a design request in the AI chat

Editing a custom login page via the chat

Choosing your sign-in methods

You can offer multiple ways for people to sign up, such as email, Google, or other providers, so that login stays simple, secure, and familiar. You can enable more than one option.
The Authentication page controls which login methods your app offers. To choose whether people need to sign in at all, use App Visibility on your app’s Overview page. Learn more about setting your app visibility.
A login card for a rewards app with an outlined group of 3 sign-in buttons for Google, Microsoft and Facebook

Adding sign-in methods to your login page

After you enable a provider, you need to add a button for that provider to your pages. Follow the steps below to learn how.
To add a social login provider to your custom login pages:
  1. Click Dashboard in your app editor.
  2. Click Settings.
  3. Click Authentication.
  4. Turn on the toggle for the provider you want to add.
  5. Click Send to chat on the provider’s card. The AI adds the provider’s sign-in button to your login and register pages.
Good to know:
  • SSO is available on an Enterprise plan (Business or Enterprise). Workspaces created before October 1, 2026 keep their earlier plan requirement, the Elite plan or higher. Learn more about setting up SSO.
  • For Facebook login to work, the person logging in needs a verified Facebook account. If their Facebook email or identity is not verified, Facebook can block the login and show an error message. They must complete Facebook’s identity confirmation process in their Meta account before they can sign in to your app with Facebook.

Verifying email signups

When someone signs up with an email and password, Base44 sends them a 6-digit code to confirm the email address is theirs. This keeps fake and mistyped accounts out of your app.
You can’t turn email verification off. If you’d rather your app users skip the code, offer Google, Facebook, or Apple login. People who sign in with these providers don’t need a code.
How verification works for your app users:
  • After they submit the register form, your app asks them to enter the code Base44 sent them.
  • The code works for 10 minutes. Once they enter it, they’re signed in to your app.
  • If they enter the wrong code 5 times or the code expires, they can ask for a new code from the verification screen, or sign up again with the same email address.
  • Until they verify, they can’t log in with their password.
To change how the verification email looks, see customizing built-in emails.
If someone doesn’t receive the verification email, ask them to:
  • Check their spam or junk folder.
  • Wait a few minutes, since some email providers deliver messages slowly.
  • Add no-reply@base44-apps.com, or your own sending address if you set up a custom email domain, to their safe senders list.
  • Check the email address they entered for typos.
  • Ask for a new code from the verification screen.
Work email addresses are more likely to have strict spam filters. If the code still doesn’t arrive, remove their record from the Users list in your dashboard and ask them to sign up again. If several people report the same problem at once, contact Customer Care with your app URL and the affected email addresses.

About the reset password page

The forgot password and reset password pages work as a pair. When someone requests a password reset, Base44 sends them an email with a link to /reset-password on your app’s domain. That path is hardcoded and cannot be changed. The AI builds both /forgot-password and /reset-password automatically when your custom login pages are created. Do not rename or move either page. If either page is missing, the password reset flow breaks. Reset links are single-use. Once someone resets their password, the link in the email stops working. If they try to use it again, they see an invalid or expired error. They need to request a new reset email from your /forgot-password page.
Note: A few things about the reset password email:
  • Design: The email is styled with your app’s logo and colors automatically. To change it, open Emails in your dashboard. Learn more about customizing built-in emails.
  • Custom domain: If your app has a custom domain, the email automatically uses that domain in the reset link. No extra setup is needed.

Custom login for existing apps

Custom login pages were released to everyone on June 2, 2026. If you have existing apps with the Base44 built-in login pages, and you want to change them to the new custom login pages, follow the steps below.
On these apps, the App Visibility dropdown offers 2 public options, Public (no login) and Public (login required). Select Public (no login) to move to the new custom login pages. Apps that already use custom login pages offer a single Public option, so there is nothing to change. To enable custom login on an existing app:
  1. Click Dashboard in your app editor.
  2. Click Overview.
  3. Click the App Visibility dropdown.
  4. Select Public (no login).
  5. Review the details in the modal and click Enable custom auth.
  6. Base44 automatically writes a wiring prompt in the AI chat to connect the pages to your app’s routes and sends it to the AI chat.
    Wiring prompt prefilled in the AI chat after enabling custom login pages

    The prefilled wiring prompt

Once you have completed step 6, you see new login, register, forgot password, and reset password pages in your Pages drop-down menu at the top of your app editor.
  1. Publish your app for the custom login pages to go live.
If you decide you want to revert back to the default Base44 login pages:
  1. Switch back to Public (login required), the option marked Deprecated, in the App Visibility dropdown in your app’s dashboard.
  2. Click Revert on the wiring message in the chat, then Confirm.

Sign-up data collection

Personalize your app experience by collecting key details from people when they sign up. You can prompt the chat to generate a custom sign-up form that gathers information beyond just an email and password (e.g. full name, company, or role) so you can onboard people smoothly and tailor their app experience from the start. Choose where to store the data:
  • Users dataset: Store data securely, viewable only by app admins. This is ideal for sensitive or admin-only details.
  • Connected dataset: Store user responses in a separate public-facing dataset. This is recommended for data displayed or shared in-app (like company names).
If you collect personal data at sign-up, such as names or company details, make sure your app has a privacy policy that explains what you collect and how you use it. This is a legal requirement in many regions and is also required if you use Google OAuth.

Customizing the Google login

Base44 gives you 2 ways to set up Google login, so you can manage how people experience sign-in and how your brand is displayed:
  • Default Google login: Fast setup using Base44’s credentials. The login window shows “Sign in with Google” and is branded with base44.com. To use this method, enable the Google authentication toggle and select Use the default Base44 OAuth.
The Google Choose an account screen, with the app name shown as base44.com outlined below the heading, beside a saved account and a Use another account option

Default Google login screen

  • Custom Google OAuth: Connect your own Google Cloud client ID and secret in the Authentication panel. People see your app’s domain, not “base44.com” when they sign in with Google. This is ideal for businesses that require a fully branded experience or need to meet enterprise requirements.
The Google Sign in screen showing a custom app name outlined below the heading, with the app logo on the left and an email or phone field on the right

Custom Google OAuth login screen

You must be on a Builder plan or higher to use custom Google OAuth. You must also have a payment method connected to your project in your Google Cloud Console.
To set up custom Google OAuth:
  1. Connect a custom domain to your app.
  2. Go to Google Cloud Console and create a new project for your app.
  3. Verify your domain here.
  4. Set up your OAuth app by completing the following information:
    1. Overview: Enter your app information.
    2. Branding: Set up your app’s branding (learn more about branding):
      1. Add your logo. This must be similar to your app’s logo.
      2. Create a home page in your app following these guidelines.
      3. Create a privacy policy linked from your home page following these guidelines.
      4. Add a support page to your app.
      5. Add your domain as an authorized domain.
      The Branding page of the Google Auth Platform with its left navigation outlined, showing the app name and user support email fields under App information

      Setting up your OAuth app in Google Cloud Console

    3. Audience: Choose if your app is for internal or external use.
    4. Clients: Get your Client ID and Secret:
      1. Click Create client.
      2. Enter the following details:
        • Authorized JavaScript origins: Enter your app domain.
        • Authorized redirect URIs: Enter https://app.base44.com/api/apps/auth/callback
      3. Click Create.
      Client ID and redirect URI fields in Google Console

      Entering client details in Google Cloud Console

    5. Data Access: Select the following scopes:
      • openid
      • https://www.googleapis.com/auth/userinfo.email
You must add a landing page to your app that includes your privacy policy and terms of service. These pages must be public and not behind a login. This is required for Google OAuth approval.
  1. Go back to Base44 and finish setting up your custom login:
    1. Click Dashboard in your app editor.
    2. Click Settings.
    3. Click Authentication.
    4. Enable the Google authentication toggle.
    5. Select Use a custom OAuth from Google Console.
    6. Enter the relevant information from your Google OAuth app and click Update.
The Google authentication block outlined, with Use a custom OAuth from Google console selected and the Client ID and Client Secret filled in

Completing the Google OAuth setup in Base44

Once you have completed the steps above, you need to wait for Google to verify and approve your app, which can take up to 5 days.

Setting up Apple login

Apple login lets your app users sign in with their Apple Account instead of creating a password for your app. It runs on Base44’s own Apple credentials, so you don’t need an Apple Developer account, keys, or any setup in Apple’s developer console to offer it.

Using Apple login

Apple login is off by default. Turn it on to show a sign-in with Apple option on your login and register pages. When someone signs in with Apple, Apple asks whether to share their email address or hide it. If they hide it, your app gets a private Apple relay address instead of their real email, and Base44 uses that address as their email in your app.
Before you turn on Apple login:
  • Base44’s Apple credentials only: You can’t connect your own Apple credentials, so on the web, Apple’s sign-in page shows Base44 instead of your app’s name.
  • Hidden emails create separate accounts: Base44 matches accounts by email address. If someone signed up with their real email and later signs in with Apple using a hidden email, they get a second, separate account.
To turn Apple login on or off:
  1. Click Dashboard in your app editor.
  2. Click Settings.
  3. Click Authentication.
  4. Turn Apple authentication on or off.
  5. If your app has custom login pages and you turned Apple on, click Send to chat on the Apple authentication card. The AI adds a sign-in with Apple button to your login and register pages.
  6. Publish your app.
A screenshot of the Apple authentication card in the Authentication settings with its toggle outlined

Turning Apple authentication on or off

Submitting iOS apps

Apple’s App Store rules generally require apps that offer third-party sign-in, such as Google, Microsoft, or Facebook, to also offer a sign-in option that protects privacy, such as Sign in with Apple. If your app offers any of these providers, turn on Apple login and publish your app before you submit it for review. Apple login works in the iOS app you build from the store files Base44 generates. Learn more about uploading your app to the app stores.
If you wrap your app in your own native iOS app instead of using the store files from Base44, Apple login opens a web sign-in page instead of Apple’s own sign-in sheet, and Apple may reject your app. Use the Base44 store files, or offer only email and password login in your own wrapper.

Logging in on mobile

Your iOS and Android apps offer the same sign-in methods as your web app, so you turn Google and Apple login on or off in the same place. Learn how in choosing your sign-in methods. When someone taps Google or Apple login in your app, a sign-in window opens on their phone and returns them to your app, signed in.

Setting up mobile login

On iOS, Google and Apple login work as soon as you build your app from the app files Base44 generates. There’s nothing to set up. On Android, Google login needs one extra step: add your Google Play signing fingerprints to Base44. Google login then works in the version people install from Google Play, including testing tracks. Learn how to add your Google Play SHA.
Google and Apple login only work in the app you build from the app files Base44 generates. If you put your app inside a native app of your own, Google login fails with an error such as 403: disallowed_useragent, and Apple login doesn’t work either. Use the Base44 app files, or offer email and password login instead.

Fixing mobile login

If login works on the web but not in your mobile app, start with the most common causes below.
If people choose their Google account and land back on your login screen with no error, Android couldn’t confirm that the app is yours. This happens when the Google Play signing fingerprints in Base44 are missing or incomplete.Check how Google Play signs your app, then add your Google Play SHA to match. If the app signing page in Google Play Console shows a quantum-ready badge, Google Play signs your app with more than one key, so upload the certificates .zip file rather than pasting a single fingerprint.
Sign-in fixes only reach people once you generate new app files and submit a new version to the App Store or Google Play. If login fails in an older version of your app, create new files and submit an update.
If Google login still returns people to the login screen after you add every fingerprint, contact Customer Care with your app URL.

Base44’s built-in login

Base44’s built-in login is the legacy authentication option. All new apps use custom login pages described above. If you have an existing app on the built-in login, you can migrate to custom login pages from your app’s Overview page (see steps above).
With the built-in login, the login screen appears automatically. You choose which sign-in methods to offer and Base44 handles the rest. The design is managed by Base44 and cannot be changed.
A built-in login card for an app called Flow, with a Continue with Google button above an email and password form and a Sign in button

Base44's built-in login screen

Choosing your sign-in methods

You can offer multiple ways for people to sign up, such as email, Google, or other providers, so that login stays simple, secure, and familiar. You can enable more than one option. To choose your sign-in methods:
  1. Click Dashboard in your app editor.
  2. Click Settings.
  3. Click Authentication.
  4. Enable the toggle next to the relevant authentication options:
    • Email and password: Allow people to create an account with their email address and a secure password.
    • Google: Allow people to log in using their Google account credentials.
    • Microsoft: Allow people to log in using their Microsoft credentials.
    • Facebook: Allow people to log in using their Facebook credentials.
    • Apple: Allow people to log in using their Apple account.
    • Single sign-on (SSO): Connect an external identity provider that supports OIDC, such as Okta or your company’s identity provider, so people can log in using credentials from that provider.
The Authentication page with 5 login methods outlined, Email and password on and Google, Microsoft, Facebook and Apple off

The authentication methods


FAQs

Click a question below to learn more about authentication.
Start with the same checks as for a missing verification code, such as their spam folder and safe senders list. They’re listed under verifying email signups. Then ask them to request a new reset email from your forgot password page.If your app has custom login pages and the password reset link leads to a blank page or an error, check that your reset password page is at exactly the path /reset-password. The link in the email is hardcoded to that path.
This usually happens when the person’s Facebook account is not fully verified. Facebook can block the login until they confirm their identity and verify the email on their account.Ask them to:
  1. Open Facebook and go to Settings and privacy.
  2. Go to Accounts Center.
  3. Go to Verification and then Identity confirmation.
  4. Complete the identity confirmation steps.
After they finish Facebook’s verification flow, they can try logging in to your app again with Facebook. Facebook controls this requirement, not Base44, so you cannot bypass it from your app settings.
You can do this with custom login pages. When your app has custom login pages, you have a public landing page and your other pages check whether the visitor is logged in. Ask the AI to protect specific pages so visitors who are not logged in get redirected to your login page.For example:
Base44 automatically handles all passwords securely behind the scenes. If someone forgets their password, they can reset it from your login page by clicking Forgot password?. This sends them to your /forgot-password page, and the reset email links to your /reset-password page.
An app's sign-in card with Forgot password? outlined below the Sign in button

Resetting a password from the login page

Yes. Adding a logout option keeps things secure and gives people peace of mind. You can prompt the chat to include a Logout button and place it in the sidebar or app header, wherever it best fits your design.
The AI chat with a logout button request outlined, beside the new logout icon in the app's sidebar

Adding a logout button

Yes. Base44 supports external authentication providers that use OpenID Connect (OIDC), including providers such as Kakao.If you are on an Enterprise plan (Business or Enterprise), you can connect external providers such as Google, Microsoft, GitHub, Okta, or Kakao using Single sign-on (SSO) and the Advanced / Manual configuration option. Workspaces created before October 1, 2026 can also do this on the Elite plan. You need your own account with the identity provider, and you are responsible for creating and managing the app, client ID, client secret, redirect URI, and any other credentials in that provider.For step-by-step instructions, see the guide on setting up SSO in Base44.
The SSO panel with Advanced / Manual Configuration selected, above empty Client Id, Client Secret and endpoint fields

The advanced SSO fields

The Base44 SDK does not support User.login(), so if you try to use it in your code, you see an error.To handle login on apps without custom login pages, always use base44.auth.redirectToLogin(nextUrl). This method sends the user to the login page and brings them back to your site after they sign in.If you are having issues with authentication, check that you are using this correct method in your app.Incorrect (causes an error):
Correct:
Tip: If you see an error like “TypeError: User.login is not a function”, check your imports and ensure you are using base44.auth.redirectToLogin instead.
Yes. Custom login pages are regular pages in your app’s codebase, so you can open and view them in the preview window.To test the full sign-up and login flows, publish your app and open the live URL in a browser. Complete the flow with a valid email address to see the same experience your visitors have.
The most common cause is that your app is set to Private. On a private app, only people who have been invited or admitted through eligible SSO auto-admit can log in. Anyone else sees an invalid login error, even if they enter valid credentials.To check and update your app’s visibility:
  1. Click Dashboard in your app editor.
  2. Click Overview.
  3. Under App Visibility, check the current setting.
    • If it is set to Private, make sure the person has been invited. If the app uses SSO as its only sign-in method, check whether auto-admit is enabled.
    • If you want anyone to be able to sign up and log in, change the visibility to Public.
Other possible causes:
  • The user entered an incorrect email or password.
  • The user has not verified their email address after signing up.
  • The login session has expired. Ask the user to try logging in again.