UNPKG

@duongtrungnguyen/nestro

Version:
37 lines 1.38 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; 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); import { Inject, Injectable, ForbiddenException } from "@nestjs/common"; import { KeyService } from "../services"; let SecurityMiddleware = class { constructor(keyService) { this.keyService = keyService; } use(req, _, next) { const signature = req.headers["signature"]; if (!signature) { throw new ForbiddenException("Missing authentication signature"); } const publicKey = this.keyService.getPublicKey(); if (!this.keyService.verifyData(req.body ?? {}, signature, publicKey)) { throw new ForbiddenException("Invalid signature"); } next(); } }; SecurityMiddleware = __decorateClass([ Injectable(), __decorateParam(0, Inject(KeyService)) ], SecurityMiddleware); export { SecurityMiddleware }; //# sourceMappingURL=security.middleware.js.map