1.0.10 • Published 10 months ago

nestjs-google-auth v1.0.10

Weekly downloads
-
License
MIT
Repository
-
Last release
10 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

10 months ago

1.0.9

10 months ago

1.0.8

10 months ago

1.0.7

10 months ago

1.0.6

10 months ago

1.0.5

10 months ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.2

10 months ago

1.0.0

10 months ago