@sphereon/ssi-sdk.siopv2-oid4vp-rp-rest-api 0.34.1-feature.SSISDK.47.43 → 0.34.1-feature.SSISDK.50.101
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 +120 -198
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -87
- package/dist/index.d.ts +7 -87
- package/dist/index.js +117 -195
- package/dist/index.js.map +1 -1
- package/package.json +19 -22
- package/src/index.ts +1 -1
- package/src/siop-api-functions.ts +10 -20
- package/src/siopv2-rp-api-server.ts +7 -7
- package/src/types/types.ts +1 -42
- package/src/webapp-api-functions.ts +183 -0
- package/src/middleware/validationMiddleware.ts +0 -20
- package/src/schemas/index.ts +0 -41
- package/src/universal-oid4vp-api-functions.ts +0 -174
package/dist/index.cjs
CHANGED
|
@@ -32,17 +32,16 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
32
32
|
var index_exports = {};
|
|
33
33
|
__export(index_exports, {
|
|
34
34
|
SIOPv2RPApiServer: () => SIOPv2RPApiServer,
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
authStatusWebappEndpoint: () => authStatusWebappEndpoint,
|
|
36
|
+
createAuthRequestWebappEndpoint: () => createAuthRequestWebappEndpoint,
|
|
37
37
|
getAuthRequestSIOPv2Endpoint: () => getAuthRequestSIOPv2Endpoint,
|
|
38
38
|
getDefinitionsEndpoint: () => getDefinitionsEndpoint,
|
|
39
|
-
|
|
39
|
+
removeAuthRequestStateWebappEndpoint: () => removeAuthRequestStateWebappEndpoint,
|
|
40
40
|
verifyAuthResponseSIOPv2Endpoint: () => verifyAuthResponseSIOPv2Endpoint
|
|
41
41
|
});
|
|
42
42
|
module.exports = __toCommonJS(index_exports);
|
|
43
43
|
|
|
44
44
|
// src/siop-api-functions.ts
|
|
45
|
-
var import_did_auth_siop = require("@sphereon/did-auth-siop");
|
|
46
45
|
var import_ssi_express_support = require("@sphereon/ssi-express-support");
|
|
47
46
|
var import_ssi_types = require("@sphereon/ssi-types");
|
|
48
47
|
var parseAuthorizationResponse = /* @__PURE__ */ __name((request) => {
|
|
@@ -75,7 +74,7 @@ function verifyAuthResponseSIOPv2Endpoint(router, context, opts) {
|
|
|
75
74
|
const path = opts?.path ?? "/siop/definitions/:definitionId/auth-responses/:correlationId";
|
|
76
75
|
router.post(path, (0, import_ssi_express_support.checkAuth)(opts?.endpoint), async (request, response) => {
|
|
77
76
|
try {
|
|
78
|
-
const { correlationId, definitionId, tenantId, version } = request.params;
|
|
77
|
+
const { correlationId, definitionId, tenantId, version, credentialQueryId } = request.params;
|
|
79
78
|
if (!correlationId || !definitionId) {
|
|
80
79
|
console.log(`No authorization request could be found for the given url. correlationId: ${correlationId}, definitionId: ${definitionId}`);
|
|
81
80
|
return (0, import_ssi_express_support.sendErrorResponse)(response, 404, "No authorization request could be found");
|
|
@@ -103,16 +102,10 @@ function verifyAuthResponseSIOPv2Endpoint(router, context, opts) {
|
|
|
103
102
|
const verifiedResponse = await context.agent.siopVerifyAuthResponse({
|
|
104
103
|
authorizationResponse,
|
|
105
104
|
correlationId,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
{
|
|
109
|
-
location: opts?.presentationDefinitionLocation ?? import_did_auth_siop.PresentationDefinitionLocation.TOPLEVEL_PRESENTATION_DEF,
|
|
110
|
-
definition: definitionItem.definitionPayload
|
|
111
|
-
}
|
|
112
|
-
],
|
|
113
|
-
dcqlQuery: definitionItem.dcqlPayload
|
|
105
|
+
definitionId,
|
|
106
|
+
dcqlQueryPayload: definitionItem.dcqlPayload
|
|
114
107
|
});
|
|
115
|
-
const wrappedPresentation = verifiedResponse?.oid4vpSubmission?.
|
|
108
|
+
const wrappedPresentation = verifiedResponse?.oid4vpSubmission?.presentation[credentialQueryId];
|
|
116
109
|
if (wrappedPresentation) {
|
|
117
110
|
console.log("PRESENTATION:" + JSON.stringify(wrappedPresentation.presentation, null, 2));
|
|
118
111
|
response.statusCode = 200;
|
|
@@ -125,7 +118,7 @@ function verifyAuthResponseSIOPv2Endpoint(router, context, opts) {
|
|
|
125
118
|
}
|
|
126
119
|
const responseRedirectURI = await context.agent.siopGetRedirectURI({
|
|
127
120
|
correlationId,
|
|
128
|
-
|
|
121
|
+
definitionId,
|
|
129
122
|
state: verifiedResponse.state
|
|
130
123
|
});
|
|
131
124
|
if (responseRedirectURI) {
|
|
@@ -163,7 +156,7 @@ function getAuthRequestSIOPv2Endpoint(router, context, opts) {
|
|
|
163
156
|
}
|
|
164
157
|
const requestState = await context.agent.siopGetAuthRequestState({
|
|
165
158
|
correlationId,
|
|
166
|
-
|
|
159
|
+
definitionId,
|
|
167
160
|
errorOnNotFound: false
|
|
168
161
|
});
|
|
169
162
|
if (!requestState) {
|
|
@@ -184,8 +177,8 @@ function getAuthRequestSIOPv2Endpoint(router, context, opts) {
|
|
|
184
177
|
} finally {
|
|
185
178
|
await context.agent.siopUpdateAuthRequestState({
|
|
186
179
|
correlationId,
|
|
187
|
-
|
|
188
|
-
state: "
|
|
180
|
+
definitionId,
|
|
181
|
+
state: "sent",
|
|
189
182
|
error
|
|
190
183
|
});
|
|
191
184
|
}
|
|
@@ -196,119 +189,46 @@ function getAuthRequestSIOPv2Endpoint(router, context, opts) {
|
|
|
196
189
|
}
|
|
197
190
|
__name(getAuthRequestSIOPv2Endpoint, "getAuthRequestSIOPv2Endpoint");
|
|
198
191
|
|
|
199
|
-
// src/
|
|
200
|
-
var
|
|
192
|
+
// src/webapp-api-functions.ts
|
|
193
|
+
var import_did_auth_siop = require("@sphereon/did-auth-siop");
|
|
201
194
|
var import_ssi_express_support2 = require("@sphereon/ssi-express-support");
|
|
202
195
|
var import_ssi_sdk = require("@sphereon/ssi-sdk.siopv2-oid4vp-common");
|
|
196
|
+
var import_ssi_sdk2 = require("@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth");
|
|
203
197
|
var import_short_uuid = __toESM(require("short-uuid"), 1);
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
var import_zod = require("zod");
|
|
207
|
-
var validateData = /* @__PURE__ */ __name((schema) => {
|
|
208
|
-
return (req, res, next) => {
|
|
209
|
-
try {
|
|
210
|
-
schema.parse(req.body);
|
|
211
|
-
next();
|
|
212
|
-
} catch (error) {
|
|
213
|
-
if (error instanceof import_zod.ZodError) {
|
|
214
|
-
const errorMessages = error.issues.map((issue) => ({
|
|
215
|
-
message: `${issue.path.join(".")} is ${issue.message}`
|
|
216
|
-
}));
|
|
217
|
-
res.status(400).json({
|
|
218
|
-
status: 400,
|
|
219
|
-
message: "Invalid data",
|
|
220
|
-
error_details: errorMessages[0].message
|
|
221
|
-
});
|
|
222
|
-
} else {
|
|
223
|
-
res.status(500).json({
|
|
224
|
-
status: 500,
|
|
225
|
-
message: "Internal Server Error"
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
};
|
|
230
|
-
}, "validateData");
|
|
231
|
-
|
|
232
|
-
// src/schemas/index.ts
|
|
233
|
-
var import_zod2 = require("zod");
|
|
234
|
-
var import_did_auth_siop2 = require("@sphereon/did-auth-siop");
|
|
235
|
-
var ResponseTypeSchema = import_zod2.z.enum([
|
|
236
|
-
import_did_auth_siop2.ResponseType.VP_TOKEN
|
|
237
|
-
]);
|
|
238
|
-
var ResponseModeSchema = import_zod2.z.enum([
|
|
239
|
-
import_did_auth_siop2.ResponseMode.DIRECT_POST,
|
|
240
|
-
import_did_auth_siop2.ResponseMode.DIRECT_POST_JWT
|
|
241
|
-
]);
|
|
242
|
-
var RequestUriMethodSchema = import_zod2.z.enum(Object.values(import_did_auth_siop2.RequestUriMethod));
|
|
243
|
-
var QRCodeOptsSchema = import_zod2.z.object({
|
|
244
|
-
size: import_zod2.z.number().optional(),
|
|
245
|
-
color_dark: import_zod2.z.string().optional(),
|
|
246
|
-
color_light: import_zod2.z.string().optional()
|
|
247
|
-
});
|
|
248
|
-
var CreateAuthorizationRequestBodySchema = import_zod2.z.object({
|
|
249
|
-
query_id: import_zod2.z.string(),
|
|
250
|
-
client_id: import_zod2.z.string().optional(),
|
|
251
|
-
request_uri_base: import_zod2.z.string().optional(),
|
|
252
|
-
correlation_id: import_zod2.z.string().optional(),
|
|
253
|
-
request_uri_method: RequestUriMethodSchema.optional(),
|
|
254
|
-
response_type: ResponseTypeSchema.optional(),
|
|
255
|
-
response_mode: ResponseModeSchema.optional(),
|
|
256
|
-
transaction_data: import_zod2.z.array(import_zod2.z.string()).optional(),
|
|
257
|
-
qr_code: QRCodeOptsSchema.optional(),
|
|
258
|
-
direct_post_response_redirect_uri: import_zod2.z.string().optional(),
|
|
259
|
-
callback: import_did_auth_siop2.CallbackOptsSchema.optional()
|
|
260
|
-
});
|
|
261
|
-
var CreateAuthorizationResponseSchema = import_zod2.z.object({
|
|
262
|
-
correlation_id: import_zod2.z.string(),
|
|
263
|
-
query_id: import_zod2.z.string(),
|
|
264
|
-
request_uri: import_zod2.z.string(),
|
|
265
|
-
status_uri: import_zod2.z.string(),
|
|
266
|
-
qr_uri: import_zod2.z.string().optional()
|
|
267
|
-
});
|
|
268
|
-
|
|
269
|
-
// src/universal-oid4vp-api-functions.ts
|
|
270
|
-
function createAuthRequestUniversalOID4VPEndpoint(router, context, opts) {
|
|
198
|
+
var import_ssi_sdk3 = require("@sphereon/ssi-sdk.core");
|
|
199
|
+
function createAuthRequestWebappEndpoint(router, context, opts) {
|
|
271
200
|
if (opts?.enabled === false) {
|
|
272
|
-
console.log(`createAuthRequest
|
|
201
|
+
console.log(`createAuthRequest Webapp endpoint is disabled`);
|
|
273
202
|
return;
|
|
274
203
|
}
|
|
275
|
-
const path = opts?.path ?? "/
|
|
276
|
-
router.post(path, (0, import_ssi_express_support2.checkAuth)(opts?.endpoint),
|
|
204
|
+
const path = opts?.path ?? "/webapp/definitions/:definitionId/auth-requests";
|
|
205
|
+
router.post(path, (0, import_ssi_express_support2.checkAuth)(opts?.endpoint), async (request, response) => {
|
|
277
206
|
try {
|
|
278
|
-
const
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
const directPostResponseRedirectUri = request.body.direct_post_response_redirect_uri;
|
|
282
|
-
const requestUriBase = request.body.request_uri_base;
|
|
283
|
-
const callback = request.body.callback;
|
|
284
|
-
try {
|
|
285
|
-
await context.agent.pdmGetDefinition({
|
|
286
|
-
itemId: queryId
|
|
287
|
-
});
|
|
288
|
-
} catch (e) {
|
|
289
|
-
console.log(`No query could be found for the given id. Query id: ${queryId}`);
|
|
290
|
-
return (0, import_ssi_express_support2.sendErrorResponse)(response, 404, {
|
|
291
|
-
status: 404,
|
|
292
|
-
message: "No query could be found"
|
|
293
|
-
});
|
|
207
|
+
const definitionId = request.params.definitionId;
|
|
208
|
+
if (!definitionId) {
|
|
209
|
+
return (0, import_ssi_express_support2.sendErrorResponse)(response, 400, "No definitionId query parameter provided");
|
|
294
210
|
}
|
|
295
|
-
const
|
|
296
|
-
|
|
211
|
+
const state = request.body.state ?? import_short_uuid.default.uuid();
|
|
212
|
+
const correlationId = request.body.correlationId ?? state;
|
|
213
|
+
const qrCodeOpts = request.body.qrCodeOpts ?? opts?.qrCodeOpts;
|
|
214
|
+
const requestByReferenceURI = (0, import_ssi_sdk.uriWithBase)(`/siop/definitions/${definitionId}/auth-requests/${state}`, {
|
|
215
|
+
baseURI: opts?.siopBaseURI
|
|
297
216
|
});
|
|
298
|
-
const responseURI = (0, import_ssi_sdk.uriWithBase)(`/siop/definitions/${
|
|
217
|
+
const responseURI = (0, import_ssi_sdk.uriWithBase)(`/siop/definitions/${definitionId}/auth-responses/${state}`, {
|
|
299
218
|
baseURI: opts?.siopBaseURI
|
|
300
219
|
});
|
|
220
|
+
const responseRedirectURI = ("response_redirect_uri" in request.body && request.body.response_redirect_uri) ?? ("responseRedirectURI" in request.body && request.body.responseRedirectURI);
|
|
301
221
|
const authRequestURI = await context.agent.siopCreateAuthRequestURI({
|
|
302
|
-
|
|
222
|
+
definitionId,
|
|
303
223
|
correlationId,
|
|
224
|
+
state,
|
|
304
225
|
nonce: import_short_uuid.default.uuid(),
|
|
305
226
|
requestByReferenceURI,
|
|
306
227
|
responseURIType: "response_uri",
|
|
307
228
|
responseURI,
|
|
308
|
-
...
|
|
309
|
-
responseRedirectURI
|
|
310
|
-
}
|
|
311
|
-
callback
|
|
229
|
+
...responseRedirectURI && {
|
|
230
|
+
responseRedirectURI
|
|
231
|
+
}
|
|
312
232
|
});
|
|
313
233
|
let qrCodeDataUri;
|
|
314
234
|
if (qrCodeOpts) {
|
|
@@ -320,138 +240,140 @@ function createAuthRequestUniversalOID4VPEndpoint(router, context, opts) {
|
|
|
320
240
|
qrCodeDataUri = `data:image/png;base64,${(await qrCode.draw()).toString("base64")}`;
|
|
321
241
|
}
|
|
322
242
|
const authRequestBody = {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
243
|
+
correlationId,
|
|
244
|
+
state,
|
|
245
|
+
definitionId,
|
|
246
|
+
authRequestURI,
|
|
247
|
+
authStatusURI: `${(0, import_ssi_sdk.uriWithBase)(opts?.webappAuthStatusPath ?? "/webapp/auth-status", {
|
|
327
248
|
baseURI: opts?.webappBaseURI
|
|
328
249
|
})}`,
|
|
329
250
|
...qrCodeDataUri && {
|
|
330
|
-
|
|
251
|
+
qrCodeDataUri
|
|
331
252
|
}
|
|
332
253
|
};
|
|
333
254
|
console.log(`Auth Request URI data to send back: ${JSON.stringify(authRequestBody)}`);
|
|
334
|
-
return response.
|
|
335
|
-
} catch (error) {
|
|
336
|
-
return (0, import_ssi_express_support2.sendErrorResponse)(response, 500, {
|
|
337
|
-
status: 500,
|
|
338
|
-
message: "Could not create an authorization request URI"
|
|
339
|
-
}, error);
|
|
340
|
-
}
|
|
341
|
-
});
|
|
342
|
-
}
|
|
343
|
-
__name(createAuthRequestUniversalOID4VPEndpoint, "createAuthRequestUniversalOID4VPEndpoint");
|
|
344
|
-
function removeAuthRequestStateUniversalOID4VPEndpoint(router, context, opts) {
|
|
345
|
-
if (opts?.enabled === false) {
|
|
346
|
-
console.log(`removeAuthStatus universal OID4VP endpoint is disabled`);
|
|
347
|
-
return;
|
|
348
|
-
}
|
|
349
|
-
const path = opts?.path ?? "/backend/auth/requests/:correlationId";
|
|
350
|
-
router.delete(path, (0, import_ssi_express_support2.checkAuth)(opts?.endpoint), async (request, response) => {
|
|
351
|
-
try {
|
|
352
|
-
const correlationId = request.params.correlationId;
|
|
353
|
-
const authRequestState = await context.agent.siopGetAuthRequestState({
|
|
354
|
-
correlationId,
|
|
355
|
-
errorOnNotFound: false
|
|
356
|
-
});
|
|
357
|
-
if (!authRequestState) {
|
|
358
|
-
console.log(`No authorization request could be found for the given correlationId. correlationId: ${correlationId}`);
|
|
359
|
-
return (0, import_ssi_express_support2.sendErrorResponse)(response, 404, {
|
|
360
|
-
status: 404,
|
|
361
|
-
message: "No authorization request could be found"
|
|
362
|
-
});
|
|
363
|
-
}
|
|
364
|
-
await context.agent.siopDeleteAuthState({
|
|
365
|
-
correlationId
|
|
366
|
-
});
|
|
367
|
-
return response.status(204).json();
|
|
255
|
+
return response.json(authRequestBody);
|
|
368
256
|
} catch (error) {
|
|
369
|
-
return (0, import_ssi_express_support2.sendErrorResponse)(response, 500,
|
|
370
|
-
status: 500,
|
|
371
|
-
message: error.message
|
|
372
|
-
}, error);
|
|
257
|
+
return (0, import_ssi_express_support2.sendErrorResponse)(response, 500, "Could not create an authorization request URI", error);
|
|
373
258
|
}
|
|
374
259
|
});
|
|
375
260
|
}
|
|
376
|
-
__name(
|
|
377
|
-
function
|
|
261
|
+
__name(createAuthRequestWebappEndpoint, "createAuthRequestWebappEndpoint");
|
|
262
|
+
function authStatusWebappEndpoint(router, context, opts) {
|
|
378
263
|
if (opts?.enabled === false) {
|
|
379
|
-
console.log(`authStatus
|
|
264
|
+
console.log(`authStatus Webapp endpoint is disabled`);
|
|
380
265
|
return;
|
|
381
266
|
}
|
|
382
|
-
const path = opts?.path ?? "/
|
|
383
|
-
router.
|
|
267
|
+
const path = opts?.path ?? "/webapp/auth-status";
|
|
268
|
+
router.post(path, (0, import_ssi_express_support2.checkAuth)(opts?.endpoint), async (request, response) => {
|
|
384
269
|
try {
|
|
385
270
|
console.log("Received auth-status request...");
|
|
386
|
-
const correlationId = request.
|
|
387
|
-
const
|
|
271
|
+
const correlationId = request.body.correlationId;
|
|
272
|
+
const definitionId = request.body.definitionId;
|
|
273
|
+
const requestState = correlationId && definitionId ? await context.agent.siopGetAuthRequestState({
|
|
388
274
|
correlationId,
|
|
275
|
+
definitionId,
|
|
389
276
|
errorOnNotFound: false
|
|
390
|
-
});
|
|
391
|
-
if (!requestState) {
|
|
392
|
-
console.log(`No
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
277
|
+
}) : void 0;
|
|
278
|
+
if (!requestState || !definitionId || !correlationId) {
|
|
279
|
+
console.log(`No authentication request mapping could be found for the given URL. correlation: ${correlationId}, definitionId: ${definitionId}`);
|
|
280
|
+
response.statusCode = 404;
|
|
281
|
+
const statusBody2 = {
|
|
282
|
+
status: requestState ? requestState.status : "error",
|
|
283
|
+
error: "No authentication request mapping could be found for the given URL.",
|
|
284
|
+
correlationId,
|
|
285
|
+
definitionId,
|
|
286
|
+
lastUpdated: requestState ? requestState.lastUpdated : Date.now()
|
|
287
|
+
};
|
|
288
|
+
return response.json(statusBody2);
|
|
289
|
+
}
|
|
290
|
+
let includeVerifiedData = import_ssi_sdk2.VerifiedDataMode.NONE;
|
|
291
|
+
if ("includeVerifiedData" in request.body) {
|
|
292
|
+
includeVerifiedData = request.body.includeVerifiedData;
|
|
397
293
|
}
|
|
398
294
|
let responseState;
|
|
399
|
-
if (requestState.status === "
|
|
295
|
+
if (requestState.status === "sent") {
|
|
400
296
|
responseState = await context.agent.siopGetAuthResponseState({
|
|
401
297
|
correlationId,
|
|
298
|
+
definitionId,
|
|
299
|
+
includeVerifiedData,
|
|
402
300
|
errorOnNotFound: false
|
|
403
301
|
});
|
|
404
302
|
}
|
|
405
303
|
const overallState = responseState ?? requestState;
|
|
406
304
|
const statusBody = {
|
|
407
305
|
status: overallState.status,
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
306
|
+
...overallState.error ? {
|
|
307
|
+
error: overallState.error?.message
|
|
308
|
+
} : {},
|
|
309
|
+
correlationId,
|
|
310
|
+
definitionId,
|
|
311
|
+
lastUpdated: overallState.lastUpdated,
|
|
312
|
+
...responseState && responseState.status === import_did_auth_siop.AuthorizationResponseStateStatus.VERIFIED ? {
|
|
313
|
+
payload: await responseState.response.mergedPayloads({
|
|
314
|
+
hasher: import_ssi_sdk3.shaHasher
|
|
315
|
+
}),
|
|
412
316
|
verifiedData: responseState.verifiedData
|
|
413
|
-
}
|
|
414
|
-
...overallState.error && {
|
|
415
|
-
message: overallState.error.message
|
|
416
|
-
}
|
|
317
|
+
} : {}
|
|
417
318
|
};
|
|
418
319
|
console.debug(`Will send auth status: ${JSON.stringify(statusBody)}`);
|
|
419
320
|
if (overallState.status === "error") {
|
|
420
|
-
|
|
321
|
+
response.statusCode = 500;
|
|
322
|
+
return response.json(statusBody);
|
|
323
|
+
}
|
|
324
|
+
response.statusCode = 200;
|
|
325
|
+
return response.json(statusBody);
|
|
326
|
+
} catch (error) {
|
|
327
|
+
return (0, import_ssi_express_support2.sendErrorResponse)(response, 500, error.message, error);
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
__name(authStatusWebappEndpoint, "authStatusWebappEndpoint");
|
|
332
|
+
function removeAuthRequestStateWebappEndpoint(router, context, opts) {
|
|
333
|
+
if (opts?.enabled === false) {
|
|
334
|
+
console.log(`removeAuthStatus Webapp endpoint is disabled`);
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
const path = opts?.path ?? "/webapp/definitions/:definitionId/auth-requests/:correlationId";
|
|
338
|
+
router.delete(path, (0, import_ssi_express_support2.checkAuth)(opts?.endpoint), async (request, response) => {
|
|
339
|
+
try {
|
|
340
|
+
const correlationId = request.params.correlationId;
|
|
341
|
+
const definitionId = request.params.definitionId;
|
|
342
|
+
if (!correlationId || !definitionId) {
|
|
343
|
+
console.log(`No authorization request could be found for the given url. correlationId: ${correlationId}, definitionId: ${definitionId}`);
|
|
344
|
+
return (0, import_ssi_express_support2.sendErrorResponse)(response, 404, "No authorization request could be found");
|
|
421
345
|
}
|
|
422
|
-
|
|
346
|
+
response.statusCode = 200;
|
|
347
|
+
return response.json(await context.agent.siopDeleteAuthState({
|
|
348
|
+
definitionId,
|
|
349
|
+
correlationId
|
|
350
|
+
}));
|
|
423
351
|
} catch (error) {
|
|
424
|
-
return (0, import_ssi_express_support2.sendErrorResponse)(response, 500,
|
|
425
|
-
status: 500,
|
|
426
|
-
message: error.message
|
|
427
|
-
}, error);
|
|
352
|
+
return (0, import_ssi_express_support2.sendErrorResponse)(response, 500, error.message, error);
|
|
428
353
|
}
|
|
429
354
|
});
|
|
430
355
|
}
|
|
431
|
-
__name(
|
|
356
|
+
__name(removeAuthRequestStateWebappEndpoint, "removeAuthRequestStateWebappEndpoint");
|
|
432
357
|
function getDefinitionsEndpoint(router, context, opts) {
|
|
433
358
|
if (opts?.enabled === false) {
|
|
434
|
-
console.log(`getDefinitions
|
|
359
|
+
console.log(`getDefinitions Webapp endpoint is disabled`);
|
|
435
360
|
return;
|
|
436
361
|
}
|
|
437
|
-
const path = opts?.path ?? "/
|
|
362
|
+
const path = opts?.path ?? "/webapp/definitions";
|
|
438
363
|
router.get(path, (0, import_ssi_express_support2.checkAuth)(opts?.endpoint), async (request, response) => {
|
|
439
364
|
try {
|
|
440
365
|
const definitions = await context.agent.pdmGetDefinitions();
|
|
441
366
|
response.statusCode = 200;
|
|
442
367
|
return response.json(definitions);
|
|
443
368
|
} catch (error) {
|
|
444
|
-
return (0, import_ssi_express_support2.sendErrorResponse)(response, 500,
|
|
445
|
-
status: 500,
|
|
446
|
-
message: error.message
|
|
447
|
-
}, error);
|
|
369
|
+
return (0, import_ssi_express_support2.sendErrorResponse)(response, 500, error.message, error);
|
|
448
370
|
}
|
|
449
371
|
});
|
|
450
372
|
}
|
|
451
373
|
__name(getDefinitionsEndpoint, "getDefinitionsEndpoint");
|
|
452
374
|
|
|
453
375
|
// src/siopv2-rp-api-server.ts
|
|
454
|
-
var
|
|
376
|
+
var import_ssi_sdk4 = require("@sphereon/ssi-sdk.core");
|
|
455
377
|
var import_ssi_express_support3 = require("@sphereon/ssi-express-support");
|
|
456
378
|
var import_express = __toESM(require("express"), 1);
|
|
457
379
|
var import_swagger_ui_express = __toESM(require("swagger-ui-express"), 1);
|
|
@@ -488,16 +410,16 @@ var SIOPv2RPApiServer = class {
|
|
|
488
410
|
this._opts = opts;
|
|
489
411
|
this._express = args.expressSupport.express;
|
|
490
412
|
this._router = import_express.default.Router();
|
|
491
|
-
const context = (0,
|
|
413
|
+
const context = (0, import_ssi_sdk4.agentContext)(agent);
|
|
492
414
|
const features = opts?.enableFeatures ?? [
|
|
493
415
|
"rp-status",
|
|
494
416
|
"siop"
|
|
495
417
|
];
|
|
496
418
|
console.log(`SIOPv2 API enabled, with features: ${JSON.stringify(features)}}`);
|
|
497
419
|
if (features.includes("rp-status")) {
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
420
|
+
createAuthRequestWebappEndpoint(this._router, context, opts?.endpointOpts?.webappCreateAuthRequest);
|
|
421
|
+
authStatusWebappEndpoint(this._router, context, opts?.endpointOpts?.webappAuthStatus);
|
|
422
|
+
removeAuthRequestStateWebappEndpoint(this._router, context, opts?.endpointOpts?.webappDeleteAuthRequest);
|
|
501
423
|
getDefinitionsEndpoint(this._router, context, opts?.endpointOpts?.webappGetDefinitions);
|
|
502
424
|
}
|
|
503
425
|
if (features.includes("siop")) {
|