User Sign Up, Sign In, and Authentication with Firebase

Overview

Authentication is the process by which your app’s users sign up or sign in to your app. The authentication process confirms the legitimacy of a user's identity before allowing them to interact with the application.

Firebase is a Google product that simplifies the development of mobile apps by providing out-of-the-box solutions for common mobile development tasks, such as authentication. Learn more here: Firebase Authentication.

Video Tutorials

How to Build User Sign Up, Sign In, and Authentication with Firebase in Thunkable

In this tutorial, we’ll show you how to use Firebase to authenticate your users and allow them to sign up and sign in to your app.

Template app:

  1. Click Copy Project or Edit Project in the upper right.

How to Build User Sign Out and Password Reset with Firebase in Thunkable

In this tutorial, you’ll learn how to allow a Firebase authenticated user to reset their password and sign out of your app.

Template app:

  1. Click Copy Project or Edit Project in the upper right.

Firebase Authentication

Please note that while the images and instructions from the Firebase account are accurate at the time of this doc’s publishing, they may change slightly over time.

Create a Firebase Account

  1. Visit Firebase.

  2. Click Get Started or Sign in.

  3. Sign in with your existing Google account credentials or create an account.

Create a Firebase Project

  1. On your Firebase console, click + Add project.

  2. Give your project a name.

  3. Click Continue.

  4. Indicate whether or not you want to enable Google Analytics.

  5. Click Create project.

  6. When your new project is ready, click Continue.

Enable Firebase Authentication

  1. On your Firebase console, select your project.

  2. Click to expand the Engage header in the sidebar.

  3. Click Get started.

  4. Click the Sign-in method tab along the top.

  5. Click Add new provider.

  6. Select Email/Password.

  7. Click to enable Email/Password sign-in.

Create a Firebase Web App

  1. On your Firebase console, select your project.

  2. Click the gear icon next to Project Overview.

  3. In the Your apps section, click the code icon to create a web app.

  4. Give your web app a name.

  5. Click Register app.

  6. Click Continue to console.

(Optional) Customize Your Email Templates

On occasion, Firebase will send emails to your app's users on your behalf. To customize these email templates:

  1. On your Firebase console, select your project.

  2. Click to expand the Engage header in the sidebar.

  3. Click Authentication.

  4. Click the Templates tab at the top.

  5. Customize your email templates as you'd like.

Connect Your Firebase Account to Thunkable

To connect your Firebase and Thunkable accounts, you need to locate two Firebase properties:

  • API Key

  • Database URL

These will need to be entered into Thunkable, so we recommend you have two browser tabs open, one for Firebase and one for Thunkable.

  1. On your Firebase console, select your project.

  2. Click the gear icon next to Project Overview.

  3. In the Your apps section, locate the web app's SDK code snippet.

  4. Copy the apiKey.

  5. In your Thunkable tab, click the Settings gear icon in the sidebar.

  6. Scroll to the Firebase section and paste the apiKey into the Firebase API Key field.

  7. Return to Firebase, and within the SDK code snippet, locate and copy the projectId.

  8. Back in Thunkable, in the Database URL field, recreate this formula: https://projectId.firebaseio.com with your copied projectId from the previous step.

Sign In with Firebase Blocks

To access the Firebase authentication blocks:

  1. Navigate to the Blocks tab.

  2. In the App Features section, click Sign In.

  3. A drawer of authentication blocks opens.

Firebase Sign Up Block

Regular Block

Advanced Block

To access the advanced version of a block:

  1. Drag and drop the regular block into your workspace.

  2. Right-click on the block.

  3. Select Show advanced block.

Block in Action

In the block combination below, when the user clicks the button, it triggers the Firebase sign up event. The user's email address and password are passed to Firebase as inputs to create their account, and there is an output from Firebase if an error occurs.

If there is an error, the label's text will display the error from Firebase. A common error is "The email address is already in use by another account." If the Firebase sign up is successful, the app will proceed with the user sign in function.

Firebase Sign In Block

Regular Block

Advanced Block

To access the advanced version of a block:

  1. Drag and drop the regular block into your workspace.

  2. Right-click on the block.

  3. Select Show advanced block.

Block in Action

In the block combination below, when the user clicks the button, it triggers the Firebase sign in event. The user's email address and password are passed to Firebase as inputs to verify that they have an account. Firebase outputs a unique user ID, indicates whether the user verified their email address, and signals when an error has occurred.

If there is an error, the label's text will display the error from Firebase. If the Firebase sign in is successful, the app will navigate the user to the first screen in the app.

You can use the user ID output to store user data in the cloud. See here for more information: Cloud Variables.

Firebase Sign Out Block

Regular Block

Advanced Block

To access the advanced version of a block:

  1. Drag and drop the regular block into your workspace.

  2. Right-click on the block.

  3. Select Show advanced block.

Firebase Reset Password Block

Regular Block

Advanced Block

To access the advanced version of a block:

  1. Drag and drop the regular block into your workspace.

  2. Right-click on the block.

  3. Select Show advanced block.

The Firebase reset password block triggers Firebase to send an email to the specified email address with instructions for the user to reset their password.

If you'd like to customize the emails sent on your app's behalf, see here: (Optional) Customize Your Email Templates.

Manage Users in Firebase

Within the Firebase console, you have the ability to reset a user's password, and disable and delete their accounts. To access your users' accounts:

  1. On your Firebase console, select your project.

  2. Click to expand the Engage header in the sidebar.

  3. Click Authentication.

  4. Click the Users tab along the top.

  5. Click the vertical ellipsis associated with a user to access the action menu for their account.


Have feedback on this doc? Please take a moment to share your feedback here: Thunkable Docs Feedback. Your valuable insights will help us improve and better serve you in the future.

Last updated