Thunkable Docs
Build an AppDrag and Drop DocsSnap to Place DocsAcademy
Drag and Drop
Drag and Drop
  • What is Thunkable?
  • 🗺️Getting Started
    • Gen AI
    • Getting Started Guide
    • Keyboard Shortcuts
    • Undo Redo
    • Thunkable Account
      • Account Management
    • Preview and Test your App
    • Versioning
    • Data Sources
      • Google Sheets Data Source
      • Airtable Data Source
      • Webflow Data Source
      • Local Table Data Source
    • Project Collaboration
      • Organizations
    • 🎓Sample Apps & Tutorials
      • Thunkable Community Forums
      • Sample Apps
      • Video Tutorials
        • Thunkable Live App
          • How to Test and Troubleshoot with Thunkable Live App
        • Data Source Tutorials
          • Connecting to Data Sources
            • Google Sheets
            • Local Table
          • Create Data in a Thunkable Data Source
          • Read Data in a Thunkable Data Source
          • Update Data in a Thunkable Data Source
          • Delete Data in a Thunkable Data Source
        • User Auth & Management
          • Firebase
            • User Sign-Up, Sign-In, and Auth
            • User Sign Out and Password Reset
          • Google
            • User Sign-Up, Sign-In, Sign-Out, and Auth
          • Apple
            • User Sign-Up, Sign-In, Sign-Out, and Auth
        • Projects
          • How to Save Versions of Your Thunkable Project
          • How to Copy and Customize Public or Sample Thunkable Projects
        • User Interface & Design
          • Screens
            • Save and Reuse Thunkable Screens
            • Change Thunkable Screens with a Button Click
            • Create Scrollable Screens in Your Thunkable App
          • Navigators
            • How to Use the Thunkable Stack Navigator
            • How to Use Thunkable Top and Bottom Tab Navigators
            • How to Use the Thunkable Drawer Navigator
            • Combine Figma Frames with Thunkable Navigators
          • Components
            • How to Use the Visibility Property to Create Modals in Thunkable
          • Data Visualization
            • Customize a Data Viewer
          • Text
            • Implement Text Input Validation
        • Alerts & Notifications
          • Display Alert Messages in Your Thunkable App
          • How to Create Three-Button Alert Messages
        • Files
          • Cloudinary
            • Store and Access Cloudinary Files in Your Thunkable App
        • Camera
          • How to Use the Device’s Camera
          • How to Use the Device’s Video Camera
          • Use the Device’s Camera as a QR or Barcode Scanner
        • Realtime Databases
          • Firebase
            • How to Read Data in a Firebase Realtime Database
            • How to Update Data in a Firebase Realtime Database
        • Advanced Blocks
          • Connect Your Thunkable App to a Web API
        • Thunkable Academy
          • Building Your First Thunkable App
            • Getting Started with Thunkable
            • How to Design a Thunkable App
            • How to Connect a Thunkable App to a Data Source
            • How to Make A Thunkable App Interactive with Blocks
          • Thunkable No Code App Creation Basics
            • Thunkable UI Components and App Features
            • Understanding Thunkable's Drag and Drop Block Builder
            • Design, Develop, Debug, and Deploy Your App
        • Hour of Code
          • 2021 - Build an Informational App
          • 2022 - Build a Scavenger Hunt App
          • 2023 - Build a Translator and Text-to-Speech App
        • App Building
          • How to Build a Translation App in Thunkable
          • How to Create an Image Recognition App with Thunkable
          • How to Create a Text-to-Speech App in Thunkable
  • 🎨App Design
    • User Interface (UI) Components
      • Basic Components
        • Button Component
        • Label Component
        • Rich Text Component
        • Image Component
        • Text Input Component
        • Layout Component
        • Group Component
      • Data Components
        • Simple List Component
        • Data Viewer Components
          • Data Viewer List Component
          • Data Viewer Grid Component
          • Custom Data Viewer
      • Input Components
        • Switch Component
        • Slider Component
        • Checkbox Component
        • Date Input Component
        • Time Input Component
      • Media Components
        • Animation Component
        • Video Component
        • Loading Icon Component
      • Embed Components
        • Web Viewer Component
        • Map Component
        • Canvas Component
        • PDF Reader Component
        • Rating Component
      • Modules
        • Introduction
        • User Guide
      • Generative AI
    • Screens
      • Save and Reuse Screens
      • Improve Thunkable Load Time
    • Navigators
      • Top Tab Navigator
      • Bottom Tab Navigator
      • Drawer Navigator
      • Stack Navigator
    • Figma Integration
  • 🛠️Blocks
    • Thunkable Blocks Overview
    • Core Blocks
      • Control Blocks
      • Logic Blocks
      • Math Blocks
      • Text Blocks
      • Lists Blocks
      • Color Blocks
      • Device Blocks
      • Objects Blocks
      • Variables Overview
        • Connect a Firebase Realtime Database
        • Variables Blocks
      • Functions Blocks
    • App Features Blocks
      • Speech Blocks
      • Sound Blocks
      • Share Blocks
      • Camera Blocks
      • Files Blocks
      • Sign In Blocks
        • User Sign Up, Sign In, and Authentication with Firebase
        • User Sign Up, Sign In, and Authentication with Google
        • User Sign Up, Sign In, and Authentication with Apple
      • Location Blocks
      • Push Notification Blocks
      • In-App Purchase Blocks (with RevenueCat)
      • Data Sources Blocks
      • Alerts Blocks
      • Timer Blocks
      • Sensors Blocks
        • Gyroscope
        • Magnetometer
        • Accelerometer
        • Location Sensor
      • Ads by AdMob
    • Advanced Blocks
      • Web APIs Blocks
        • CORS Policy
        • 🆓No Auth APIs
          • Update Data in a Data Source
          • CRUD Operations
          • Setting Headers
        • 📊Charting APIs
          • Create a chart template
          • Charting in Thunkable
      • Bluetooth Low Energy Blocks
      • OpenAI Services ChatGPT Integration Blocks
      • "Any Component" Blocks
      • JavaScript Web Bridge
  • ⚙️Settings
    • App Settings
      • Tablet View
    • Assets
    • Cloud Variable Viewer
    • Manage your Projects
      • My Projects Page
      • Thunkable Projects
      • Duplicate Project
      • Share Your App
      • Download Your App
        • Download Your App on iOS
        • Download Your App on Android
      • Add to Home Screen
      • Managing Project Storage
      • App Data Privacy
      • Delete Project
  • 📱Publishing
    • Overview
    • Publish to the Apple App Store
      • User Guide
      • Troubleshooting
      • Review Process
      • Tracking Usage Description
    • Publish to Google Play Store
      • User Guide
      • Troubleshooting
      • Review Process
    • Publish as a Web App
      • User Guide
      • Custom Domains
      • Troubleshooting
    • Testing
      • Testing on iOS via TestFlight
      • Testing on Android
    • Troubleshooting
      • Publishing Checklist
      • Generate Screenshots
  • 🎮Gaming
    • Gaming Overview
      • Canvas Label
      • Sprites
      • Sprite Gallery
    • Gaming Blocks
      • Events
      • Motion
      • Looks
      • Direction
      • Sensing
      • Add & Remove
      • Stage
  • 🗃️Additional Resources
    • Release Notes
      • Release Notes 2025
      • Release Notes 2024
      • Release Notes 2023
    • Troubleshooting
      • Can't Sign in to Thunkable?
      • FAQs
    • Minimum Requirements
    • Bugs and Product Feedback
    • App Services and Emulators
