# User login with Firebase

This guide covers how to set up a login page in Bravo. The login utilizes Firebase as the user management service. There are several steps involved so bear with us! We'll walk you through setting up the UI in the design tool and configuring Firebase to store and manage your users.

{% hint style="info" %}
**What is Firebase?** [Firebase](https://firebase.google.com/) is a backend-as-a-service (Baas) from Google that provides features for building mobile apps.
{% endhint %}

{% hint style="success" %}
This feature requires a [Bravo Solo](https://www.bravostudio.app/pricing) or [Teams plan](https://www.bravostudio.app/pricing) account.
{% endhint %}

## Requirements

* A Firebase project.
* Login design

## Types of authentication

Currently, we support the following login types with Firebase:

* [**Email & password login**](/integrations/user-authentication/app-login-firebase/email-password-login-firebase.md): users log in with the email and password they provided when registering.
* [**Phone login**](/integrations/user-authentication/app-login-firebase/phone-login-with-firebase.md): users introduce their phone number, and get a SMS with a code they need to use to log in.
* [**Google & Apple social login**](/integrations/user-authentication/app-login-firebase/social-login-with-firebase.md): users log in with their existing Google/Apple accounts.&#x20;

{% hint style="warning" %}
Apple login is only supported on iOS devices.
{% endhint %}

Also, there's an option to allow users to log in anonymously, and restrict their access to certain app pages. You can see how to set this up in the link below.

{% content-ref url="/pages/SxrVQznvt5Sj3Dw99Js6" %}
[Anonymous Login with Firebase](/integrations/user-authentication/app-login-firebase/anonymous-login-with-firebase.md)
{% endcontent-ref %}

![](/files/-MhNLZdu9rlBL3WECcgt)

## Create your Firebase project

1\. Log in or create a Firebase account in the [Firebase Console](https://console.firebase.google.com/).&#x20;

![Firebase website - Create a project button](/files/-MhNLZe02rwYx00uu387)

2\. Once in the Firebase Console, **create a new project** or **select an existing project** you want to use.

3\. If creating a new project, first fill in a project name.

![Create a Firebase project Step 1](/files/-MhNLZe1fN87_MU315lo)

4\. Next, choose if you want Google Analytics support. If you do, keep it enabled (it's optional). You will need to link it to a Google Analytics account in the 3rd step. If not, disable it.

5\. Finally, we create the project, it takes some seconds.

![Firebase project created](/files/-MhNLZe2HiTbKeEVniOI)

After creating your project, refer to the following guides based on the authentication type you wish to configure:

{% content-ref url="/pages/I7qBPmHghbBw5tRzLFYd" %}
[Email and password Login with Firebase](/integrations/user-authentication/app-login-firebase/email-password-login-firebase.md)
{% endcontent-ref %}

{% content-ref url="/pages/qrrYQwgnwpUZsDn6ZTqH" %}
[Phone Login with Firebase](/integrations/user-authentication/app-login-firebase/phone-login-with-firebase.md)
{% endcontent-ref %}

{% content-ref url="/pages/m0wFJ6aHxiqZsp3F1JMt" %}
[Social Login with Firebase](/integrations/user-authentication/app-login-firebase/social-login-with-firebase.md)
{% endcontent-ref %}

{% content-ref url="/pages/SxrVQznvt5Sj3Dw99Js6" %}
[Anonymous Login with Firebase](/integrations/user-authentication/app-login-firebase/anonymous-login-with-firebase.md)
{% endcontent-ref %}

![](/files/-MhNLZdu9rlBL3WECcgt)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bravostudio.app/integrations/user-authentication/app-login-firebase.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
