Angular 11, Google Social Login, Sign In Tutorial, angularx-social-login

07 Jun 2023 Balmiki Mandal 0 Web development

Angular 11 Google Social Login or Sign In Tutorial using angularx-social-login

In this tutorial, we are going to learn how to add Google social login or sign in functionality to an Angular 11 application using the angularx-social-login library. This library provides a powerful set of features for connecting with third-party login providers like Google, Facebook, Twitter, and Microsoft Live and many more.

Prerequisites

  • Node.js (version >= 10.x)
  • NPM (version >= 6.x)
  • Angular CLI (version >= 11.x)

Getting Started

First, create a new Angular 11 project using the following command:

ng new angular-social-login

Next, open the project in your favorite code editor and navigate to the root folder of the project.

Install angularx-social-login Library

Now, install the angularx-social-login library using the following command:

npm install angularx-social-login --save

Once the library is installed, you can import the SocialLoginModule to the app.module.ts file as shown below:

import { SocialLoginModule, AuthServiceConfig } from "angularx-social-login";
 
const config = new AuthServiceConfig([
  {
    id: GoogleLoginProvider.PROVIDER_ID,
    provider: new GoogleLoginProvider("Google-OAuth-Client-Id")
  }
]);
 
@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, SocialLoginModule],
  providers: [
    {
      provide: AuthServiceConfig,
      useFactory: provideConfig
    }
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

export function provideConfig() {
  return config;
}

Don’t forget to replace the Google-OAuth-Client-Id with your own Google OAuth Client ID.

Create Login Component

Now, we are ready to create the login component. Run the following command in the terminal to generate the component:

ng generate component login

Add Google Login Button

Next, open the login.component.html file and add the following HTML code in it:

<div class="container">
    <div class="row">
        <div class="col-md-12">
            <button type="button" (click)="googleSignIn()" class="btn btn-primary">Google Login</button>
        </div>
    </div>
</div>

Handle Authentication Events

Next, open the login.component.ts file and add the following code in it:

import { Component, OnInit } from '@angular/core';
import { AuthService } from "angularx-social-login";
import { GoogleLoginProvider, FacebookLoginProvider } from "angularx-social-login";
 
@Component({
    selector: 'app-login',
    templateUrl: './login.component.html',
    styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
    constructor(private authService: AuthService) { }
   
    ngOnInit(): void { }
   
    googleSignIn() {
        this.authService.signIn(GoogleLoginProvider.PROVIDER_ID);
    }
}

Now, you have successfully integrated Google Social Login or Sign In functionality in your Angular 11 application. You can visit the official documentation of the library to explore more advanced features.

BY: Balmiki Mandal

Related Blogs

Post Comments.

Login to Post a Comment

No comments yet, Be the first to comment.