UNPKG

component-dbs-core

Version:

DTO objects shared among device backend

59 lines 2.56 kB
"use strict"; 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 __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const common_1 = require("@nestjs/common"); const jwks_rsa_1 = __importDefault(require("jwks-rsa")); const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); const envService_1 = require("../../../common_services/config/envService"); let JwtLib = class JwtLib { constructor(envService) { this.envService = envService; this.getKey = (header, callback) => { this.client.getSigningKey(header.kid, (err, key) => { if (err) { callback(err, null); } else { const signingKey = key.getPublicKey(); callback(null, signingKey); } }); }; this.decodeJwt = (token) => new Promise((res, rej) => { const options = { algorithm: 'RS256', issuer: this.envService.auth0JwtIssuer, maxAge: this.envService.auth0JwtMaxAge, ignoreExpiration: false, }; jsonwebtoken_1.default.verify(token, this.getKey, options, (err, decoded) => { if (err) { rej(err); } else { res(decoded); } }); }); this.client = jwks_rsa_1.default({ jwksUri: this.envService.auth0UrlJwtWellKnown, }); } }; JwtLib = __decorate([ common_1.Injectable(), __metadata("design:paramtypes", [envService_1.EnvironmentService]) ], JwtLib); exports.default = JwtLib; //# sourceMappingURL=jwtLib.js.map