Firebase SDK: Authentication using the email link
Firebase SDK authentication using email link/no password is quite similar to Firebase UI authentication using an email link/password. We can use Firebase authentication to sign-up any user by sending them an email containing a link, and then they can click on that link to sign-in. The user email address is also verified in the process.
There are a lot of advantages of using email link authentication:
Low friction sign up and sign in
Low risk of password reuse across applications which can undermine the security of even well-selected passwords.
To authenticate a user and also verifying that user is the legitimate owner of the email address. The user only needs to act an accessible email to sign-in, and the right kind of password list, no ownership of a phone number, no social media account is required. The user can sign-in securely without the need to provide a password. An existing user who previously signed in with an email identifier can also be upgraded to sign with just the email.
If the user forgets their password, they can still sign-in without any need to reset their password. So let’s start our coding section and see how we can implement email link authentication using Firebase SDK.
Step 1:
In the first step, we have to perform the preliminary steps, which are as follows:
- Creating an Android project.
- Creating a Firebase project.
- Adding Firebase to the Android project or application, either manually or Firebase Assistance.
- Adding the required libraries and JSON files.
Step 2:
In the next step, we have to enable the email link password to sign in. We have to enable both email/password and email links.
Step 3:
We have to make sure that we have a dynamic link because when we select the link, our application needs to catch that link in order to login or register in the Firebase.
Step 4:
In the next step, we will add the domain in the same way as we have done in Firebase UI email link authentication. Your domain name will be matched with the action code setting, which we will define next.
Step 5:
The last step which we have to do is to make sure that our project has SHA-1 and SHA-256 keys. We will set the SHA-1 and SHA-256 keys in the same way as we have done in our previous sectionFirebase UI: Authentication using the email link.
Step 6:
Next step is to implement an activity layout which contains an edit text for email and two buttons for sign_in and email_click in the following way:
Step 7:
In the next step, we will modify our MainActivity.java to implement email link authentication using Firebase SDK in the following way:
Output: