Step by step guide to adding Google login to your Angular project

how-to-adding-Google-login-to-your-Angular-project

To add Google login functionality to your Angular project, you can use the ‘angularx-social-login’ library. Here’s a step-by-step guide:

Step 1: Create a Google Project and Configure OAuth

  • Go to the Google Cloud Console.
  • Create a new project or select an existing one.
  • In the left navigation panel, click on “APIs & Services” > “Credentials.”
  • Click on “Create Credentials” and select “OAuth client ID.”
  • Choose “Web application” as the application type.
  • Set the authorized JavaScript origins and redirect URIs. For development, you can set http://localhost:4200 as the redirect URI.
  • After creating the OAuth client ID, note down the client ID.

Step 2: Create an Angular Project

If you haven’t created an Angular project yet, use Angular CLI:

ng new my-google-login-app
cd my-google-login-app

Step 3: Install angularx-social-login

Install the ‘angularx-social-login’ library:

npm install angularx-social-login

Step 4: Configure Social Login Module

Configure the ‘SocialLoginModule’ in your Angular app. Open your ‘app.module.ts’ file and update it like this:

// src/app/app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { SocialLoginModule, SocialAuthServiceConfig } from 'angularx-social-login';
import { GoogleLoginProvider } from 'angularx-social-login';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    SocialLoginModule
  ],
  providers: [
    {
      provide: 'SocialAuthServiceConfig',
      useValue: {
        autoLogin: false,
        providers: [
          {
            id: GoogleLoginProvider.PROVIDER_ID,
            provider: new GoogleLoginProvider('YOUR_GOOGLE_CLIENT_ID') // Replace with your actual Google Client ID
          },
        ],
      } as SocialAuthServiceConfig,
    }
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

Replace ‘YOUR_GOOGLE_CLIENT_ID’ with the actual client ID you obtained from the Google Cloud Console.

Step 5: Create a LoginComponent

Create a new component named ‘login.component.ts’:

// src/app/login/login.component.ts

import { Component } from '@angular/core';
import { SocialAuthService, GoogleLoginProvider } from 'angularx-social-login';

@Component({
  selector: 'app-login',
  template: `
    
  `,
})
export class LoginComponent {
  constructor(private authService: SocialAuthService) {}

  signInWithGoogle(): void {
    this.authService.signIn(GoogleLoginProvider.PROVIDER_ID).then(
      (userData) => {
        console.log('Google login success:', userData);
        // Handle the successful login, e.g., set user state, store tokens, etc.
      },
      (error) => {
        console.error('Google login failure:', error);
        // Handle the login failure, e.g., show an error message
      }
    );
  }
}

Step 6: Use LoginComponent in App Component

Update your ‘app.component.ts’ file to use the ‘LoginComponent’:

// src/app/app.component.ts

import { Component } from '@angular/core';
import { LoginComponent } from './login/login.component';

@Component({
  selector: 'app-root',
  template: `
    

Angular Google Login

`, }) export class AppComponent {}

Step 7: Run Your Angular App

Save your files and run:

ng serve

Visit http://localhost:4200 in your browser. When you click the “Sign in with Google” button, it should trigger the Google login process.

Remember to replace ‘YOUR_GOOGLE_CLIENT_ID’ with your actual Google Client ID. Additionally, handle the success and failure callbacks according to your application’s requirements.

Related Posts