Phone Sign-In
Phone Sign-In allows a user to sign in by sending an SMS message to the user's phone. The user signs in using a one-time code contained in the SMS message.

Phone Sign In
Before getting started with this section, ensure you have:
- Completed Initial setup required for authentication. (Please note: Skip if you have already enabled authentication and created user collection while creating your project with Firebase Setup.)
Adding Phone Sign-In comprises of following steps:
Setting up phone sign-in requires you to get the SHA-1 key/fingerprint, add it to your Firebase project and then regenerate the Firebase config files in FlutterFlow. The detailed instructions are explained here.
To enable authentication in the Firebase:
- Open the Firebase console and click on Authentication (inside the Build section in the left side menu)
- Click on the Get started button (this may not be visible if you have already set up other forms of Authentication).
- Select the Sign-in method tab.
- Click on Phone (Under the Native Providers section). If you have already added any other provider, click on the Add new provider and then click on Phone.
- Find the Phone switch and enable it.
- Click on the Save button.
- If you'd like to use Phone Sign-In in "Run Mode" (via app.flutterflow.io/run/... links), also complete the following steps:
- Select the Setting tab (besides the Sign-in method tab).
- Select Authorized domains from the left side menu.
- Click Add domain.
- Enter app.flutterflow.io and click on add button.

Enabling phone authentication in Firebase
To allow users to authenticate using their Phone number, you need to create a page to accept the user's phone number. We provide a collection of ready-to-use templates. You can use one of our templates or create a page from scratch.
To create a new page from scratch:
- Click on the Page Selector from the Navigation Menu (left side of your screen).
- Click on the New Page icon (). A popup will open.
- Enter the page name and click the + Create New button under the Blank Page template.
- Click on the Widget Tree from the Navigation Menu.
- Add the TextField widget inside the Column and change its Hint Text to the Phone Number.
- Add the Button widget below the TextField and change its Text to Send Code.

Phone number page
You need to create another page to verify the SMS code.
Here's how you build the verify code page:
- Click on the Page Selector from the Navigation Menu (left side of your screen).
- Click on the New Page icon. A popup will open.
- Enter the page name and click the + Create New button under the Blank Page template.
- Click on the Widget Tree from the Navigation Menu.
- Add the TextField widget inside the Column and change its Hint Text to the Enter Code.
- Add the Button widget below the TextField and change its Text to Verify Code.

Verify code page
To add the Phone Sign-In action on a button:
- Select the Button (with Send Code text) from the widget tree or the canvas area.
- Select Actions from the Properties panel (the right menu), and click + Add Action.
- Search and select the Phone Sign In action.
- Now, you can provide a phone number. To do so, click on the UNSET. This will open a popup on the left side.
- Select the Widget State and then select the name of the TextField that accepts the phone number. You can also provide a phone number from other variables such as the API response variable, Firestore document, or a variable that holds logged-in user's details.
- Click on the Verify SMS Code Page dropdown and choose the page you have created to verify the code. If this action is successful, the selected page will be open.

Adding a phone sign-in action
To add the verify code action on a button:
- Select the Button (with Verify Code text) from the widget tree or the canvas area.
- Select Actions from the properties panel (the right menu), and click + Add Action.
- Search and select the Verify SMS Code action.
- To provide the SMS code, click on the UNSET. This will open a popup on the left side.
- Select the Widget State and then select the name of the TextField that accepts the code.

Adding verify code action
To log out a user, you can place a button on your home page and add the Logout action.
You can test the authentication on a real device and in Run Mode. To use Run Mode, make sure you have completed the Firebase setup.
To test authentication in Run Mode:
- Click on the Run button (top right corner of your screen)
- Enter the phone number (international format) on which you would like to receive the OTP code and click Send Code.
- Enter the OTP code received on the phone and click Verify Code.
- Click on the Logout button.

Test in Run mode
Phone Sign In does not work in an Android emulator. You can only test it on a real device.
To test on a real device:
- Get the SHA-256 key/fingerprint, add it to your Firebase project and then regenerate the Firebase config files in FlutterFlow. Note: The instructions are similar to generating the SHA-1 key and are explained here. In the terminal, you will find the SHA-256 key just below the SHA-1 key. This is required for the Firebase to verify that the sign-in request is coming from a legitimate device.

SHA-256 key
- Click on the Library menu on the left and search for the Android Device Verification.
- Select the Android Device Verification section and click Enable.

Enabling Android Device Verification
After you test the phone sign-in, you can verify the creation of a new user in Firebase using the instructions here.
If you're releasing your app to the Play Store, you must add the SHA certificate fingerprints from the Play Console.
To get the keys for the release app, navigate to Play Store Console > Your project > Release Management –> App Signing and copy the SHA-1 and SHA-256 keys.

Release mode keys
You don't need to take additional steps to enable Phone Sign-In on iOS devices.
If you haven't enabled billing in your firebase project, you must have some limit on testing the phone authentication with real numbers. To try phone sign-in without any limitations, you can add some fictitious numbers to the Firebase console.
To add the fictitious number:
- Select the Sign-in method tab.
- Click on the Phone (Under the Sign-in providers section).
- Scroll down, find the Phone numbers for testing menu, and click on it.
- Enter any dummy phone number. (Make sure it should look unreal)
- Enter the verification code that you would use on the verify code page.
- Click on add.
.gif?alt=media&token=7ea83473-1cfa-4be8-aedd-71dda587d273)
Testing with dummy numbers
Last modified 10mo ago