Firebase – Login and Register with Email, Facebook and Google Android 2020

Free Download

Firebase - Login and Register with Email, Facebook and Google Android 2020

Firebase - Login and Register with Email, Facebook and Google Android - 1 Firebase - Login and Register with Email, Facebook and Google Android - 2

Firebase – Login and Register with Email, Facebook and Google Android

Overview

An utility app to learn about Firebase Authentication, helping you to better understand and easily implement Firebase Login and Register into your app.

Don’t waste your time to integrate and develop Firebase login, just drag and drop the code from our project to yours.

Download Demo

App allows to sign in with Facebook, Google, Phone number or with Email and Password.

If you have any suggestions, don’t hesitate to contact us and tell what feature you would like to see in this product. If you have any question to ask, feel free to contact us.

Firebase – Login and Register with Email, Facebook and Google Android I recommend everyone.

Authenticate Using Facebook Login on Android
You can let your users authenticate with Firebase using their Facebook accounts by integrating Facebook Login into your app.

Before you begin
If you haven’t already, add Firebase to your Android project.
In your project-level build.gradle file, make sure to include Google’s Maven repository in both your buildscript and allprojects sections.
Add the dependency for the Firebase Authentication Android library to your module (app-level) Gradle file (usually app/build.gradle):

implementation ‘com.google.firebase:firebase-auth:19.2.0’

On the Facebook for Developers site, get the App ID and an App Secret for your app.
Enable Facebook Login:
In the Firebase console, open the Auth section.
On the Sign in method tab, enable the Facebook sign-in method and specify the App ID and App Secret you got from Facebook.
Then, make sure your OAuth redirect URI (e.g. my-app-12345.firebaseapp.com/__/auth/handler) is listed as one of your OAuth redirect URIs in your Facebook app’s settings page on the Facebook for Developers site in the Product Settings > Facebook Login config.

Authenticate with Firebase
Integrate Facebook Login into your app by following the developer's documentation. When you configure the LoginButton or LoginManager object, request the public_profile and email permissions. If you integrated Facebook Login using a LoginButton, your sign-in activity has code similar to the following:
Java
Kotlin
// Initialize Facebook Login button
mCallbackManager = CallbackManager.Factory.create();
LoginButton loginButton = findViewById(R.id.buttonFacebookLogin);
loginButton.setReadPermissions("email", "public_profile");
loginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d(TAG, "facebook:onSuccess:" + loginResult);
handleFacebookAccessToken(loginResult.getAccessToken());
}

@Override
public void onCancel() {
Log.d(TAG, "facebook:onCancel");
// ...
}

@Override
public void onError(FacebookException error) {
Log.d(TAG, "facebook:onError", error);
// ...
}
});
// ...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

// Pass the activity result back to the Facebook SDK
mCallbackManager.onActivityResult(requestCode, resultCode, data);
}

In your sign-in activity's onCreate method, get the shared instance of the FirebaseAuth object:
Java
Kotlin
private FirebaseAuth mAuth;
// ...
// Initialize Firebase Auth
mAuth = FirebaseAuth.getInstance();

When initializing your Activity, check to see if the user is currently signed in:
Java
Kotlin
@Override
public void onStart() {
super.onStart();
// Check if user is signed in (non-null) and update UI accordingly.
FirebaseUser currentUser = mAuth.getCurrentUser();
updateUI(currentUser);
}

After a user successfully signs in, in the LoginButton's onSuccess callback method, get an access token for the signed-in user, exchange it for a Firebase credential, and authenticate with Firebase using the Firebase credential:
Java
Kotlin
private void handleFacebookAccessToken(AccessToken token) {
Log.d(TAG, "handleFacebookAccessToken:" + token);

AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
Log.d(TAG, "signInWithCredential:success");
FirebaseUser user = mAuth.getCurrentUser();
updateUI(user);
} else {
// If sign in fails, display a message to the user.
Log.w(TAG, "signInWithCredential:failure", task.getException());
Toast.makeText(FacebookLoginActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
updateUI(null);
}

// ...
}
});
}

If the call to signInWithCredential succeeds, you can use the getCurrentUser method to get the user’s account data.
Next steps
After a user signs in for the first time, a new user account is created and linked to the credentials—that is, the user name and password, phone number, or auth provider information—the user signed in with. This new account is stored as part of your Firebase project, and can be used to identify a user across every app in your project, regardless of how the user signs in.

In your apps, you can get the user’s basic profile information from the FirebaseUser object. See Manage Users.

In your Firebase Realtime Database and Cloud Storage Security Rules, you can get the signed-in user’s unique user ID from the auth variable, and use it to control what data a user can access.

You can allow users to sign in to your app using multiple authentication providers by linking auth provider credentials to an existing user account.

Features

– Login with Facebook account
– Login with Google account
– Login with Email and password
– Login with Phone Number
– Edit account password
– SignOut implemented

Requirements

– Android Studio
– Java
Facebook Login
Firebase account

You might be interested in

Open