Powered by GitBook
On this page
  • Overview
  • Video Tutorials
  • How to Build User Sign Up, Sign In, and Authentication with Firebase in Thunkable
  • How to Build User Sign Out and Password Reset with Firebase in Thunkable
  • Firebase Authentication
  • Create a Firebase Account
  • Create a Firebase Project
  • Enable Firebase Authentication
  • Create a Firebase Web App
  • (Optional) Customize Your Email Templates
  • Connect Your Firebase Account to Thunkable
  • Sign In with Firebase Blocks
  • Firebase Sign Up Block
  • Firebase Sign In Block
  • Firebase Sign Out Block
  • Firebase Reset Password Block
  • Manage Users in Firebase

Was this helpful?

Export as PDF
  1. Blocks
  2. App Features Blocks
  3. Sign In Blocks

User Sign Up, Sign In, and Authentication with Firebase

PreviousSign In BlocksNextUser Sign Up, Sign In, and Authentication with Google

Last updated 1 year ago

Was this helpful?

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: .

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. Click Get Started or Sign in.

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

Create a Firebase Project

  1. Give your project a name.

  2. Click Continue.

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

  4. Click Create project.

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

Enable Firebase Authentication

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

  2. Click Get started.

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

  4. Click Add new provider.

  5. Select Email/Password.

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

Create a Firebase Web App

  1. Click the gear icon next to Project Overview.

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

  3. Give your web app a name.

  4. Click Register app.

  5. 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. Click to expand the Engage header in the sidebar.

  2. Click Authentication.

  3. Click the Templates tab at the top.

  4. 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. Click the gear icon next to Project Overview.

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

  3. Copy the apiKey.

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

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

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

  7. 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.

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.

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. Click to expand the Engage header in the sidebar.

  2. Click Authentication.

  3. Click the Users tab along the top.

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


Click:

Click:

Visit .

On your , click + Add project.

On your , select your project.

Click Authentication.

On your , select your project.

Select Project settings.

On your , select your project.

On your , select your project.

Select Project settings.

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

If you'd like to customize the emails sent on your app's behalf, see here: .

On your , select your project.

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

🛠️
https://x.thunkable.com/projectPage/653c261e53bf2181c510bad2
https://x.thunkable.com/projectPage/65498594fef5f2263755c8ec
Firebase
Firebase console
Firebase console
Firebase console
Firebase console
Firebase console
Cloud Variables
Firebase console
Thunkable Docs Feedback
(Optional) Customize Your Email Templates
Firebase Authentication