@mtvproject/platform-crypto-middleware
Version:
Platform's Authentication Middleware
33 lines • 1.61 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.wellKnownComponents = exports.verify = exports.AUTH_METADATA_HEADER = exports.AUTH_TIMESTAMP_HEADER = exports.AUTH_CHAIN_HEADER_PREFIX = void 0;
const types_1 = require("./types");
Object.defineProperty(exports, "AUTH_CHAIN_HEADER_PREFIX", { enumerable: true, get: function () { return types_1.AUTH_CHAIN_HEADER_PREFIX; } });
Object.defineProperty(exports, "AUTH_TIMESTAMP_HEADER", { enumerable: true, get: function () { return types_1.AUTH_TIMESTAMP_HEADER; } });
Object.defineProperty(exports, "AUTH_METADATA_HEADER", { enumerable: true, get: function () { return types_1.AUTH_METADATA_HEADER; } });
const verify_1 = __importDefault(require("./verify"));
exports.verify = verify_1.default;
/**
* Well Known Components
*/
function wellKnownComponents(options) {
return async (ctx, next) => {
try {
const data = await (0, verify_1.default)(ctx.request.method, ctx.url.pathname, ctx.request.headers.raw(), options);
ctx.verification = data;
}
catch (err) {
if (!options.optional) {
const onError = options.onError ?? types_1.DEFAULT_ERROR_FORMAT;
const status = err.statusCode || err.status || 500;
return { status, body: onError(err) };
}
}
return next();
};
}
exports.wellKnownComponents = wellKnownComponents;
//# sourceMappingURL=index.js.map