@irfanakbari/nova-auth
Version:
Authentication and authorization module for NestJS
54 lines • 2.43 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var AuthModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AuthModule = void 0;
const common_1 = require("@nestjs/common");
const jwt_1 = require("@nestjs/jwt");
const core_1 = require("@nestjs/core");
const auth_service_1 = require("./services/auth.service");
const auth_guard_1 = require("./guards/auth.guard");
const auth_const_1 = require("./const/auth.const");
let AuthModule = AuthModule_1 = class AuthModule {
static register(options) {
var _a;
if (!options || !options.jwtSecret) {
throw new Error('AuthModule.register requires jwtSecret in options');
}
const providerOptions = {
provide: auth_const_1.AUTH_MODULE_OPTIONS,
useValue: {
bypassRoles: (_a = options.bypassRoles) !== null && _a !== void 0 ? _a : ['SUPER'],
jwtSecret: options.jwtSecret,
roleAggregator: options.roleAggregator,
sessionValidator: options.sessionValidator,
exclude: options.exclude,
excludeControllers: options.excludeControllers,
excludeModulePrefix: options.excludeModulePrefix,
},
};
return {
module: AuthModule_1,
imports: [jwt_1.JwtModule.register({ secret: options.jwtSecret })],
providers: [
providerOptions,
auth_service_1.AuthService,
{
provide: core_1.APP_GUARD,
useClass: auth_guard_1.AuthGuard,
},
],
exports: [auth_service_1.AuthService],
};
}
};
exports.AuthModule = AuthModule;
exports.AuthModule = AuthModule = AuthModule_1 = __decorate([
(0, common_1.Module)({})
], AuthModule);
//# sourceMappingURL=auth.module.js.map