Some apps need a login. Think of an online store where anyone can browse, but customers sign in to see their order history. Or a to-do list app where every person must log in to see their own tasks. If your app works like this, Base44 gives you 2 ways to set up sign-in and registration: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.
- Base44’s built-in login shows a login screen for your app automatically. You do not have to build anything. Base44 handles sign-in, registration, and password resets for you. The design is managed by Base44 and cannot be changed.

- Custom login pages are pages you build inside your app for sign-in, registration, and password resets. The design is yours to control. Base44 still handles authentication securely behind the scenes.

Base44’s built-in login
When you use Base44’s built-in login, the login screen appears automatically. You choose which sign-in methods to offer and Base44 handles the rest.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.
- Click Dashboard in your app editor.
- Click Settings.
- Click Authentication.
- 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.

Custom login pages
If you want people to log in to your app, you can build your own login and registration pages instead of using the default Base44 login screen. This lets you match the design to your app, translate it into any language, and add your own branding. Base44 still handles authentication behind the scenes, including sending password reset emails when needed. If your app requires login, you get 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.

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:- Open your app editor.
- (Optional) Click the page drop-down at the top of the editor and select the page you want to edit (for example, Login).
- Type your request in the chat. For example:

Adding sign-in methods
Ad with the Base44 default login pages, 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.- Click Dashboard in your app editor.
- Click Settings.
- Click Authentication.
- Enable the toggle for the provider you want to add.
- Click Add to pages below the provider.
- The AI adds the provider’s sign-in button to your login and register pages.

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 will break.
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 will see an invalid or expired error. They need to request a new reset email from your /forgot-password page.
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.

- Custom Google OAuth: Connect your own Google Cloud client ID and secret in the Authentication panel. People will 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.

- Connect a custom domain to your app.
- Go to Google Cloud Console and create a new project for your app.
- Verify your domain here.
- Set up your OAuth app by completing the following information:
- Overview: Enter your app information.
- Branding: Set up your app’s branding (learn more about branding):
- Add your logo. This must be similar to your app’s logo.
- Create a home page in your app following these guidelines.
- Create a privacy policy linked from your home page following these guidelines.
- Add a support page to your app.
- Add your domain as an authorized domain.

- Audience: Choose if your app is for internal or external use.
- Clients: Get your Client ID and Secret:
- Click Create client.
- Enter the following details:
- Authorized JavaScript origins: Enter your app domain.
- Authorized redirect URIs: Enter
https://app.base44.com/api/apps/auth/callback
- Click Create.

- Data Access: Select the following scopes:
openidhttps://www.googleapis.com/auth/userinfo.email
- Go back to Base44 and finish setting up your custom login:
- Click Dashboard in your app editor.
- Click Settings.
- Click Authentication.
- Enable the Google authentication toggle.
- Select Use a custom OAuth from Google Console.
- Enter the relevant information from your Google OAuth app and click Update.

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).
FAQs
Click a question below to learn more about authentication.Why didn't my user receive a verification or password reset email?
Why didn't my user receive a verification or password reset email?
- Ask them to check their spam or junk folders in case the email was filtered.
- Let them know it can take a few minutes for some email providers to deliver the message.
- Ask them to add app@base44.com to their safe senders or allowlist so future emails are not blocked.
- During sign up, encourage them to enter their email address in lowercase and to check for typos.
/reset-password. The link in the email is hardcoded to that path.Why do people see an error when they try to log in with Facebook?
Why do people see an error when they try to log in with Facebook?
- Open Facebook and go to Settings and privacy.
- Go to Accounts Center.
- Go to Verification and then Identity confirmation.
- Complete the identity confirmation steps.
How do I show a public landing page but require login for other pages?
How do I show a public landing page but require login for other pages?
- Set your app to Public (no login required): In your Dashboard, go to Settings and then App Settings. Set App Visibility to Public (no login required).
- Create your landing page with login and sign-up buttons: Prompt the AI to “create a landing page with login and sign-up buttons.” Make sure this is your app’s main page by selecting it under Main Page in your settings.
- Require login for other pages: Ask the AI to require login on all other pages and redirect visitors who are not logged in back to your landing page.
How are passwords managed and what happens if someone forgets theirs?
How are passwords managed and what happens if someone forgets theirs?
/forgot-password. The password reset email links to your app’s /reset-password page.
Can I add a logout option for my users?
Can I add a logout option for my users?

Does Base44 support external authentication providers like Kakao?
Does Base44 support external authentication providers like Kakao?

Why am I getting an error when I use User.login() in the Base44 SDK? What should I use instead?
Why am I getting an error when I use User.login() in the Base44 SDK? What should I use instead?
User.login(), so if you try to use it in your code, you will 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 (will cause an error):base44.auth.redirectToLogin instead.Can I preview the signup form on my app?
Can I preview the signup form on my app?
- Publish your app.
- Open your app’s live URL in a browser.
- Go to the signup or login page.
- Complete the flow with a relevant, valid email address.
Why are users getting an 'invalid login' error?
Why are users getting an 'invalid login' error?
- Click Dashboard in your app editor.
- Click Overview.
- Under App Visibility, check the current setting.
- If it is set to Private, make sure the user has been invited. Go to Users and click Invite User to add them.
- If you want anyone to be able to sign up and log in, change the visibility to Public.
- 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.

