UNPKG

@sphereon/ssi-sdk.public-key-hosting

Version:

66 lines 3.79 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllJWKSEndpoint = getAllJWKSEndpoint; exports.getDIDJWKSEndpoint = getDIDJWKSEndpoint; const ssi_express_support_1 = require("@sphereon/ssi-express-support"); const ssi_sdk_agent_config_1 = require("@sphereon/ssi-sdk.agent-config"); const environment_1 = require("./environment"); const functions_1 = require("./functions"); const index_1 = require("./index"); function getAllJWKSEndpoint(router, context, opts) { var _a; if ((opts === null || opts === void 0 ? void 0 : opts.enabled) === false) { index_1.logger.info(`Get all JWKS endpoint is disabled`); return; } const path = (_a = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _a !== void 0 ? _a : environment_1.JKWS_HOSTING_ALL_KEYS_PATH; index_1.logger.info(`All JWKS endpoint enabled, path ${path}`); router.get(path, (0, ssi_express_support_1.checkAuth)(opts === null || opts === void 0 ? void 0 : opts.endpoint), (request, response) => __awaiter(this, void 0, void 0, function* () { try { if (!(0, ssi_sdk_agent_config_1.contextHasPlugin)(context, 'keyManagerListKeys')) { return (0, ssi_express_support_1.sendErrorResponse)(response, 500, 'Key manager plugin that can list keys is not found. Please enable the Sphereon Key Manager plugin if you want to use this endpoint'); } response.statusCode = 202; const keys = yield context.agent.keyManagerListKeys(); return response.send((0, functions_1.toJWKS)({ keys })); } catch (e) { return (0, ssi_express_support_1.sendErrorResponse)(response, 500, e.message, e); } })); } function getDIDJWKSEndpoint(router, context, opts) { var _a; if ((opts === null || opts === void 0 ? void 0 : opts.enabled) === false) { index_1.logger.info(`Get DID JWKS endpoint is disabled`); return; } const path = (_a = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _a !== void 0 ? _a : environment_1.JWKS_HOSTING_DID_KEYS_PATH; console.info(`DID JWKS endpoint enabled, path ${path}`); router.get(path, (0, ssi_express_support_1.checkAuth)(opts === null || opts === void 0 ? void 0 : opts.endpoint), (request, response) => __awaiter(this, void 0, void 0, function* () { const did = request.params.did; try { console.log(`Will get JWKS for DID ${did}`); const resolution = yield context.agent.identifierManagedGetByDid({ identifier: did }); if (!resolution.identifier) { return (0, ssi_express_support_1.sendErrorResponse)(response, 404, `DID ${did} not found`); } response.statusCode = 200; return response.send((0, functions_1.toJWKS)({ keys: resolution.keys })); } catch (e) { console.log(e); return (0, ssi_express_support_1.sendErrorResponse)(response, 404, `DID ${did} not found`); } })); } //# sourceMappingURL=api-functions.js.map