1.0.32 • Published 2 years ago

@rojiwon/nestjs-auth v1.0.32

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

2 years ago

1.0.31

2 years ago

1.0.30

2 years ago

1.0.29

2 years ago

1.0.28

2 years ago

1.0.27

2 years ago

1.0.26

2 years ago

1.0.25

2 years ago

1.0.24

2 years ago

1.0.23

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.20

2 years ago

1.0.19

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago