Implementing OAuth2 Social Login With Facebook


Well, do you have any idea about how to use OAuth2 authentication to integrate Facebook login alongside Node.JS? Thus, including social login to your app has a lot of benefits. Initially, users of your app don’t have to fill up a registration form comprising 10 or more input sections.

Additionally, while trying to log in to any of the apps, they may forget their password. So, they don’t need to apply a password recovery procedure, as they locate it time-consuming to do so.

Generally, the answer to this issue is if you can register and login users to our app with the help of their social accounts. So, we can execute this feature with the assistance of an authentication procedure called OAuth2.

What Is OAuth2?

According to the OAuth website: OAuth 2.0 is the business standard protocol for authorization. OAuth 2.0 supplants the work done on the first OAuth protocol made in 2006. Also, it spotlights on customer engineer simplicity while giving explicit authorization streams to web apps, desktop apps, cell phones, and living room gadgets.

Consequently, it is an authentication conspire in which users on the web can get to their data on different sites, without giving their account credentials (username as well as password).

Just a single necessity exists; The user should also authorize the app to get to their info for a chose OAuth supplier.

Why Use OAuth2?

Users Don’t Have to Keep Their Credentials

Basically, users can join or sign in to any app that is using OAuth2 accessing no credentials, for example, email ID and password. They need to allow the app to get to their data for a chosen OAuth supplier. Hence, this progression is being done onetime only.

Avoid Security Holes

Usually, in the OAuth2 tool, the user doesn’t give passwords to login or pursue the app. Consequently, from the improvement perspective, designers don’t have to store a user’s password. So, this forestalls the wrong utilization of saving passwords.

Developer Friendly

Furthermore, designers can easily execute OAuth2 in an app. They need to experience the technical doc for the particular OAuth supplier. For instance, if sign in or potentially joins with a Facebook feature should be executed, the designer needs to visit the official docs page for the Facebook OAuth supplier.

Capability to Manage Non-Web Customers

So, in the authorization process of OAuth2, we know the system that sends requests to as the customer. Likewise, the customer can be a program, a mobile application or some other gadget. So, this is how OAuth2 can deal with non-web customers too.

How OAuth2 Works

Basically, before conversing how OAuth2’s working standard, it will be ideal if we talk about the key roles performed by every element in this guideline.

Resource Owner: It alludes to the user who offers consent to allow an app to get to their account. Thus, the authorization’s scope decides the application’s entrance to the user’s account.

Resource or Authorization Server: Also, the authorization server is answerable for confirming the identity of the user. Hence, the resource server alludes to a server that has the ensured user’s accounts.

Customer: Moreover, it alludes to the application that gets to the user’s account. Yet, to do as such, the user must authorize it, and that authorization procedure must experience a validation procedure conveyed by an API.

Making OAuth2 Facebook App

To begin with, we have to make a Facebook app. To go to the Facebook developer page. At that point, sign in with your FB account, this progression is fundamental because in the wake of doing this you will get an app id and password mandatory for associating our node.js app with Facebook.

  • After login, click on the Get Started button. 
  • Now, click on the Next button, and choose your job role. Choose the developer here. 
oauth2 facebook your job role
  • After that, create an app by following this – 
oauth2 facebook create app id
  • Now, click on the checkbox ‘I am not a robot’.
oauth2 facebook security check
  • Then, you will see the Add Product page. Here, click the Setup button.
oauth2 facebook add product

Now, choose the platform to add the Facebook login feature and select the www option. 

oauth2 facebook choose platform
  • Here, enter your site URL. If you don’t have a website in production, you can use the localhost. Now, click on the Save button.
oauth2 facebook website url
  • Now, skip the rest of the steps and click on the Settings button in the left-hand menu.
oauth2 facebook settings menu
  • Here, in the Settings, add a redirect URL to inform the Facebook where a user will be redirected after authorization. Now, click on the Save Changes button. 
oauth2 facebook oauth settings
  • Here, go to the main settings option on the top-left side. 
oauth2 facebook top settings
  • Now, you will see an app ID and password. Copy them and save it somewhere you want. You may need them soon. 

So, you have created a Facebook app that is the initial step to integrate Facebook login to the Node.JS app that we will build. 

Wrapping Up

Well, now you know how oauth2 will give Facebook login to a Node.JS app. In case you’ve found this post useful, keep sharing it with others. So, keep in touch with us, we will regularly provide you the most recent updates in the technology domain.