@sphereon/ssi-sdk.oid4vci-issuer-rest-api 0.33.1-next.3 → 0.33.1-next.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs ADDED
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/index.ts
32
+ var index_exports = {};
33
+ __export(index_exports, {
34
+ OID4VCIRestAPI: () => OID4VCIRestAPI
35
+ });
36
+ module.exports = __toCommonJS(index_exports);
37
+
38
+ // src/OID4VCIRestAPI.ts
39
+ var import_oid4vci_issuer_server = require("@sphereon/oid4vci-issuer-server");
40
+ var import_ssi_sdk = require("@sphereon/ssi-sdk.oid4vci-issuer");
41
+ var import_express = __toESM(require("express"), 1);
42
+ var import_swagger_ui_express = __toESM(require("swagger-ui-express"), 1);
43
+ var OID4VCIRestAPI = class _OID4VCIRestAPI {
44
+ static {
45
+ __name(this, "OID4VCIRestAPI");
46
+ }
47
+ _expressSupport;
48
+ _context;
49
+ _opts;
50
+ _restApi;
51
+ _instance;
52
+ _issuer;
53
+ _router;
54
+ _baseUrl;
55
+ _basePath;
56
+ static async init(args) {
57
+ const { issuerInstanceArgs, context } = args;
58
+ const opts = args.opts ?? {};
59
+ const expressSupport = args.expressSupport;
60
+ const instance = await context.agent.oid4vciGetInstance(args.issuerInstanceArgs);
61
+ const issuer = await instance.get({
62
+ context,
63
+ credentialDataSupplier: args.credentialDataSupplier
64
+ });
65
+ if (!opts.endpointOpts) {
66
+ opts.endpointOpts = {};
67
+ }
68
+ if (!opts.endpointOpts.tokenEndpointOpts) {
69
+ opts.endpointOpts.tokenEndpointOpts = {
70
+ accessTokenIssuer: instance.metadataOptions.credentialIssuer ?? issuer.issuerMetadata.credential_issuer
71
+ };
72
+ }
73
+ if (opts?.endpointOpts.tokenEndpointOpts?.tokenEndpointDisabled !== true && typeof opts?.endpointOpts.tokenEndpointOpts?.accessTokenSignerCallback !== "function") {
74
+ const idOpts = instance.issuerOptions.idOpts;
75
+ const tokenOpts = {
76
+ iss: opts.endpointOpts.tokenEndpointOpts.accessTokenIssuer ?? instance.metadataOptions.credentialIssuer,
77
+ didOpts: instance.issuerOptions.didOpts,
78
+ idOpts
79
+ };
80
+ opts.endpointOpts.tokenEndpointOpts.accessTokenSignerCallback = await (0, import_ssi_sdk.getAccessTokenSignerCallback)({
81
+ ...tokenOpts
82
+ }, args.context);
83
+ }
84
+ if (opts?.endpointOpts.authorizationChallengeOpts?.enabled === true) {
85
+ if (!instance.issuerOptions.presentationDefinitionId) {
86
+ throw Error(`Unable to set createAuthRequestUriCallback. No presentationDefinitionId present in issuer options`);
87
+ }
88
+ if (typeof opts?.endpointOpts.authorizationChallengeOpts.createAuthRequestUriCallback !== "function") {
89
+ if (!opts.endpointOpts.authorizationChallengeOpts?.createAuthRequestUriEndpointPath) {
90
+ throw Error(`Unable to set createAuthRequestUriCallback. No createAuthRequestUriEndpointPath present in options`);
91
+ }
92
+ opts.endpointOpts.authorizationChallengeOpts.createAuthRequestUriCallback = await (0, import_ssi_sdk.createAuthRequestUriCallback)({
93
+ path: opts.endpointOpts.authorizationChallengeOpts.createAuthRequestUriEndpointPath,
94
+ presentationDefinitionId: instance.issuerOptions.presentationDefinitionId
95
+ });
96
+ }
97
+ if (typeof opts?.endpointOpts.authorizationChallengeOpts?.verifyAuthResponseCallback !== "function") {
98
+ if (!opts.endpointOpts.authorizationChallengeOpts?.verifyAuthResponseEndpointPath) {
99
+ throw Error(`Unable to set verifyAuthResponseCallback. No createAuthRequestUriEndpointPath present in options`);
100
+ }
101
+ opts.endpointOpts.authorizationChallengeOpts.verifyAuthResponseCallback = await (0, import_ssi_sdk.createVerifyAuthResponseCallback)({
102
+ path: opts.endpointOpts.authorizationChallengeOpts.verifyAuthResponseEndpointPath,
103
+ presentationDefinitionId: instance.issuerOptions.presentationDefinitionId
104
+ });
105
+ }
106
+ }
107
+ return new _OID4VCIRestAPI({
108
+ context,
109
+ issuerInstanceArgs,
110
+ expressSupport,
111
+ opts,
112
+ instance,
113
+ issuer
114
+ });
115
+ }
116
+ OID4VCI_SWAGGER_URL = "https://api.swaggerhub.com/apis/SphereonInt/OID4VCI/0.1.1";
117
+ constructor(args) {
118
+ const { context, opts, issuerInstanceArgs } = args;
119
+ this._baseUrl = new URL(opts?.baseUrl ?? process.env.BASE_URL ?? opts?.issuer?.issuerMetadata?.credential_issuer ?? issuerInstanceArgs.credentialIssuer ?? "http://localhost");
120
+ this._basePath = (0, import_oid4vci_issuer_server.getBasePath)(this._baseUrl);
121
+ this._context = context;
122
+ this._opts = opts ?? {};
123
+ this._expressSupport = args.expressSupport;
124
+ this._issuer = args.issuer;
125
+ this._instance = args.instance;
126
+ this._restApi = new import_oid4vci_issuer_server.OID4VCIServer(args.expressSupport, {
127
+ ...opts,
128
+ issuer: this._issuer
129
+ });
130
+ this._router = import_express.default.Router();
131
+ this.express.use(this._basePath, this._router);
132
+ this.setupSwaggerUi();
133
+ }
134
+ setupSwaggerUi() {
135
+ fetch(this.OID4VCI_SWAGGER_URL).then((res) => res.json()).then((swagger) => {
136
+ const apiDocs = `/api-docs`;
137
+ console.log(`[OID4VCI] API docs available at ${this._baseUrl.toString()}${this._basePath}${apiDocs}`);
138
+ swagger.servers = [
139
+ {
140
+ url: this._baseUrl.toString(),
141
+ description: "This server"
142
+ }
143
+ ];
144
+ this.express.set("trust proxy", this.opts?.endpointOpts?.trustProxy ?? true);
145
+ this._router.use(apiDocs, (req, res, next) => {
146
+ req.swaggerDoc = swagger;
147
+ next();
148
+ }, import_swagger_ui_express.default.serveFiles(swagger, options), import_swagger_ui_express.default.setup());
149
+ }).catch((err) => {
150
+ console.log(`[OID4VCI] Unable to fetch swagger document: ${err}. Will not host api-docs on this instance`);
151
+ });
152
+ const options = {};
153
+ }
154
+ get express() {
155
+ return this._expressSupport.express;
156
+ }
157
+ get context() {
158
+ return this._context;
159
+ }
160
+ get opts() {
161
+ return this._opts;
162
+ }
163
+ get restApi() {
164
+ return this._restApi;
165
+ }
166
+ get instance() {
167
+ return this._instance;
168
+ }
169
+ get issuer() {
170
+ return this._issuer;
171
+ }
172
+ async stop() {
173
+ return this._expressSupport.stop();
174
+ }
175
+ };
176
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/OID4VCIRestAPI.ts"],"sourcesContent":["/**\n * @public\n */\nexport * from './OID4VCIRestAPI'\nexport * from './types'\n","import { CredentialDataSupplier, VcIssuer } from '@sphereon/oid4vci-issuer'\nimport { getBasePath, OID4VCIServer } from '@sphereon/oid4vci-issuer-server'\nimport { IOID4VCIServerOpts } from '@sphereon/oid4vci-issuer-server'\nimport { ExpressSupport } from '@sphereon/ssi-express-support'\nimport {\n createAuthRequestUriCallback,\n getAccessTokenSignerCallback,\n IIssuerInstanceArgs,\n IssuerInstance,\n createVerifyAuthResponseCallback,\n} from '@sphereon/ssi-sdk.oid4vci-issuer'\nimport express, { Express, Request, Response, Router } from 'express'\nimport { IRequiredContext } from './types'\nimport swaggerUi from 'swagger-ui-express'\n\nexport interface IOID4VCIRestAPIOpts extends IOID4VCIServerOpts {}\n\nexport class OID4VCIRestAPI {\n private readonly _expressSupport: ExpressSupport\n private readonly _context: IRequiredContext\n private readonly _opts?: IOID4VCIRestAPIOpts\n private readonly _restApi: OID4VCIServer\n private readonly _instance: IssuerInstance\n private readonly _issuer: VcIssuer\n private readonly _router: Router\n private _baseUrl: URL\n private _basePath: string\n\n static async init(args: {\n context: IRequiredContext\n issuerInstanceArgs: IIssuerInstanceArgs\n credentialDataSupplier?: CredentialDataSupplier\n expressSupport: ExpressSupport\n opts?: IOID4VCIRestAPIOpts\n }): Promise<OID4VCIRestAPI> {\n const { issuerInstanceArgs, context } = args\n const opts = args.opts ?? {}\n const expressSupport = args.expressSupport\n const instance = await context.agent.oid4vciGetInstance(args.issuerInstanceArgs)\n const issuer = await instance.get({ context, credentialDataSupplier: args.credentialDataSupplier })\n\n if (!opts.endpointOpts) {\n opts.endpointOpts = {}\n }\n if (!opts.endpointOpts.tokenEndpointOpts) {\n opts.endpointOpts.tokenEndpointOpts = {\n accessTokenIssuer: instance.metadataOptions.credentialIssuer ?? issuer.issuerMetadata.credential_issuer,\n }\n }\n if (\n opts?.endpointOpts.tokenEndpointOpts?.tokenEndpointDisabled !== true &&\n typeof opts?.endpointOpts.tokenEndpointOpts?.accessTokenSignerCallback !== 'function'\n ) {\n const idOpts = instance.issuerOptions.idOpts\n const tokenOpts = {\n iss: opts.endpointOpts.tokenEndpointOpts.accessTokenIssuer ?? instance.metadataOptions.credentialIssuer,\n didOpts: instance.issuerOptions.didOpts,\n idOpts,\n }\n\n opts.endpointOpts.tokenEndpointOpts.accessTokenSignerCallback = await getAccessTokenSignerCallback(\n {\n ...tokenOpts,\n },\n args.context,\n )\n }\n\n if (opts?.endpointOpts.authorizationChallengeOpts?.enabled === true) {\n if (!instance.issuerOptions.presentationDefinitionId) {\n throw Error(`Unable to set createAuthRequestUriCallback. No presentationDefinitionId present in issuer options`)\n }\n\n if (typeof opts?.endpointOpts.authorizationChallengeOpts.createAuthRequestUriCallback !== 'function') {\n if (!opts.endpointOpts.authorizationChallengeOpts?.createAuthRequestUriEndpointPath) {\n throw Error(`Unable to set createAuthRequestUriCallback. No createAuthRequestUriEndpointPath present in options`)\n }\n\n opts.endpointOpts.authorizationChallengeOpts.createAuthRequestUriCallback = await createAuthRequestUriCallback({\n path: opts.endpointOpts.authorizationChallengeOpts.createAuthRequestUriEndpointPath,\n presentationDefinitionId: instance.issuerOptions.presentationDefinitionId,\n })\n }\n\n if (typeof opts?.endpointOpts.authorizationChallengeOpts?.verifyAuthResponseCallback !== 'function') {\n if (!opts.endpointOpts.authorizationChallengeOpts?.verifyAuthResponseEndpointPath) {\n throw Error(`Unable to set verifyAuthResponseCallback. No createAuthRequestUriEndpointPath present in options`)\n }\n\n opts.endpointOpts.authorizationChallengeOpts.verifyAuthResponseCallback = await createVerifyAuthResponseCallback({\n path: opts.endpointOpts.authorizationChallengeOpts.verifyAuthResponseEndpointPath,\n presentationDefinitionId: instance.issuerOptions.presentationDefinitionId,\n })\n }\n }\n\n return new OID4VCIRestAPI({ context, issuerInstanceArgs, expressSupport, opts, instance, issuer })\n }\n\n private readonly OID4VCI_SWAGGER_URL = 'https://api.swaggerhub.com/apis/SphereonInt/OID4VCI/0.1.1'\n\n private constructor(args: {\n issuer: VcIssuer\n instance: IssuerInstance\n context: IRequiredContext\n issuerInstanceArgs: IIssuerInstanceArgs\n expressSupport: ExpressSupport\n opts: IOID4VCIRestAPIOpts\n }) {\n const { context, opts, issuerInstanceArgs } = args\n this._baseUrl = new URL(\n opts?.baseUrl ??\n process.env.BASE_URL ??\n opts?.issuer?.issuerMetadata?.credential_issuer ??\n issuerInstanceArgs.credentialIssuer ??\n 'http://localhost',\n )\n this._basePath = getBasePath(this._baseUrl)\n this._context = context\n this._opts = opts ?? {}\n this._expressSupport = args.expressSupport\n this._issuer = args.issuer\n this._instance = args.instance\n this._restApi = new OID4VCIServer(args.expressSupport, { ...opts, issuer: this._issuer })\n\n // The above setups the generic OID4VCI management and wallet APIs from the OID4VCI lib.\n // Below sets up the management of configurations\n this._router = express.Router()\n this.express.use(this._basePath, this._router)\n this.setupSwaggerUi()\n }\n\n private setupSwaggerUi() {\n fetch(this.OID4VCI_SWAGGER_URL)\n .then((res) => res.json())\n .then((swagger: any) => {\n const apiDocs = `/api-docs`\n console.log(`[OID4VCI] API docs available at ${this._baseUrl.toString()}${this._basePath}${apiDocs}`)\n swagger.servers = [{ url: this._baseUrl.toString(), description: 'This server' }]\n this.express.set('trust proxy', this.opts?.endpointOpts?.trustProxy ?? true)\n this._router.use(\n apiDocs,\n (req: Request, res: Response, next: any) => {\n // @ts-ignore\n req.swaggerDoc = swagger\n next()\n },\n swaggerUi.serveFiles(swagger, options),\n swaggerUi.setup(),\n )\n })\n .catch((err) => {\n console.log(`[OID4VCI] Unable to fetch swagger document: ${err}. Will not host api-docs on this instance`)\n })\n const options = {\n // customCss: '.swagger-ui .topbar { display: none }',\n }\n }\n\n get express(): Express {\n return this._expressSupport.express\n }\n\n get context(): IRequiredContext {\n return this._context\n }\n\n get opts(): IOID4VCIRestAPIOpts | undefined {\n return this._opts\n }\n\n get restApi(): OID4VCIServer {\n return this._restApi\n }\n\n get instance(): IssuerInstance {\n return this._instance\n }\n\n get issuer(): VcIssuer {\n return this._issuer\n }\n\n async stop(): Promise<boolean> {\n return this._expressSupport.stop()\n }\n}\n"],"mappings":"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","names":["OID4VCIRestAPI","_expressSupport","_context","_opts","_restApi","_instance","_issuer","_router","_baseUrl","_basePath","init","args","issuerInstanceArgs","context","opts","expressSupport","instance","agent","oid4vciGetInstance","issuer","get","credentialDataSupplier","endpointOpts","tokenEndpointOpts","accessTokenIssuer","metadataOptions","credentialIssuer","issuerMetadata","credential_issuer","tokenEndpointDisabled","accessTokenSignerCallback","idOpts","issuerOptions","tokenOpts","iss","didOpts","getAccessTokenSignerCallback","authorizationChallengeOpts","enabled","presentationDefinitionId","Error","createAuthRequestUriCallback","createAuthRequestUriEndpointPath","path","verifyAuthResponseCallback","verifyAuthResponseEndpointPath","createVerifyAuthResponseCallback","OID4VCI_SWAGGER_URL","URL","baseUrl","process","env","BASE_URL","getBasePath","OID4VCIServer","express","Router","use","setupSwaggerUi","fetch","then","res","json","swagger","apiDocs","console","log","toString","servers","url","description","set","trustProxy","req","next","swaggerDoc","swaggerUi","serveFiles","options","setup","catch","err","restApi","stop"]}
@@ -1,13 +1,19 @@
1
1
  import { CredentialDataSupplier, VcIssuer } from '@sphereon/oid4vci-issuer';
2
- import { OID4VCIServer } from '@sphereon/oid4vci-issuer-server';
3
- import { IOID4VCIServerOpts } from '@sphereon/oid4vci-issuer-server';
2
+ import { IOID4VCIServerOpts, OID4VCIServer } from '@sphereon/oid4vci-issuer-server';
4
3
  import { ExpressSupport } from '@sphereon/ssi-express-support';
5
- import { IIssuerInstanceArgs, IssuerInstance } from '@sphereon/ssi-sdk.oid4vci-issuer';
4
+ import { IOID4VCIIssuer, IIssuerInstanceArgs, IssuerInstance } from '@sphereon/ssi-sdk.oid4vci-issuer';
6
5
  import { Express } from 'express';
7
- import { IRequiredContext } from './types';
8
- export interface IOID4VCIRestAPIOpts extends IOID4VCIServerOpts {
6
+ import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
7
+ import { IOID4VCIStore } from '@sphereon/ssi-sdk.oid4vci-issuer-store';
8
+ import { IAgentContext, IDIDManager, IKeyManager, IResolver, ICredentialVerifier, ICredentialIssuer } from '@veramo/core';
9
+ import { IJwtService } from '@sphereon/ssi-sdk-ext.jwt-service';
10
+
11
+ type IRequiredContext = IAgentContext<IPlugins>;
12
+ type IPlugins = IDIDManager & IKeyManager & IResolver & IIdentifierResolution & IOID4VCIStore & IOID4VCIIssuer & ICredentialVerifier & ICredentialIssuer & IJwtService;
13
+
14
+ interface IOID4VCIRestAPIOpts extends IOID4VCIServerOpts {
9
15
  }
10
- export declare class OID4VCIRestAPI {
16
+ declare class OID4VCIRestAPI {
11
17
  private readonly _expressSupport;
12
18
  private readonly _context;
13
19
  private readonly _opts?;
@@ -35,4 +41,5 @@ export declare class OID4VCIRestAPI {
35
41
  get issuer(): VcIssuer;
36
42
  stop(): Promise<boolean>;
37
43
  }
38
- //# sourceMappingURL=OID4VCIRestAPI.d.ts.map
44
+
45
+ export { type IOID4VCIRestAPIOpts, type IPlugins, type IRequiredContext, OID4VCIRestAPI };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,45 @@
1
- /**
2
- * @public
3
- */
4
- export * from './OID4VCIRestAPI';
5
- export * from './types';
6
- //# sourceMappingURL=index.d.ts.map
1
+ import { CredentialDataSupplier, VcIssuer } from '@sphereon/oid4vci-issuer';
2
+ import { IOID4VCIServerOpts, OID4VCIServer } from '@sphereon/oid4vci-issuer-server';
3
+ import { ExpressSupport } from '@sphereon/ssi-express-support';
4
+ import { IOID4VCIIssuer, IIssuerInstanceArgs, IssuerInstance } from '@sphereon/ssi-sdk.oid4vci-issuer';
5
+ import { Express } from 'express';
6
+ import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
7
+ import { IOID4VCIStore } from '@sphereon/ssi-sdk.oid4vci-issuer-store';
8
+ import { IAgentContext, IDIDManager, IKeyManager, IResolver, ICredentialVerifier, ICredentialIssuer } from '@veramo/core';
9
+ import { IJwtService } from '@sphereon/ssi-sdk-ext.jwt-service';
10
+
11
+ type IRequiredContext = IAgentContext<IPlugins>;
12
+ type IPlugins = IDIDManager & IKeyManager & IResolver & IIdentifierResolution & IOID4VCIStore & IOID4VCIIssuer & ICredentialVerifier & ICredentialIssuer & IJwtService;
13
+
14
+ interface IOID4VCIRestAPIOpts extends IOID4VCIServerOpts {
15
+ }
16
+ declare class OID4VCIRestAPI {
17
+ private readonly _expressSupport;
18
+ private readonly _context;
19
+ private readonly _opts?;
20
+ private readonly _restApi;
21
+ private readonly _instance;
22
+ private readonly _issuer;
23
+ private readonly _router;
24
+ private _baseUrl;
25
+ private _basePath;
26
+ static init(args: {
27
+ context: IRequiredContext;
28
+ issuerInstanceArgs: IIssuerInstanceArgs;
29
+ credentialDataSupplier?: CredentialDataSupplier;
30
+ expressSupport: ExpressSupport;
31
+ opts?: IOID4VCIRestAPIOpts;
32
+ }): Promise<OID4VCIRestAPI>;
33
+ private readonly OID4VCI_SWAGGER_URL;
34
+ private constructor();
35
+ private setupSwaggerUi;
36
+ get express(): Express;
37
+ get context(): IRequiredContext;
38
+ get opts(): IOID4VCIRestAPIOpts | undefined;
39
+ get restApi(): OID4VCIServer;
40
+ get instance(): IssuerInstance;
41
+ get issuer(): VcIssuer;
42
+ stop(): Promise<boolean>;
43
+ }
44
+
45
+ export { type IOID4VCIRestAPIOpts, type IPlugins, type IRequiredContext, OID4VCIRestAPI };
package/dist/index.js CHANGED
@@ -1,22 +1,145 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/OID4VCIRestAPI.ts
5
+ import { getBasePath, OID4VCIServer } from "@sphereon/oid4vci-issuer-server";
6
+ import { createAuthRequestUriCallback, getAccessTokenSignerCallback, createVerifyAuthResponseCallback } from "@sphereon/ssi-sdk.oid4vci-issuer";
7
+ import express from "express";
8
+ import swaggerUi from "swagger-ui-express";
9
+ var OID4VCIRestAPI = class _OID4VCIRestAPI {
10
+ static {
11
+ __name(this, "OID4VCIRestAPI");
12
+ }
13
+ _expressSupport;
14
+ _context;
15
+ _opts;
16
+ _restApi;
17
+ _instance;
18
+ _issuer;
19
+ _router;
20
+ _baseUrl;
21
+ _basePath;
22
+ static async init(args) {
23
+ const { issuerInstanceArgs, context } = args;
24
+ const opts = args.opts ?? {};
25
+ const expressSupport = args.expressSupport;
26
+ const instance = await context.agent.oid4vciGetInstance(args.issuerInstanceArgs);
27
+ const issuer = await instance.get({
28
+ context,
29
+ credentialDataSupplier: args.credentialDataSupplier
30
+ });
31
+ if (!opts.endpointOpts) {
32
+ opts.endpointOpts = {};
7
33
  }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
34
+ if (!opts.endpointOpts.tokenEndpointOpts) {
35
+ opts.endpointOpts.tokenEndpointOpts = {
36
+ accessTokenIssuer: instance.metadataOptions.credentialIssuer ?? issuer.issuerMetadata.credential_issuer
37
+ };
38
+ }
39
+ if (opts?.endpointOpts.tokenEndpointOpts?.tokenEndpointDisabled !== true && typeof opts?.endpointOpts.tokenEndpointOpts?.accessTokenSignerCallback !== "function") {
40
+ const idOpts = instance.issuerOptions.idOpts;
41
+ const tokenOpts = {
42
+ iss: opts.endpointOpts.tokenEndpointOpts.accessTokenIssuer ?? instance.metadataOptions.credentialIssuer,
43
+ didOpts: instance.issuerOptions.didOpts,
44
+ idOpts
45
+ };
46
+ opts.endpointOpts.tokenEndpointOpts.accessTokenSignerCallback = await getAccessTokenSignerCallback({
47
+ ...tokenOpts
48
+ }, args.context);
49
+ }
50
+ if (opts?.endpointOpts.authorizationChallengeOpts?.enabled === true) {
51
+ if (!instance.issuerOptions.presentationDefinitionId) {
52
+ throw Error(`Unable to set createAuthRequestUriCallback. No presentationDefinitionId present in issuer options`);
53
+ }
54
+ if (typeof opts?.endpointOpts.authorizationChallengeOpts.createAuthRequestUriCallback !== "function") {
55
+ if (!opts.endpointOpts.authorizationChallengeOpts?.createAuthRequestUriEndpointPath) {
56
+ throw Error(`Unable to set createAuthRequestUriCallback. No createAuthRequestUriEndpointPath present in options`);
57
+ }
58
+ opts.endpointOpts.authorizationChallengeOpts.createAuthRequestUriCallback = await createAuthRequestUriCallback({
59
+ path: opts.endpointOpts.authorizationChallengeOpts.createAuthRequestUriEndpointPath,
60
+ presentationDefinitionId: instance.issuerOptions.presentationDefinitionId
61
+ });
62
+ }
63
+ if (typeof opts?.endpointOpts.authorizationChallengeOpts?.verifyAuthResponseCallback !== "function") {
64
+ if (!opts.endpointOpts.authorizationChallengeOpts?.verifyAuthResponseEndpointPath) {
65
+ throw Error(`Unable to set verifyAuthResponseCallback. No createAuthRequestUriEndpointPath present in options`);
66
+ }
67
+ opts.endpointOpts.authorizationChallengeOpts.verifyAuthResponseCallback = await createVerifyAuthResponseCallback({
68
+ path: opts.endpointOpts.authorizationChallengeOpts.verifyAuthResponseEndpointPath,
69
+ presentationDefinitionId: instance.issuerOptions.presentationDefinitionId
70
+ });
71
+ }
72
+ }
73
+ return new _OID4VCIRestAPI({
74
+ context,
75
+ issuerInstanceArgs,
76
+ expressSupport,
77
+ opts,
78
+ instance,
79
+ issuer
80
+ });
81
+ }
82
+ OID4VCI_SWAGGER_URL = "https://api.swaggerhub.com/apis/SphereonInt/OID4VCI/0.1.1";
83
+ constructor(args) {
84
+ const { context, opts, issuerInstanceArgs } = args;
85
+ this._baseUrl = new URL(opts?.baseUrl ?? process.env.BASE_URL ?? opts?.issuer?.issuerMetadata?.credential_issuer ?? issuerInstanceArgs.credentialIssuer ?? "http://localhost");
86
+ this._basePath = getBasePath(this._baseUrl);
87
+ this._context = context;
88
+ this._opts = opts ?? {};
89
+ this._expressSupport = args.expressSupport;
90
+ this._issuer = args.issuer;
91
+ this._instance = args.instance;
92
+ this._restApi = new OID4VCIServer(args.expressSupport, {
93
+ ...opts,
94
+ issuer: this._issuer
95
+ });
96
+ this._router = express.Router();
97
+ this.express.use(this._basePath, this._router);
98
+ this.setupSwaggerUi();
99
+ }
100
+ setupSwaggerUi() {
101
+ fetch(this.OID4VCI_SWAGGER_URL).then((res) => res.json()).then((swagger) => {
102
+ const apiDocs = `/api-docs`;
103
+ console.log(`[OID4VCI] API docs available at ${this._baseUrl.toString()}${this._basePath}${apiDocs}`);
104
+ swagger.servers = [
105
+ {
106
+ url: this._baseUrl.toString(),
107
+ description: "This server"
108
+ }
109
+ ];
110
+ this.express.set("trust proxy", this.opts?.endpointOpts?.trustProxy ?? true);
111
+ this._router.use(apiDocs, (req, res, next) => {
112
+ req.swaggerDoc = swagger;
113
+ next();
114
+ }, swaggerUi.serveFiles(swagger, options), swaggerUi.setup());
115
+ }).catch((err) => {
116
+ console.log(`[OID4VCI] Unable to fetch swagger document: ${err}. Will not host api-docs on this instance`);
117
+ });
118
+ const options = {};
119
+ }
120
+ get express() {
121
+ return this._expressSupport.express;
122
+ }
123
+ get context() {
124
+ return this._context;
125
+ }
126
+ get opts() {
127
+ return this._opts;
128
+ }
129
+ get restApi() {
130
+ return this._restApi;
131
+ }
132
+ get instance() {
133
+ return this._instance;
134
+ }
135
+ get issuer() {
136
+ return this._issuer;
137
+ }
138
+ async stop() {
139
+ return this._expressSupport.stop();
140
+ }
141
+ };
142
+ export {
143
+ OID4VCIRestAPI
15
144
  };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- /**
18
- * @public
19
- */
20
- __exportStar(require("./OID4VCIRestAPI"), exports);
21
- __exportStar(require("./types"), exports);
22
145
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,mDAAgC;AAChC,0CAAuB"}
1
+ {"version":3,"sources":["../src/OID4VCIRestAPI.ts"],"sourcesContent":["import { CredentialDataSupplier, VcIssuer } from '@sphereon/oid4vci-issuer'\nimport { getBasePath, OID4VCIServer } from '@sphereon/oid4vci-issuer-server'\nimport { IOID4VCIServerOpts } from '@sphereon/oid4vci-issuer-server'\nimport { ExpressSupport } from '@sphereon/ssi-express-support'\nimport {\n createAuthRequestUriCallback,\n getAccessTokenSignerCallback,\n IIssuerInstanceArgs,\n IssuerInstance,\n createVerifyAuthResponseCallback,\n} from '@sphereon/ssi-sdk.oid4vci-issuer'\nimport express, { Express, Request, Response, Router } from 'express'\nimport { IRequiredContext } from './types'\nimport swaggerUi from 'swagger-ui-express'\n\nexport interface IOID4VCIRestAPIOpts extends IOID4VCIServerOpts {}\n\nexport class OID4VCIRestAPI {\n private readonly _expressSupport: ExpressSupport\n private readonly _context: IRequiredContext\n private readonly _opts?: IOID4VCIRestAPIOpts\n private readonly _restApi: OID4VCIServer\n private readonly _instance: IssuerInstance\n private readonly _issuer: VcIssuer\n private readonly _router: Router\n private _baseUrl: URL\n private _basePath: string\n\n static async init(args: {\n context: IRequiredContext\n issuerInstanceArgs: IIssuerInstanceArgs\n credentialDataSupplier?: CredentialDataSupplier\n expressSupport: ExpressSupport\n opts?: IOID4VCIRestAPIOpts\n }): Promise<OID4VCIRestAPI> {\n const { issuerInstanceArgs, context } = args\n const opts = args.opts ?? {}\n const expressSupport = args.expressSupport\n const instance = await context.agent.oid4vciGetInstance(args.issuerInstanceArgs)\n const issuer = await instance.get({ context, credentialDataSupplier: args.credentialDataSupplier })\n\n if (!opts.endpointOpts) {\n opts.endpointOpts = {}\n }\n if (!opts.endpointOpts.tokenEndpointOpts) {\n opts.endpointOpts.tokenEndpointOpts = {\n accessTokenIssuer: instance.metadataOptions.credentialIssuer ?? issuer.issuerMetadata.credential_issuer,\n }\n }\n if (\n opts?.endpointOpts.tokenEndpointOpts?.tokenEndpointDisabled !== true &&\n typeof opts?.endpointOpts.tokenEndpointOpts?.accessTokenSignerCallback !== 'function'\n ) {\n const idOpts = instance.issuerOptions.idOpts\n const tokenOpts = {\n iss: opts.endpointOpts.tokenEndpointOpts.accessTokenIssuer ?? instance.metadataOptions.credentialIssuer,\n didOpts: instance.issuerOptions.didOpts,\n idOpts,\n }\n\n opts.endpointOpts.tokenEndpointOpts.accessTokenSignerCallback = await getAccessTokenSignerCallback(\n {\n ...tokenOpts,\n },\n args.context,\n )\n }\n\n if (opts?.endpointOpts.authorizationChallengeOpts?.enabled === true) {\n if (!instance.issuerOptions.presentationDefinitionId) {\n throw Error(`Unable to set createAuthRequestUriCallback. No presentationDefinitionId present in issuer options`)\n }\n\n if (typeof opts?.endpointOpts.authorizationChallengeOpts.createAuthRequestUriCallback !== 'function') {\n if (!opts.endpointOpts.authorizationChallengeOpts?.createAuthRequestUriEndpointPath) {\n throw Error(`Unable to set createAuthRequestUriCallback. No createAuthRequestUriEndpointPath present in options`)\n }\n\n opts.endpointOpts.authorizationChallengeOpts.createAuthRequestUriCallback = await createAuthRequestUriCallback({\n path: opts.endpointOpts.authorizationChallengeOpts.createAuthRequestUriEndpointPath,\n presentationDefinitionId: instance.issuerOptions.presentationDefinitionId,\n })\n }\n\n if (typeof opts?.endpointOpts.authorizationChallengeOpts?.verifyAuthResponseCallback !== 'function') {\n if (!opts.endpointOpts.authorizationChallengeOpts?.verifyAuthResponseEndpointPath) {\n throw Error(`Unable to set verifyAuthResponseCallback. No createAuthRequestUriEndpointPath present in options`)\n }\n\n opts.endpointOpts.authorizationChallengeOpts.verifyAuthResponseCallback = await createVerifyAuthResponseCallback({\n path: opts.endpointOpts.authorizationChallengeOpts.verifyAuthResponseEndpointPath,\n presentationDefinitionId: instance.issuerOptions.presentationDefinitionId,\n })\n }\n }\n\n return new OID4VCIRestAPI({ context, issuerInstanceArgs, expressSupport, opts, instance, issuer })\n }\n\n private readonly OID4VCI_SWAGGER_URL = 'https://api.swaggerhub.com/apis/SphereonInt/OID4VCI/0.1.1'\n\n private constructor(args: {\n issuer: VcIssuer\n instance: IssuerInstance\n context: IRequiredContext\n issuerInstanceArgs: IIssuerInstanceArgs\n expressSupport: ExpressSupport\n opts: IOID4VCIRestAPIOpts\n }) {\n const { context, opts, issuerInstanceArgs } = args\n this._baseUrl = new URL(\n opts?.baseUrl ??\n process.env.BASE_URL ??\n opts?.issuer?.issuerMetadata?.credential_issuer ??\n issuerInstanceArgs.credentialIssuer ??\n 'http://localhost',\n )\n this._basePath = getBasePath(this._baseUrl)\n this._context = context\n this._opts = opts ?? {}\n this._expressSupport = args.expressSupport\n this._issuer = args.issuer\n this._instance = args.instance\n this._restApi = new OID4VCIServer(args.expressSupport, { ...opts, issuer: this._issuer })\n\n // The above setups the generic OID4VCI management and wallet APIs from the OID4VCI lib.\n // Below sets up the management of configurations\n this._router = express.Router()\n this.express.use(this._basePath, this._router)\n this.setupSwaggerUi()\n }\n\n private setupSwaggerUi() {\n fetch(this.OID4VCI_SWAGGER_URL)\n .then((res) => res.json())\n .then((swagger: any) => {\n const apiDocs = `/api-docs`\n console.log(`[OID4VCI] API docs available at ${this._baseUrl.toString()}${this._basePath}${apiDocs}`)\n swagger.servers = [{ url: this._baseUrl.toString(), description: 'This server' }]\n this.express.set('trust proxy', this.opts?.endpointOpts?.trustProxy ?? true)\n this._router.use(\n apiDocs,\n (req: Request, res: Response, next: any) => {\n // @ts-ignore\n req.swaggerDoc = swagger\n next()\n },\n swaggerUi.serveFiles(swagger, options),\n swaggerUi.setup(),\n )\n })\n .catch((err) => {\n console.log(`[OID4VCI] Unable to fetch swagger document: ${err}. Will not host api-docs on this instance`)\n })\n const options = {\n // customCss: '.swagger-ui .topbar { display: none }',\n }\n }\n\n get express(): Express {\n return this._expressSupport.express\n }\n\n get context(): IRequiredContext {\n return this._context\n }\n\n get opts(): IOID4VCIRestAPIOpts | undefined {\n return this._opts\n }\n\n get restApi(): OID4VCIServer {\n return this._restApi\n }\n\n get instance(): IssuerInstance {\n return this._instance\n }\n\n get issuer(): VcIssuer {\n return this._issuer\n }\n\n async stop(): Promise<boolean> {\n return this._expressSupport.stop()\n }\n}\n"],"mappings":"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","names":["getBasePath","OID4VCIServer","createAuthRequestUriCallback","getAccessTokenSignerCallback","createVerifyAuthResponseCallback","express","swaggerUi","OID4VCIRestAPI","_expressSupport","_context","_opts","_restApi","_instance","_issuer","_router","_baseUrl","_basePath","init","args","issuerInstanceArgs","context","opts","expressSupport","instance","agent","oid4vciGetInstance","issuer","get","credentialDataSupplier","endpointOpts","tokenEndpointOpts","accessTokenIssuer","metadataOptions","credentialIssuer","issuerMetadata","credential_issuer","tokenEndpointDisabled","accessTokenSignerCallback","idOpts","issuerOptions","tokenOpts","iss","didOpts","getAccessTokenSignerCallback","authorizationChallengeOpts","enabled","presentationDefinitionId","Error","createAuthRequestUriCallback","createAuthRequestUriEndpointPath","path","verifyAuthResponseCallback","verifyAuthResponseEndpointPath","createVerifyAuthResponseCallback","OID4VCI_SWAGGER_URL","URL","baseUrl","process","env","BASE_URL","getBasePath","OID4VCIServer","express","Router","use","setupSwaggerUi","fetch","then","res","json","swagger","apiDocs","console","log","toString","servers","url","description","set","trustProxy","req","next","swaggerDoc","swaggerUi","serveFiles","options","setup","catch","err","restApi","stop"]}
package/package.json CHANGED
@@ -1,26 +1,38 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.oid4vci-issuer-rest-api",
3
- "version": "0.33.1-next.3+fd1a6fba",
3
+ "version": "0.33.1-next.68+b6c8b366",
4
4
  "source": "src/index.ts",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ "react-native": "./dist/index.js",
11
+ "import": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ },
15
+ "require": {
16
+ "types": "./dist/index.d.cts",
17
+ "require": "./dist/index.cjs"
18
+ }
19
+ },
7
20
  "scripts": {
8
- "build": "tsc --build",
9
- "build:clean": "tsc --build --clean && tsc --build",
21
+ "build": "tsup --config ../../tsup.config.ts --tsconfig ../../tsconfig.tsup.json",
10
22
  "start:prod": "node build/index.js",
11
23
  "start:dev": "ts-node __tests__/RestAPI.ts"
12
24
  },
13
25
  "dependencies": {
14
- "@sphereon/oid4vci-common": "0.17.0",
15
- "@sphereon/oid4vci-issuer": "0.17.0",
16
- "@sphereon/oid4vci-issuer-server": "0.17.0",
17
- "@sphereon/ssi-express-support": "0.33.1-next.3+fd1a6fba",
18
- "@sphereon/ssi-sdk-ext.identifier-resolution": "0.28.0",
19
- "@sphereon/ssi-sdk-ext.jwt-service": "0.28.0",
20
- "@sphereon/ssi-sdk.kv-store-temp": "0.33.1-next.3+fd1a6fba",
21
- "@sphereon/ssi-sdk.oid4vci-issuer": "0.33.1-next.3+fd1a6fba",
22
- "@sphereon/ssi-sdk.oid4vci-issuer-store": "0.33.1-next.3+fd1a6fba",
23
- "@sphereon/ssi-types": "0.33.1-next.3+fd1a6fba",
26
+ "@sphereon/oid4vci-common": "0.17.1-next.39",
27
+ "@sphereon/oid4vci-issuer": "0.17.1-next.39",
28
+ "@sphereon/oid4vci-issuer-server": "0.17.1-next.39",
29
+ "@sphereon/ssi-express-support": "0.33.1-next.68+b6c8b366",
30
+ "@sphereon/ssi-sdk-ext.identifier-resolution": "0.28.1-next.53",
31
+ "@sphereon/ssi-sdk-ext.jwt-service": "0.28.1-next.53",
32
+ "@sphereon/ssi-sdk.kv-store-temp": "0.33.1-next.68+b6c8b366",
33
+ "@sphereon/ssi-sdk.oid4vci-issuer": "0.33.1-next.68+b6c8b366",
34
+ "@sphereon/ssi-sdk.oid4vci-issuer-store": "0.33.1-next.68+b6c8b366",
35
+ "@sphereon/ssi-types": "0.33.1-next.68+b6c8b366",
24
36
  "@veramo/core": "4.2.0",
25
37
  "@veramo/credential-w3c": "4.2.0",
26
38
  "awesome-qr": "^2.1.5-rc.0",
@@ -39,12 +51,12 @@
39
51
  "@sphereon/did-uni-client": "^0.6.3",
40
52
  "@sphereon/pex": "5.0.0-unstable.28",
41
53
  "@sphereon/pex-models": "^2.3.2",
42
- "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.28.0",
43
- "@sphereon/ssi-sdk-ext.key-manager": "0.28.0",
44
- "@sphereon/ssi-sdk-ext.key-utils": "0.28.0",
45
- "@sphereon/ssi-sdk-ext.kms-local": "0.28.0",
46
- "@sphereon/ssi-sdk.data-store": "0.33.1-next.3+fd1a6fba",
47
- "@sphereon/ssi-sdk.vc-handler-ld-local": "0.33.1-next.3+fd1a6fba",
54
+ "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.28.1-next.53",
55
+ "@sphereon/ssi-sdk-ext.key-manager": "0.28.1-next.53",
56
+ "@sphereon/ssi-sdk-ext.key-utils": "0.28.1-next.53",
57
+ "@sphereon/ssi-sdk-ext.kms-local": "0.28.1-next.53",
58
+ "@sphereon/ssi-sdk.credential-vcdm-jsonld-provider": "0.33.1-next.68+b6c8b366",
59
+ "@sphereon/ssi-sdk.data-store": "0.33.1-next.68+b6c8b366",
48
60
  "@types/body-parser": "^1.19.5",
49
61
  "@types/cookie-parser": "^1.4.7",
50
62
  "@types/cors": "^2.8.17",
@@ -69,13 +81,12 @@
69
81
  "did-resolver": "^4.1.0",
70
82
  "nock": "^13.5.4",
71
83
  "ts-node": "^10.9.2",
72
- "typeorm": "^0.3.21",
84
+ "typeorm": "0.3.20",
73
85
  "web-did-resolver": "^2.0.27"
74
86
  },
75
87
  "files": [
76
- ".yalc/**/*",
77
- "dist/**/*",
78
- "src/**/*",
88
+ "dist",
89
+ "src",
79
90
  "README.md",
80
91
  "plugin.schema.json",
81
92
  "LICENSE"
@@ -99,6 +110,5 @@
99
110
  "OpenID Connect",
100
111
  "Authenticator"
101
112
  ],
102
- "nx": {},
103
- "gitHead": "fd1a6fba306a83a73ff7c531db87fa207dbf436d"
113
+ "gitHead": "b6c8b36636fa3777494f55860d6a75f2e5a5611e"
104
114
  }
@@ -133,7 +133,7 @@ export class OID4VCIRestAPI {
133
133
  private setupSwaggerUi() {
134
134
  fetch(this.OID4VCI_SWAGGER_URL)
135
135
  .then((res) => res.json())
136
- .then((swagger) => {
136
+ .then((swagger: any) => {
137
137
  const apiDocs = `/api-docs`
138
138
  console.log(`[OID4VCI] API docs available at ${this._baseUrl.toString()}${this._basePath}${apiDocs}`)
139
139
  swagger.servers = [{ url: this._baseUrl.toString(), description: 'This server' }]
@@ -1,10 +1,10 @@
1
1
  import { Request, Response, Router } from 'express'
2
2
  import { checkAuth, sendErrorResponse } from '@sphereon/ssi-express-support'
3
3
  import { LOG, VcIssuer } from '@sphereon/oid4vci-issuer'
4
- import { determinePath } from '@sphereon/oid4vci-issuer-server/lib/oid4vci-api-functions'
5
- import { IGetIssueStatusEndpointOpts } from '@sphereon/oid4vci-issuer-server/lib/OID4VCIServer'
4
+ import { determinePath } from '@sphereon/oid4vci-issuer-server'
5
+ import { IGetIssueStatusEndpointOpts } from '@sphereon/oid4vci-issuer-server'
6
6
  import { IRequiredContext } from './types'
7
- import { CredentialConfigurationSupportedV1_0_13 } from '@sphereon/oid4vci-common/lib/types/v1_0_13.types'
7
+ import { CredentialConfigurationSupportedV1_0_13 } from '@sphereon/oid4vci-common'
8
8
  import { IssuerInstance } from '@sphereon/ssi-sdk.oid4vci-issuer'
9
9
  import { IssuerMetadataV1_0_13 } from '@sphereon/oid4vci-common'
10
10
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"OID4VCIRestAPI.d.ts","sourceRoot":"","sources":["../src/OID4VCIRestAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAe,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAGL,mBAAmB,EACnB,cAAc,EAEf,MAAM,kCAAkC,CAAA;AACzC,OAAgB,EAAE,OAAO,EAA6B,MAAM,SAAS,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG1C,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;CAAG;AAElE,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAQ;WAEZ,IAAI,CAAC,IAAI,EAAE;QACtB,OAAO,EAAE,gBAAgB,CAAA;QACzB,kBAAkB,EAAE,mBAAmB,CAAA;QACvC,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;QAC/C,cAAc,EAAE,cAAc,CAAA;QAC9B,IAAI,CAAC,EAAE,mBAAmB,CAAA;KAC3B,GAAG,OAAO,CAAC,cAAc,CAAC;IAiE3B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8D;IAElG,OAAO;IA+BP,OAAO,CAAC,cAAc;IA2BtB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,IAAI,gBAAgB,CAE9B;IAED,IAAI,IAAI,IAAI,mBAAmB,GAAG,SAAS,CAE1C;IAED,IAAI,OAAO,IAAI,aAAa,CAE3B;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED,IAAI,MAAM,IAAI,QAAQ,CAErB;IAEK,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;CAG/B"}
@@ -1,138 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.OID4VCIRestAPI = void 0;
16
- const oid4vci_issuer_server_1 = require("@sphereon/oid4vci-issuer-server");
17
- const ssi_sdk_oid4vci_issuer_1 = require("@sphereon/ssi-sdk.oid4vci-issuer");
18
- const express_1 = __importDefault(require("express"));
19
- const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
20
- class OID4VCIRestAPI {
21
- static init(args) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
24
- const { issuerInstanceArgs, context } = args;
25
- const opts = (_a = args.opts) !== null && _a !== void 0 ? _a : {};
26
- const expressSupport = args.expressSupport;
27
- const instance = yield context.agent.oid4vciGetInstance(args.issuerInstanceArgs);
28
- const issuer = yield instance.get({ context, credentialDataSupplier: args.credentialDataSupplier });
29
- if (!opts.endpointOpts) {
30
- opts.endpointOpts = {};
31
- }
32
- if (!opts.endpointOpts.tokenEndpointOpts) {
33
- opts.endpointOpts.tokenEndpointOpts = {
34
- accessTokenIssuer: (_b = instance.metadataOptions.credentialIssuer) !== null && _b !== void 0 ? _b : issuer.issuerMetadata.credential_issuer,
35
- };
36
- }
37
- if (((_c = opts === null || opts === void 0 ? void 0 : opts.endpointOpts.tokenEndpointOpts) === null || _c === void 0 ? void 0 : _c.tokenEndpointDisabled) !== true &&
38
- typeof ((_d = opts === null || opts === void 0 ? void 0 : opts.endpointOpts.tokenEndpointOpts) === null || _d === void 0 ? void 0 : _d.accessTokenSignerCallback) !== 'function') {
39
- const idOpts = instance.issuerOptions.idOpts;
40
- const tokenOpts = {
41
- iss: (_e = opts.endpointOpts.tokenEndpointOpts.accessTokenIssuer) !== null && _e !== void 0 ? _e : instance.metadataOptions.credentialIssuer,
42
- didOpts: instance.issuerOptions.didOpts,
43
- idOpts,
44
- };
45
- opts.endpointOpts.tokenEndpointOpts.accessTokenSignerCallback = yield (0, ssi_sdk_oid4vci_issuer_1.getAccessTokenSignerCallback)(Object.assign({}, tokenOpts), args.context);
46
- }
47
- if (((_f = opts === null || opts === void 0 ? void 0 : opts.endpointOpts.authorizationChallengeOpts) === null || _f === void 0 ? void 0 : _f.enabled) === true) {
48
- if (!instance.issuerOptions.presentationDefinitionId) {
49
- throw Error(`Unable to set createAuthRequestUriCallback. No presentationDefinitionId present in issuer options`);
50
- }
51
- if (typeof (opts === null || opts === void 0 ? void 0 : opts.endpointOpts.authorizationChallengeOpts.createAuthRequestUriCallback) !== 'function') {
52
- if (!((_g = opts.endpointOpts.authorizationChallengeOpts) === null || _g === void 0 ? void 0 : _g.createAuthRequestUriEndpointPath)) {
53
- throw Error(`Unable to set createAuthRequestUriCallback. No createAuthRequestUriEndpointPath present in options`);
54
- }
55
- opts.endpointOpts.authorizationChallengeOpts.createAuthRequestUriCallback = yield (0, ssi_sdk_oid4vci_issuer_1.createAuthRequestUriCallback)({
56
- path: opts.endpointOpts.authorizationChallengeOpts.createAuthRequestUriEndpointPath,
57
- presentationDefinitionId: instance.issuerOptions.presentationDefinitionId,
58
- });
59
- }
60
- if (typeof ((_h = opts === null || opts === void 0 ? void 0 : opts.endpointOpts.authorizationChallengeOpts) === null || _h === void 0 ? void 0 : _h.verifyAuthResponseCallback) !== 'function') {
61
- if (!((_j = opts.endpointOpts.authorizationChallengeOpts) === null || _j === void 0 ? void 0 : _j.verifyAuthResponseEndpointPath)) {
62
- throw Error(`Unable to set verifyAuthResponseCallback. No createAuthRequestUriEndpointPath present in options`);
63
- }
64
- opts.endpointOpts.authorizationChallengeOpts.verifyAuthResponseCallback = yield (0, ssi_sdk_oid4vci_issuer_1.createVerifyAuthResponseCallback)({
65
- path: opts.endpointOpts.authorizationChallengeOpts.verifyAuthResponseEndpointPath,
66
- presentationDefinitionId: instance.issuerOptions.presentationDefinitionId,
67
- });
68
- }
69
- }
70
- return new OID4VCIRestAPI({ context, issuerInstanceArgs, expressSupport, opts, instance, issuer });
71
- });
72
- }
73
- constructor(args) {
74
- var _a, _b, _c, _d, _e, _f;
75
- this.OID4VCI_SWAGGER_URL = 'https://api.swaggerhub.com/apis/SphereonInt/OID4VCI/0.1.1';
76
- const { context, opts, issuerInstanceArgs } = args;
77
- this._baseUrl = new URL((_f = (_e = (_b = (_a = opts === null || opts === void 0 ? void 0 : opts.baseUrl) !== null && _a !== void 0 ? _a : process.env.BASE_URL) !== null && _b !== void 0 ? _b : (_d = (_c = opts === null || opts === void 0 ? void 0 : opts.issuer) === null || _c === void 0 ? void 0 : _c.issuerMetadata) === null || _d === void 0 ? void 0 : _d.credential_issuer) !== null && _e !== void 0 ? _e : issuerInstanceArgs.credentialIssuer) !== null && _f !== void 0 ? _f : 'http://localhost');
78
- this._basePath = (0, oid4vci_issuer_server_1.getBasePath)(this._baseUrl);
79
- this._context = context;
80
- this._opts = opts !== null && opts !== void 0 ? opts : {};
81
- this._expressSupport = args.expressSupport;
82
- this._issuer = args.issuer;
83
- this._instance = args.instance;
84
- this._restApi = new oid4vci_issuer_server_1.OID4VCIServer(args.expressSupport, Object.assign(Object.assign({}, opts), { issuer: this._issuer }));
85
- // The above setups the generic OID4VCI management and wallet APIs from the OID4VCI lib.
86
- // Below sets up the management of configurations
87
- this._router = express_1.default.Router();
88
- this.express.use(this._basePath, this._router);
89
- this.setupSwaggerUi();
90
- }
91
- setupSwaggerUi() {
92
- fetch(this.OID4VCI_SWAGGER_URL)
93
- .then((res) => res.json())
94
- .then((swagger) => {
95
- var _a, _b, _c;
96
- const apiDocs = `/api-docs`;
97
- console.log(`[OID4VCI] API docs available at ${this._baseUrl.toString()}${this._basePath}${apiDocs}`);
98
- swagger.servers = [{ url: this._baseUrl.toString(), description: 'This server' }];
99
- this.express.set('trust proxy', (_c = (_b = (_a = this.opts) === null || _a === void 0 ? void 0 : _a.endpointOpts) === null || _b === void 0 ? void 0 : _b.trustProxy) !== null && _c !== void 0 ? _c : true);
100
- this._router.use(apiDocs, (req, res, next) => {
101
- // @ts-ignore
102
- req.swaggerDoc = swagger;
103
- next();
104
- }, swagger_ui_express_1.default.serveFiles(swagger, options), swagger_ui_express_1.default.setup());
105
- })
106
- .catch((err) => {
107
- console.log(`[OID4VCI] Unable to fetch swagger document: ${err}. Will not host api-docs on this instance`);
108
- });
109
- const options = {
110
- // customCss: '.swagger-ui .topbar { display: none }',
111
- };
112
- }
113
- get express() {
114
- return this._expressSupport.express;
115
- }
116
- get context() {
117
- return this._context;
118
- }
119
- get opts() {
120
- return this._opts;
121
- }
122
- get restApi() {
123
- return this._restApi;
124
- }
125
- get instance() {
126
- return this._instance;
127
- }
128
- get issuer() {
129
- return this._issuer;
130
- }
131
- stop() {
132
- return __awaiter(this, void 0, void 0, function* () {
133
- return this._expressSupport.stop();
134
- });
135
- }
136
- }
137
- exports.OID4VCIRestAPI = OID4VCIRestAPI;
138
- //# sourceMappingURL=OID4VCIRestAPI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OID4VCIRestAPI.js","sourceRoot":"","sources":["../src/OID4VCIRestAPI.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA"}
@@ -1,11 +0,0 @@
1
- import { Router } from 'express';
2
- import { VcIssuer } from '@sphereon/oid4vci-issuer';
3
- import { IGetIssueStatusEndpointOpts } from '@sphereon/oid4vci-issuer-server/lib/OID4VCIServer';
4
- import { IRequiredContext } from './types';
5
- import { IssuerInstance } from '@sphereon/ssi-sdk.oid4vci-issuer';
6
- export declare function getCredentialConfigurationsEndpoint(router: Router, context: IRequiredContext, instance: IssuerInstance, issuer: VcIssuer, opts: IGetIssueStatusEndpointOpts): void;
7
- export declare function getCredentialConfigurationByIdEndpoint(router: Router, context: IRequiredContext, instance: IssuerInstance, issuer: VcIssuer, opts: IGetIssueStatusEndpointOpts): void;
8
- export declare function deleteCredentialConfigurationByIdEndpoint(router: Router, context: IRequiredContext, instance: IssuerInstance, issuer: VcIssuer, opts: IGetIssueStatusEndpointOpts): void;
9
- export declare function updateCredentialConfigurationByIdEndpoint(router: Router, context: IRequiredContext, instance: IssuerInstance, issuer: VcIssuer, opts: IGetIssueStatusEndpointOpts): void;
10
- export declare function newCredentialConfigurationEndpoint(router: Router, context: IRequiredContext, instance: IssuerInstance, issuer: VcIssuer, opts: IGetIssueStatusEndpointOpts): void;
11
- //# sourceMappingURL=issuer-metadata-api-functions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"issuer-metadata-api-functions.d.ts","sourceRoot":"","sources":["../src/issuer-metadata-api-functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAO,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAA;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAGjE,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,2BAA2B,QAmBlC;AAED,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,2BAA2B,QA8BlC;AAED,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,2BAA2B,QA6ClC;AAED,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,2BAA2B,QAiDlC;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,2BAA2B,QAqDlC"}
@@ -1,216 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getCredentialConfigurationsEndpoint = getCredentialConfigurationsEndpoint;
13
- exports.getCredentialConfigurationByIdEndpoint = getCredentialConfigurationByIdEndpoint;
14
- exports.deleteCredentialConfigurationByIdEndpoint = deleteCredentialConfigurationByIdEndpoint;
15
- exports.updateCredentialConfigurationByIdEndpoint = updateCredentialConfigurationByIdEndpoint;
16
- exports.newCredentialConfigurationEndpoint = newCredentialConfigurationEndpoint;
17
- const ssi_express_support_1 = require("@sphereon/ssi-express-support");
18
- const oid4vci_issuer_1 = require("@sphereon/oid4vci-issuer");
19
- const oid4vci_api_functions_1 = require("@sphereon/oid4vci-issuer-server/lib/oid4vci-api-functions");
20
- function getCredentialConfigurationsEndpoint(router, context, instance, issuer, opts) {
21
- var _a;
22
- const path = (0, oid4vci_api_functions_1.determinePath)(opts.baseUrl, (_a = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _a !== void 0 ? _a : '/webapp/issuer-metadata/credential-configurations', { stripBasePath: true });
23
- oid4vci_issuer_1.LOG.log(`[OID4VCI] getCredentialConfigurations endpoint enabled at ${path}`);
24
- if ((opts === null || opts === void 0 ? void 0 : opts.enabled) === false) {
25
- console.log(`"getCredentialConfigurations" Endpoint is disabled`);
26
- return;
27
- }
28
- 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* () {
29
- var _a;
30
- try {
31
- const metadata = instance.issuerMetadata;
32
- response.statusCode = 200;
33
- return response.json({ credential_configurations_supported: (_a = metadata === null || metadata === void 0 ? void 0 : metadata.credential_configurations_supported) !== null && _a !== void 0 ? _a : [] });
34
- }
35
- catch (error) {
36
- return (0, ssi_express_support_1.sendErrorResponse)(response, 500, error.message, error);
37
- }
38
- }));
39
- }
40
- function getCredentialConfigurationByIdEndpoint(router, context, instance, issuer, opts) {
41
- var _a;
42
- const path = (0, oid4vci_api_functions_1.determinePath)(opts.baseUrl, (_a = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _a !== void 0 ? _a : '/webapp/issuer-metadata/credential-configurations/:configurationId', {
43
- stripBasePath: true,
44
- });
45
- oid4vci_issuer_1.LOG.log(`[OID4VCI] getCredentialConfigurations endpoint enabled at ${path}`);
46
- if ((opts === null || opts === void 0 ? void 0 : opts.enabled) === false) {
47
- console.log(`"getCredentialConfigurations" Endpoint is disabled`);
48
- return;
49
- }
50
- 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* () {
51
- var _a;
52
- try {
53
- const configurationId = request.params.configurationId;
54
- if (!configurationId) {
55
- return (0, ssi_express_support_1.sendErrorResponse)(response, 400, 'Missing configurationId');
56
- }
57
- oid4vci_issuer_1.LOG.log(`[OID4VCI] getCredentialConfigurations endpoint called with configurationId: ${configurationId}`);
58
- const metadata = instance.issuerMetadata;
59
- if (!(metadata === null || metadata === void 0 ? void 0 : metadata.credential_configurations_supported) || !((_a = metadata === null || metadata === void 0 ? void 0 : metadata.credential_configurations_supported) === null || _a === void 0 ? void 0 : _a[configurationId])) {
60
- return (0, ssi_express_support_1.sendErrorResponse)(response, 404, `Credential configuration ${configurationId} not found`);
61
- }
62
- const config = metadata.credential_configurations_supported[configurationId];
63
- return response.json(Object.assign({}, config));
64
- }
65
- catch (error) {
66
- return (0, ssi_express_support_1.sendErrorResponse)(response, 500, error.message, error);
67
- }
68
- }));
69
- }
70
- function deleteCredentialConfigurationByIdEndpoint(router, context, instance, issuer, opts) {
71
- var _a;
72
- const path = (0, oid4vci_api_functions_1.determinePath)(opts.baseUrl, (_a = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _a !== void 0 ? _a : '/webapp/issuer-metadata/credential-configurations/:configurationId', {
73
- stripBasePath: true,
74
- });
75
- oid4vci_issuer_1.LOG.log(`[OID4VCI] deleteCredentialConfigurationById endpoint enabled at ${path}`);
76
- if ((opts === null || opts === void 0 ? void 0 : opts.enabled) === false) {
77
- console.log(`"deleteCredentialConfigurationById" Endpoint is disabled`);
78
- return;
79
- }
80
- router.delete(`${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* () {
81
- var _a;
82
- try {
83
- const configurationId = request.params.configurationId;
84
- if (!configurationId) {
85
- return (0, ssi_express_support_1.sendErrorResponse)(response, 400, 'Missing configurationId');
86
- }
87
- oid4vci_issuer_1.LOG.log(`[OID4VCI] deleteCredentialConfigurationById endpoint called with configurationId: ${configurationId}`);
88
- const storeMetadata = (yield context.agent.oid4vciStoreGetMetadata({
89
- metadataType: 'issuer',
90
- storeId: instance.metadataOptions.storeId,
91
- namespace: instance.metadataOptions.storeNamespace,
92
- correlationId: instance.metadataOptions.credentialIssuer,
93
- }));
94
- if (!(storeMetadata === null || storeMetadata === void 0 ? void 0 : storeMetadata.credential_configurations_supported) || !((_a = storeMetadata === null || storeMetadata === void 0 ? void 0 : storeMetadata.credential_configurations_supported) === null || _a === void 0 ? void 0 : _a[configurationId])) {
95
- return (0, ssi_express_support_1.sendErrorResponse)(response, 404, `Credential configuration ${configurationId} not found`);
96
- }
97
- const updateMetadata = JSON.parse(JSON.stringify(storeMetadata));
98
- delete updateMetadata.credential_configurations_supported[configurationId];
99
- yield context.agent.oid4vciStorePersistMetadata({
100
- metadata: updateMetadata,
101
- metadataType: 'issuer',
102
- storeId: instance.metadataOptions.storeId,
103
- namespace: instance.metadataOptions.storeNamespace,
104
- correlationId: instance.metadataOptions.credentialIssuer,
105
- overwriteExisting: true,
106
- validation: true,
107
- });
108
- instance.issuerMetadata = updateMetadata;
109
- return response.json({});
110
- }
111
- catch (error) {
112
- return (0, ssi_express_support_1.sendErrorResponse)(response, 500, error.message, error);
113
- }
114
- }));
115
- }
116
- function updateCredentialConfigurationByIdEndpoint(router, context, instance, issuer, opts) {
117
- var _a;
118
- const path = (0, oid4vci_api_functions_1.determinePath)(opts.baseUrl, (_a = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _a !== void 0 ? _a : '/webapp/issuer-metadata/credential-configurations/:configurationId', {
119
- stripBasePath: true,
120
- });
121
- oid4vci_issuer_1.LOG.log(`[OID4VCI] updateCredentialConfigurationById endpoint enabled at ${path}`);
122
- if ((opts === null || opts === void 0 ? void 0 : opts.enabled) === false) {
123
- console.log(`"updateCredentialConfigurationById" Endpoint is disabled`);
124
- return;
125
- }
126
- router.put(`${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* () {
127
- var _a;
128
- try {
129
- const configurationId = request.params.configurationId;
130
- if (!configurationId) {
131
- return (0, ssi_express_support_1.sendErrorResponse)(response, 400, 'Missing configurationId');
132
- }
133
- oid4vci_issuer_1.LOG.log(`[OID4VCI] updateCredentialConfigurationById endpoint called with configurationId: ${configurationId}`);
134
- const updatedCredentialConfiguration = request.body;
135
- if (!updatedCredentialConfiguration || !updatedCredentialConfiguration.format) {
136
- return (0, ssi_express_support_1.sendErrorResponse)(response, 400, 'Missing credential configuration in the body, or required format missing');
137
- }
138
- const storeMetadata = (yield context.agent.oid4vciStoreGetMetadata({
139
- metadataType: 'issuer',
140
- storeId: instance.metadataOptions.storeId,
141
- namespace: instance.metadataOptions.storeNamespace,
142
- correlationId: instance.metadataOptions.credentialIssuer,
143
- }));
144
- if (!(storeMetadata === null || storeMetadata === void 0 ? void 0 : storeMetadata.credential_configurations_supported) || !((_a = storeMetadata === null || storeMetadata === void 0 ? void 0 : storeMetadata.credential_configurations_supported) === null || _a === void 0 ? void 0 : _a[configurationId])) {
145
- return (0, ssi_express_support_1.sendErrorResponse)(response, 404, `Credential configuration ${configurationId} not found`);
146
- }
147
- const updateMetadata = JSON.parse(JSON.stringify(storeMetadata));
148
- updateMetadata.credential_configurations_supported[configurationId] = updatedCredentialConfiguration;
149
- yield context.agent.oid4vciStorePersistMetadata({
150
- metadata: updateMetadata,
151
- metadataType: 'issuer',
152
- storeId: instance.metadataOptions.storeId,
153
- namespace: instance.metadataOptions.storeNamespace,
154
- correlationId: instance.metadataOptions.credentialIssuer,
155
- overwriteExisting: true,
156
- validation: true,
157
- });
158
- instance.issuerMetadata = updateMetadata;
159
- return response.json(Object.assign({}, updatedCredentialConfiguration));
160
- }
161
- catch (error) {
162
- return (0, ssi_express_support_1.sendErrorResponse)(response, 500, error.message, error);
163
- }
164
- }));
165
- }
166
- function newCredentialConfigurationEndpoint(router, context, instance, issuer, opts) {
167
- var _a;
168
- const path = (0, oid4vci_api_functions_1.determinePath)(opts.baseUrl, (_a = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _a !== void 0 ? _a : '/webapp/issuer-metadata/credential-configurations/:configurationId', {
169
- stripBasePath: true,
170
- });
171
- oid4vci_issuer_1.LOG.log(`[OID4VCI] newCredentialConfigurationById endpoint enabled at ${path}`);
172
- if ((opts === null || opts === void 0 ? void 0 : opts.enabled) === false) {
173
- console.log(`"newCredentialConfigurationById" Endpoint is disabled`);
174
- return;
175
- }
176
- router.put(`${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* () {
177
- var _a;
178
- try {
179
- const configurationId = request.params.configurationId;
180
- if (!configurationId) {
181
- return (0, ssi_express_support_1.sendErrorResponse)(response, 400, 'Missing configurationId');
182
- }
183
- oid4vci_issuer_1.LOG.log(`[OID4VCI] newCredentialConfigurationById endpoint called with configurationId: ${configurationId}`);
184
- const newCredentialConfiguration = request.body;
185
- if (!newCredentialConfiguration || !newCredentialConfiguration.format) {
186
- return (0, ssi_express_support_1.sendErrorResponse)(response, 400, 'Missing credential configuration in the body, or required format missing');
187
- }
188
- const storeMetadata = (yield context.agent.oid4vciStoreGetMetadata({
189
- metadataType: 'issuer',
190
- storeId: instance.metadataOptions.storeId,
191
- namespace: instance.metadataOptions.storeNamespace,
192
- correlationId: instance.metadataOptions.credentialIssuer,
193
- }));
194
- if ((_a = storeMetadata === null || storeMetadata === void 0 ? void 0 : storeMetadata.credential_configurations_supported) === null || _a === void 0 ? void 0 : _a[configurationId]) {
195
- return (0, ssi_express_support_1.sendErrorResponse)(response, 400, `Credential configuration ${configurationId} already exists, cannot create new one. Please update instead.`);
196
- }
197
- const updateMetadata = JSON.parse(JSON.stringify(storeMetadata));
198
- updateMetadata.credential_configurations_supported[configurationId] = newCredentialConfiguration;
199
- yield context.agent.oid4vciStorePersistMetadata({
200
- metadata: updateMetadata,
201
- metadataType: 'issuer',
202
- storeId: instance.metadataOptions.storeId,
203
- namespace: instance.metadataOptions.storeNamespace,
204
- correlationId: instance.metadataOptions.credentialIssuer,
205
- overwriteExisting: true,
206
- validation: true,
207
- });
208
- instance.issuerMetadata = updateMetadata;
209
- return response.json(Object.assign({}, newCredentialConfiguration));
210
- }
211
- catch (error) {
212
- return (0, ssi_express_support_1.sendErrorResponse)(response, 500, error.message, error);
213
- }
214
- }));
215
- }
216
- //# sourceMappingURL=issuer-metadata-api-functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"issuer-metadata-api-functions.js","sourceRoot":"","sources":["../src/issuer-metadata-api-functions.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
2
- import { IOID4VCIIssuer } from '@sphereon/ssi-sdk.oid4vci-issuer';
3
- import { IOID4VCIStore } from '@sphereon/ssi-sdk.oid4vci-issuer-store';
4
- import { IAgentContext, ICredentialIssuer, ICredentialVerifier, IDIDManager, IKeyManager, IResolver } from '@veramo/core';
5
- import { IJwtService } from '@sphereon/ssi-sdk-ext.jwt-service';
6
- export type IRequiredContext = IAgentContext<IPlugins>;
7
- export type IPlugins = IDIDManager & IKeyManager & IResolver & IIdentifierResolution & IOID4VCIStore & IOID4VCIIssuer & ICredentialVerifier & ICredentialIssuer & IJwtService;
8
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACzH,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAE/D,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;AAEtD,MAAM,MAAM,QAAQ,GAAG,WAAW,GAChC,WAAW,GACX,SAAS,GACT,qBAAqB,GACrB,aAAa,GACb,cAAc,GACd,mBAAmB,GACnB,iBAAiB,GACjB,WAAW,CAAA"}
package/dist/types.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}