1.0.32 • Published 1 year ago

@rojiwon/nestjs-auth v1.0.32

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

nestjs-auth

  please use this package, @devts/nestjs-auth

npm version

  • A way to apply Oauth2 Auth module to nestjs
  more type-safe than passport
  install only once

Installation

npm i @devts/nestjs-auth

Example

import { ConfigService } from '@nestjs/config';
import { AbstractGoogleStrategy } from '@rojiwon/nestjs-auth';

interface GoogleProfile {
  name: string;
  email: string;
}
@Injectable()
export class GoogleStrategy extends AbstractGoogleStrategy<
  'user',
  GoogleProfile
> {
  constructor(configService: ConfigService) {
    super({
      client_id: configService.get('CLIENT_ID'),
      client_secret: configService.get('CLIENT_SECRET'),
      redirect_uri: configService.get('OAUTH_CALLBACK'),
      scope: ['email', 'profile'],
      key: 'user',
    });
  }
  validate(data: GoogleProfile | undefined): boolean {
    if (data?.name == undefined || data?.email == undefined) {
      return false;
    }
    return true;
  }
}

// in module
@Module({
  providers: [
    {
      provide: 'GoogleStrategy',
      useClass: GoogleStrategy,
    },
  ],
})
export class AppModule {}
import { AuthGuard } from '@rojiwon/nestjs-auth';

  // in controller
  // Inject decorator get "GoogleStrategy" token
  @Get("sign-in")
  @UseGuards(AuthGuard("GoogleStrategy"))
  signIn(){ return; }
1.0.32

1 year ago

1.0.31

1 year ago

1.0.30

1 year ago

1.0.29

1 year ago

1.0.28

1 year ago

1.0.27

1 year ago

1.0.26

1 year ago

1.0.25

1 year ago

1.0.24

1 year ago

1.0.23

1 year ago

1.0.22

1 year ago

1.0.21

1 year ago

1.0.20

1 year ago

1.0.19

1 year ago

1.0.18

1 year ago

1.0.17

1 year ago

1.0.16

1 year ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago