What is Firebase Authentication?
By: Golap Gunjan Barman
Tags: Android App Development, Android, AndroidDev, App Development, Firebase

Nowadays, most apps need to know the identity of a user. Knowing a user’s identity allows an app to securely save user data in the cloud and provide the same personalized experience across all of the user’s devices.

Firebase Authentication provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app. It supports authentication using passwords, phone numbers, popular federated identity providers like Google, Facebook, and Twitter, and more.

Key abilities

There are two ways you can sign in to your firebase app either by using FirebaseUI as a complete drop-in auth solution or by using the Firebase Authentication SDK to manually integrate one or several sign-in methods into your app.

FirebaseUIAuth

Drop-in authentication solution: This is the recommended way to add a complete sign-in method to your app.

FirebaseUI provides a drop-in auth solution that handles the UI flows for signing in users with email addresses and passwords, phone numbers, and including Google Sign-In and Facebook Login.

Firebase SDK Authentication

Email and password-based authentication: Authenticate users with their email addresses and passwords. Firebase Authentication also handles sending password reset emails.

Authenticate users with their email addresses and passwords. Firebase Authentication also handles sending password reset emails. Federated identity provider integration: The Firebase Authentication SDK provides methods that allow users to sign in with their Google, Facebook, Twitter, and GitHub accounts.

The Firebase Authentication SDK provides methods that allow users to sign in with their Google, Facebook, Twitter, and GitHub accounts. Phone number authentication: Authenticate users by sending SMS messages to their phones.

Authenticate users by sending SMS messages to their phones. Custom auth system integration: Connect your app’s existing sign-in system to the Firebase Authentication SDK and gain access to Firebase Realtime Database and other Firebase services.

Connect your app’s existing sign-in system to the Firebase Authentication SDK and gain access to Firebase Realtime Database and other Firebase services. Anonymous auth: Use features that require authentication without requiring users to sign in first by creating temporary anonymous accounts. If the user later chooses to sign up, you can upgrade the anonymous account to a regular account, so the user can continue where they left off.

How does it work?

To sign a user into your app, you first get authentication credentials from the user. These credentials can be the user’s email address and password, or an OAuth token from a federated identity provider (Google, Facebook, Twitter, or GitHub). Then, you pass these credentials to the Firebase Authentication SDK. The Firebase backend services will then verify those credentials and return a response to the client.

After a successful sign in, you can access the user’s basic profile information, and you can control the user’s access to data stored in other Firebase products.

Why Firebase?

Firebase Authentication provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app, offering a more engaging experience across different platforms and between apps. It supports authentication using passwords, popular federated identity providers such as Google; Facebook; and Twitter, and more, making it easy for users to access your content and get into your apps quickly and securely.

Features are: