UNPKG

@midware/mauth

Version:

A simple auth middleware for Node.js

39 lines 1.48 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); // file deepcode ignore no-any: any needed const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); const key_1 = __importDefault(require("./key")); const crypt_1 = __importDefault(require("../config/crypt")); class JsonWebToken { constructor(crypt) { this.crypt = crypt; } static getInstance(crypt) { if (!this._instance) { this._instance = new this(crypt); } return this._instance; } async verify(token, key) { return new Promise(async (resolve, reject) => { try { key = key ? key : await key_1.default.getInstance(this.crypt).key(); jsonwebtoken_1.default.verify(token, key, (error, data) => error ? reject(error) : resolve(data)); //! TODO: check permissions } catch (error) { reject(error); } }); } async sign(payload, type, key) { return jsonwebtoken_1.default.sign(payload, key ? key : await key_1.default.getInstance(this.crypt).privateKey(), type !== 'SERVICE' ? crypt_1.default.signOptions : crypt_1.default.signServiceOptions); } } exports.default = JsonWebToken; //# sourceMappingURL=jsonWebToken.js.map