1.0.10 • Published 7 months ago

nestjs-google-auth v1.0.10

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

Google Login Package for NestJS

A simple and reusable package for integrating Google login with NestJS using passport-google-oauth2. This package simplifies the process of authenticating users with Google by providing the strategy and module, leaving the control of user flow and logic up to you.

Features

  • Easy-to-use package for Google login integration with NestJS
  • Pre-configured passport-google-oauth2 strategy
  • Customizable user validation logic (you implement the controller and service)

Installation

  1. Install the package via npm:

    npm install nestjs-google-auth
  2. Install the necessary Passport dependencies if they are not already installed

    npm install passport passport-google-oauth2
  3. Install the type definitions for Passport (for TypeScript support):

    npm install --save-dev @types/passport
  4. Install the express-session and passport if you are using sessions (if the package is not already installed):

    npm install passport express-session
  5. Add environment variables to your .env file:

    GOOGLE_CLIENT_ID=your-google-client-id
    GOOGLE_CLIENT_SECRET=your-google-client-secret
    GOOGLE_CALLBACK_URL=your-google-callback-url

Usage

  1. Import the GoogleAuthModule & GoogleAuthController to your AppModule:

    @Module({
    imports: [
    GoogleAuthModule.forRoot({
      clientID: process.env.GOOGLE_CLIENT_ID,
      clientSecret: process.env.GOOGLE_CLIENT_SECRET,
      callbackURL: process.env.GOOGLE_CALLBACK_URL,
      scope: ['profile', 'email'],
      session: false,
    }),
    ],
    controllers: [AppController, AuthController],
    providers: [AppService],
    })
    export class AppModule {}
  2. If you are using sessions, you should configure the session in your main.ts file using express-session:

      app.use(
        session({
            secret: 'your-secret-key',
            resave: false,
            saveUninitialized: true,
        }),
    );
    
        app.use(passport.session());
  3. Test your application by redirecting to the default routes "/auth/google"

1.0.10

7 months ago

1.0.9

7 months ago

1.0.8

7 months ago

1.0.7

7 months ago

1.0.6

7 months ago

1.0.5

7 months ago

1.0.4

7 months ago

1.0.3

7 months ago

1.0.2

7 months ago

1.0.0

7 months ago