UNPKG

@duongtrungnguyen/nestro

Version:
58 lines 2.4 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var __decorateClass = (decorators, target, key, kind) => { var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target; for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result; if (kind && result) __defProp(target, key, result); return result; }; var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index); var security_middleware_exports = {}; __export(security_middleware_exports, { SecurityMiddleware: () => SecurityMiddleware }); module.exports = __toCommonJS(security_middleware_exports); var import_common = require("@nestjs/common"); var import_services = require("../services"); let SecurityMiddleware = class { constructor(keyService) { this.keyService = keyService; } use(req, _, next) { const signature = req.headers["signature"]; if (!signature) { throw new import_common.ForbiddenException("Missing authentication signature"); } const publicKey = this.keyService.getPublicKey(); if (!this.keyService.verifyData(req.body ?? {}, signature, publicKey)) { throw new import_common.ForbiddenException("Invalid signature"); } next(); } }; SecurityMiddleware = __decorateClass([ (0, import_common.Injectable)(), __decorateParam(0, (0, import_common.Inject)(import_services.KeyService)) ], SecurityMiddleware); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { SecurityMiddleware }); //# sourceMappingURL=security.middleware.js.map