2.0.2 • Published 2 years ago

nestjs-jwt-authorize v2.0.2

Weekly downloads
-
License
APACHE 2.0
Repository
github
Last release
2 years ago

nestjs jwt authorize

Description

NestJS package to authorize by role from JWT.

It is designed to work in Kubernetes cluster with Istio

Decorators:

  • for methods:
    • HasRole(roles)
      • e.g @HasRole('ADMIN', 'SYS')
    • IsPublic()
  • for parameters
    • GetUser()
      • returns User object or throws UserNotFoundException

Installation

$ npm i nestjs-jwt-authorize

NestJS module:

providers: [
    {
      provide: AUTHORIZATION_HEADER_NAME,
      useValue: 'x-authz'
    },
    {
      provide: APP_GUARD,
      useClass: RolesGuard,
    },
  ]

export class AppModule implements NestModule {
  configure(consumer: MiddlewareConsumer): any {
    consumer.apply(AuthenticationMiddleware).forRoutes('*');
  }
}

Test

# unit tests
$ npm run test

# tests coverage
$ npm run test:cov