1.0.32 • Published 3 years ago

@rojiwon/nestjs-auth v1.0.32

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years 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

3 years ago

1.0.31

3 years ago

1.0.30

3 years ago

1.0.29

3 years ago

1.0.28

3 years ago

1.0.27

3 years ago

1.0.26

3 years ago

1.0.25

3 years ago

1.0.24

3 years ago

1.0.23

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.19

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago