@sphereon/ssi-sdk.siopv2-oid4vp-rp-rest-api 0.32.1-feature.MWALL.715.49 → 0.32.1-feature.MWALL.715.state.persist.225

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.
@@ -1 +1 @@
1
- {"version":3,"file":"siop-api-functions.d.ts","sourceRoot":"","sources":["../src/siop-api-functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,8BAA8B,EAAE,MAAM,yBAAyB,CAAA;AACtG,OAAO,EAAa,mBAAmB,EAAqB,MAAM,+BAA+B,CAAA;AAEjG,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,IAAI,CAAC,EAAE,mBAAmB,GAAG;IAAE,8BAA8B,CAAC,EAAE,8BAA8B,CAAA;CAAE,QA4EjG;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QAiDjH"}
1
+ {"version":3,"file":"siop-api-functions.d.ts","sourceRoot":"","sources":["../src/siop-api-functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,8BAA8B,EAAE,MAAM,yBAAyB,CAAA;AACtG,OAAO,EAAa,mBAAmB,EAAqB,MAAM,+BAA+B,CAAA;AAGjG,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAsC1C,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,IAAI,CAAC,EAAE,mBAAmB,GAAG;IAAE,8BAA8B,CAAC,EAAE,8BAA8B,CAAA;CAAE,QAyEjG;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QAiDjH"}
@@ -13,6 +13,33 @@ exports.verifyAuthResponseSIOPv2Endpoint = verifyAuthResponseSIOPv2Endpoint;
13
13
  exports.getAuthRequestSIOPv2Endpoint = getAuthRequestSIOPv2Endpoint;
14
14
  const did_auth_siop_1 = require("@sphereon/did-auth-siop");
15
15
  const ssi_express_support_1 = require("@sphereon/ssi-express-support");
16
+ const ssi_types_1 = require("@sphereon/ssi-types");
17
+ const parseAuthorizationResponse = (request) => {
18
+ const contentType = request.header('content-type');
19
+ if (contentType === 'application/json') {
20
+ const payload = typeof request.body === 'string' ? JSON.parse(request.body) : request.body;
21
+ return payload;
22
+ }
23
+ if (contentType === 'application/x-www-form-urlencoded') {
24
+ const payload = request.body;
25
+ // Parse presentation_submission if it's a string
26
+ if (typeof payload.presentation_submission === 'string') {
27
+ console.log(`Supplied presentation_submission was a string instead of JSON. Correcting, but external party should fix their implementation!`);
28
+ payload.presentation_submission = JSON.parse(payload.presentation_submission);
29
+ }
30
+ // when using FORM_URL_ENCODED, vp_token comes back as string not matter whether the input was string, object or array. Handled below.
31
+ if (typeof payload.vp_token === 'string') {
32
+ const { vp_token } = payload;
33
+ // The only use case where vp_object is an object is JsonLdAsString atm. For arrays, any objects will be parsed along with the array
34
+ // (Leaving the vp_token JsonLdAsString causes problems because the original credential will remain string and will be interpreted as JWT in some parts of the code)
35
+ if ((vp_token.startsWith('[') && vp_token.endsWith(']')) || ssi_types_1.CredentialMapper.isJsonLdAsString(vp_token)) {
36
+ payload.vp_token = JSON.parse(vp_token);
37
+ }
38
+ }
39
+ return payload;
40
+ }
41
+ throw new Error(`Unsupported content type: ${contentType}. Currently only application/x-www-form-urlencoded and application/json (for direct_post) are supported`);
42
+ };
16
43
  function verifyAuthResponseSIOPv2Endpoint(router, context, opts) {
17
44
  var _a;
18
45
  if ((opts === null || opts === void 0 ? void 0 : opts.enabled) === false) {
@@ -37,22 +64,9 @@ function verifyAuthResponseSIOPv2Endpoint(router, context, opts) {
37
64
  response.statusMessage = `No definition ${definitionId}`;
38
65
  return response.send();
39
66
  }
40
- const authorizationResponse = typeof request.body === 'string' ? JSON.parse(request.body) : request.body;
41
- if (typeof authorizationResponse.presentation_submission === 'string') {
42
- console.log(`Supplied presentation_submission was a string instead of JSON. Correcting, but external party should fix their implementation!`);
43
- authorizationResponse.presentation_submission = JSON.parse(authorizationResponse.presentation_submission);
44
- }
45
- if (typeof authorizationResponse.vp_token === 'string') {
46
- // arrays pass as string when using FORM_URL_ENCODED
47
- if (authorizationResponse.vp_token.startsWith('[') && authorizationResponse.vp_token.endsWith(']')) {
48
- authorizationResponse.vp_token = JSON.parse(authorizationResponse.vp_token);
49
- }
50
- else {
51
- authorizationResponse.vp_token = [authorizationResponse.vp_token];
52
- }
53
- }
67
+ const authorizationResponse = parseAuthorizationResponse(request);
54
68
  console.log(`URI: ${JSON.stringify(authorizationResponse)}`);
55
- const definition = definitionItems[0].definitionPayload;
69
+ const definitionItem = definitionItems[0];
56
70
  const verifiedResponse = yield context.agent.siopVerifyAuthResponse({
57
71
  authorizationResponse,
58
72
  correlationId,
@@ -60,17 +74,25 @@ function verifyAuthResponseSIOPv2Endpoint(router, context, opts) {
60
74
  presentationDefinitions: [
61
75
  {
62
76
  location: (_a = opts === null || opts === void 0 ? void 0 : opts.presentationDefinitionLocation) !== null && _a !== void 0 ? _a : did_auth_siop_1.PresentationDefinitionLocation.TOPLEVEL_PRESENTATION_DEF,
63
- definition,
77
+ definition: definitionItem.definitionPayload,
64
78
  },
65
79
  ],
80
+ dcqlQuery: definitionItem.dcqlPayload,
66
81
  });
67
82
  const wrappedPresentation = (_b = verifiedResponse === null || verifiedResponse === void 0 ? void 0 : verifiedResponse.oid4vpSubmission) === null || _b === void 0 ? void 0 : _b.presentations[0];
68
83
  if (wrappedPresentation) {
69
84
  // const credentialSubject = wrappedPresentation.presentation.verifiableCredential[0]?.credential?.credentialSubject
70
85
  // console.log(JSON.stringify(credentialSubject, null, 2))
71
86
  console.log('PRESENTATION:' + JSON.stringify(wrappedPresentation.presentation, null, 2));
72
- const responseRedirectURI = yield context.agent.siopGetRedirectURI({ correlationId, definitionId, state: verifiedResponse.state });
73
87
  response.statusCode = 200;
88
+ const authorizationChallengeValidationResponse = {
89
+ presentation_during_issuance_session: verifiedResponse.correlationId,
90
+ };
91
+ if (authorizationResponse.is_first_party) {
92
+ response.setHeader('Content-Type', 'application/json');
93
+ return response.send(JSON.stringify(authorizationChallengeValidationResponse));
94
+ }
95
+ const responseRedirectURI = yield context.agent.siopGetRedirectURI({ correlationId, definitionId, state: verifiedResponse.state });
74
96
  if (responseRedirectURI) {
75
97
  response.setHeader('Content-Type', 'application/json');
76
98
  return response.send(JSON.stringify({ redirect_uri: responseRedirectURI }));
@@ -1 +1 @@
1
- {"version":3,"file":"siop-api-functions.js","sourceRoot":"","sources":["../src/siop-api-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"siop-api-functions.js","sourceRoot":"","sources":["../src/siop-api-functions.ts"],"names":[],"mappings":";;;;;;;;;;;AA2CA,4EA4EC;AAED,oEAiDC;AA1KD,2DAAsG;AACtG,uEAAiG;AACjG,mDAAsD;AAKtD,MAAM,0BAA0B,GAAG,CAAC,OAAgB,EAAgC,EAAE;IACpF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAElD,IAAI,WAAW,KAAK,kBAAkB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;QAC1F,OAAO,OAAuC,CAAA;IAChD,CAAC;IAED,IAAI,WAAW,KAAK,mCAAmC,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAoC,CAAA;QAE5D,iDAAiD;QACjD,IAAI,OAAO,OAAO,CAAC,uBAAuB,KAAK,QAAQ,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,gIAAgI,CAAC,CAAA;YAC7I,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;QAC/E,CAAC;QAED,sIAAsI;QACtI,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;YAE5B,oIAAoI;YACpI,oKAAoK;YACpK,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,4BAAgB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,6BAA6B,WAAW,yGAAyG,CAClJ,CAAA;AACH,CAAC,CAAA;AAED,SAAgB,gCAAgC,CAC9C,MAAc,EACd,OAAyB,EACzB,IAAgG;;IAEhG,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;QAC3D,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,+DAA+D,CAAA;IAC1F,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,+BAAS,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,EAAE,CAAO,OAAgB,EAAE,QAAkB,EAAE,EAAE;;QAC1F,IAAI,CAAC;YACH,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAA;YACzE,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,6EAA6E,aAAa,mBAAmB,YAAY,EAAE,CAAC,CAAA;gBACxI,OAAO,IAAA,uCAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,yCAAyC,CAAC,CAAA;YACpF,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;YACpD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAClD,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;YAChH,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,4BAA4B,YAAY,8BAA8B,CAAC,CAAA;gBACnF,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;gBACzB,QAAQ,CAAC,aAAa,GAAG,iBAAiB,YAAY,EAAE,CAAA;gBACxD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;YACxB,CAAC;YAED,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;YACjE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAA;YAE5D,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;YACzC,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;gBAClE,qBAAqB;gBACrB,aAAa;gBACb,YAAY;gBACZ,uBAAuB,EAAE;oBACvB;wBACE,QAAQ,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,8BAA8B,mCAAI,8CAA8B,CAAC,yBAAyB;wBAC1G,UAAU,EAAE,cAAc,CAAC,iBAAiB;qBAC7C;iBACF;gBACD,SAAS,EAAE,cAAc,CAAC,WAAW;aACtC,CAAC,CAAA;YAEF,MAAM,mBAAmB,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,gBAAgB,0CAAE,aAAa,CAAC,CAAC,CAAC,CAAA;YAChF,IAAI,mBAAmB,EAAE,CAAC;gBACxB,oHAAoH;gBACpH,0DAA0D;gBAC1D,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBACxF,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;gBAEzB,MAAM,wCAAwC,GAA6C;oBACzF,oCAAoC,EAAE,gBAAgB,CAAC,aAAa;iBACrE,CAAA;gBACD,IAAI,qBAAqB,CAAC,cAAc,EAAE,CAAC;oBACzC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;oBACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC,CAAA;gBAChF,CAAC;gBAED,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAA;gBAClI,IAAI,mBAAmB,EAAE,CAAC;oBACxB,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;oBACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAA;gBAC7E,CAAC;gBACD,uBAAuB;YACzB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;gBAC5D,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;gBACzB,QAAQ,CAAC,aAAa,GAAG,+CAA+C,CAAA;YAC1E,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACpB,OAAO,IAAA,uCAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAA;QAChF,CAAC;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,4BAA4B,CAAC,MAAc,EAAE,OAAyB,EAAE,IAA0B;;IAChH,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;QACvD,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,8DAA8D,CAAA;IACzF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAA,+BAAS,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,EAAE,CAAO,OAAgB,EAAE,QAAkB,EAAE,EAAE;;QACzF,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAA;YAClD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAA;YAChD,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,6EAA6E,aAAa,mBAAmB,YAAY,EAAE,CAAC,CAAA;gBACxI,OAAO,IAAA,uCAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,yCAAyC,CAAC,CAAA;YACpF,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC;gBAC/D,aAAa;gBACb,YAAY;gBACZ,eAAe,EAAE,KAAK;aACvB,CAAC,CAAA;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CACT,kGAAkG,aAAa,mBAAmB,YAAY,EAAE,CACjJ,CAAA;gBACD,OAAO,IAAA,uCAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,yCAAyC,CAAC,CAAA;YACpF,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,CAAA,MAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,aAAa,0CAAE,KAAK,EAAE,CAAA,CAAA;YACxE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;YAClC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAE1B,IAAI,KAAyB,CAAA;YAC7B,IAAI,CAAC;gBACH,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;gBACzB,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAA;gBACrD,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACrC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,KAAK,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC9E,OAAO,IAAA,uCAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,qCAAqC,EAAE,CAAC,CAAC,CAAA;YACnF,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC;oBAC7C,aAAa;oBACb,YAAY;oBACZ,KAAK,EAAE,MAAM;oBACb,KAAK;iBACN,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,uCAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,qCAAqC,EAAE,KAAK,CAAC,CAAA;QACvF,CAAC;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"siopv2-rp-api-server.d.ts","sourceRoot":"","sources":["../src/siopv2-rp-api-server.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGhE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAsB;gBAEjC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,IAAI,CAAC,EAAE,oBAAoB,CAAA;KAAE;IA+BlH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,KAAK,IAAI,MAAM,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAErD;IAED,IAAI,IAAI,IAAI,oBAAoB,GAAG,SAAS,CAE3C;CACF"}
1
+ {"version":3,"file":"siopv2-rp-api-server.d.ts","sourceRoot":"","sources":["../src/siopv2-rp-api-server.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAQhE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAsB;gBAEjC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,IAAI,CAAC,EAAE,oBAAoB,CAAA;KAAE;IAgClH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,KAAK,IAAI,MAAM,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAErD;IAED,IAAI,IAAI,IAAI,oBAAoB,GAAG,SAAS,CAE3C;CACF"}
@@ -11,7 +11,7 @@ const siop_api_functions_1 = require("./siop-api-functions");
11
11
  const webapp_api_functions_1 = require("./webapp-api-functions");
12
12
  class SIOPv2RPApiServer {
13
13
  constructor(args) {
14
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
14
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
15
15
  const { agent, opts } = args;
16
16
  this._agent = agent;
17
17
  (0, ssi_express_support_1.copyGlobalAuthToEndpoints)({ opts, keys: ['webappCreateAuthRequest', 'webappAuthStatus', 'webappDeleteAuthRequest'] });
@@ -29,13 +29,14 @@ class SIOPv2RPApiServer {
29
29
  (0, webapp_api_functions_1.createAuthRequestWebappEndpoint)(this._router, context, (_d = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _d === void 0 ? void 0 : _d.webappCreateAuthRequest);
30
30
  (0, webapp_api_functions_1.authStatusWebappEndpoint)(this._router, context, (_e = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _e === void 0 ? void 0 : _e.webappAuthStatus);
31
31
  (0, webapp_api_functions_1.removeAuthRequestStateWebappEndpoint)(this._router, context, (_f = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _f === void 0 ? void 0 : _f.webappDeleteAuthRequest);
32
+ (0, webapp_api_functions_1.getDefinitionsEndpoint)(this._router, context, (_g = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _g === void 0 ? void 0 : _g.webappGetDefinitions);
32
33
  }
33
34
  // SIOPv2 endpoints
34
35
  if (features.includes('siop')) {
35
- (0, siop_api_functions_1.getAuthRequestSIOPv2Endpoint)(this._router, context, (_g = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _g === void 0 ? void 0 : _g.siopGetAuthRequest);
36
- (0, siop_api_functions_1.verifyAuthResponseSIOPv2Endpoint)(this._router, context, (_h = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _h === void 0 ? void 0 : _h.siopVerifyAuthResponse);
36
+ (0, siop_api_functions_1.getAuthRequestSIOPv2Endpoint)(this._router, context, (_h = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _h === void 0 ? void 0 : _h.siopGetAuthRequest);
37
+ (0, siop_api_functions_1.verifyAuthResponseSIOPv2Endpoint)(this._router, context, (_j = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _j === void 0 ? void 0 : _j.siopVerifyAuthResponse);
37
38
  }
38
- this._express.use((_k = (_j = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _j === void 0 ? void 0 : _j.basePath) !== null && _k !== void 0 ? _k : '', this.router);
39
+ this._express.use((_l = (_k = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _k === void 0 ? void 0 : _k.basePath) !== null && _l !== void 0 ? _l : '', this.router);
39
40
  }
40
41
  get express() {
41
42
  return this._express;
@@ -1 +1 @@
1
- {"version":3,"file":"siopv2-rp-api-server.js","sourceRoot":"","sources":["../src/siopv2-rp-api-server.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAqD;AACrD,uEAAyF;AAIzF,sDAAkD;AAClD,6DAAqG;AAErG,iEAAwI;AAExI,MAAa,iBAAiB;IAM5B,YAAY,IAAsG;;QAChH,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAA,+CAAyB,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,yBAAyB,CAAC,EAAE,CAAC,CAAA;QACrH,IAAI,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,0CAAE,UAAU,0CAAE,mBAAmB,EAAE,CAAC;YACxD,IAAA,+CAAyB,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,EAAE,CAAC,CAAA;QAC7F,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAA;QAC3C,IAAI,CAAC,OAAO,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAA;QAC/B,MAAM,OAAO,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAA;QAEnC,MAAM,QAAQ,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,mCAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAE9E,mBAAmB;QACnB,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,IAAA,sDAA+B,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,0CAAE,uBAAuB,CAAC,CAAA;YACnG,IAAA,+CAAwB,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,0CAAE,gBAAgB,CAAC,CAAA;YACrF,IAAA,2DAAoC,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,0CAAE,uBAAuB,CAAC,CAAA;QAC1G,CAAC;QAED,mBAAmB;QACnB,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,IAAA,iDAA4B,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,0CAAE,kBAAkB,CAAC,CAAA;YAC3F,IAAA,qDAAgC,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,0CAAE,sBAAsB,CAAC,CAAA;QACrG,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,0CAAE,QAAQ,mCAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACpE,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;CACF;AApDD,8CAoDC"}
1
+ {"version":3,"file":"siopv2-rp-api-server.js","sourceRoot":"","sources":["../src/siopv2-rp-api-server.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -13,6 +13,7 @@ export interface ISIOPv2RPRestAPIOpts {
13
13
  };
14
14
  webappCreateAuthRequest?: ICreateAuthRequestWebappEndpointOpts;
15
15
  webappDeleteAuthRequest?: ISingleEndpointOpts;
16
+ webappGetDefinitions?: ISingleEndpointOpts;
16
17
  webappAuthStatus?: ISingleEndpointOpts;
17
18
  siopVerifyAuthResponse?: ISingleEndpointOpts;
18
19
  siopGetAuthRequest?: ISingleEndpointOpts;
@@ -22,7 +23,7 @@ export interface ICreateAuthRequestWebappEndpointOpts extends ISingleEndpointOpt
22
23
  siopBaseURI?: string;
23
24
  webappAuthStatusPath?: string;
24
25
  webappBaseURI?: string;
25
- nonce?: string;
26
+ responseRedirectURI?: string;
26
27
  }
27
28
  export type IRequiredPlugins = ICredentialVerifier & ISIOPv2RP & IPresentationExchange & IPDManager;
28
29
  export type IRequiredContext = IAgentContext<IRequiredPlugins>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,MAAM,CAAA;AAC/C,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAA;IAC/B,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,eAAe,GAAG;YAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;QAChE,uBAAuB,CAAC,EAAE,oCAAoC,CAAA;QAC9D,uBAAuB,CAAC,EAAE,mBAAmB,CAAA;QAC7C,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;QACtC,sBAAsB,CAAC,EAAE,mBAAmB,CAAA;QAC5C,kBAAkB,CAAC,EAAE,mBAAmB,CAAA;KACzC,CAAA;CACF;AACD,MAAM,WAAW,oCAAqC,SAAQ,mBAAmB;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,SAAS,GAAG,qBAAqB,GAAG,UAAU,CAAA;AACnG,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,MAAM,CAAA;AAC/C,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAA;IAC/B,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,eAAe,GAAG;YAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;QAChE,uBAAuB,CAAC,EAAE,oCAAoC,CAAA;QAC9D,uBAAuB,CAAC,EAAE,mBAAmB,CAAA;QAC7C,oBAAoB,CAAC,EAAE,mBAAmB,CAAA;QAC1C,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;QACtC,sBAAsB,CAAC,EAAE,mBAAmB,CAAA;QAC5C,kBAAkB,CAAC,EAAE,mBAAmB,CAAA;KACzC,CAAA;CACF;AACD,MAAM,WAAW,oCAAqC,SAAQ,mBAAmB;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,SAAS,GAAG,qBAAqB,GAAG,UAAU,CAAA;AACnG,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAA"}
@@ -4,4 +4,5 @@ import { ICreateAuthRequestWebappEndpointOpts, IRequiredContext } from './types'
4
4
  export declare function createAuthRequestWebappEndpoint(router: Router, context: IRequiredContext, opts?: ICreateAuthRequestWebappEndpointOpts): void;
5
5
  export declare function authStatusWebappEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts): void;
6
6
  export declare function removeAuthRequestStateWebappEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts): void;
7
+ export declare function getDefinitionsEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts): void;
7
8
  //# sourceMappingURL=webapp-api-functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webapp-api-functions.d.ts","sourceRoot":"","sources":["../src/webapp-api-functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,mBAAmB,EAAqB,MAAM,+BAA+B,CAAA;AAGjG,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAE,oCAAoC,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAGhF,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,oCAAoC,QAyCrI;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QA2E7G;AAED,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QAoBzH"}
1
+ {"version":3,"file":"webapp-api-functions.d.ts","sourceRoot":"","sources":["../src/webapp-api-functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,mBAAmB,EAAqB,MAAM,+BAA+B,CAAA;AAGjG,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAE,oCAAoC,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAGhF,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,oCAAoC,QAgDrI;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QA2E7G;AAED,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QAoBzH;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QAe3G"}
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.createAuthRequestWebappEndpoint = createAuthRequestWebappEndpoint;
16
16
  exports.authStatusWebappEndpoint = authStatusWebappEndpoint;
17
17
  exports.removeAuthRequestStateWebappEndpoint = removeAuthRequestStateWebappEndpoint;
18
+ exports.getDefinitionsEndpoint = getDefinitionsEndpoint;
18
19
  const did_auth_siop_1 = require("@sphereon/did-auth-siop");
19
20
  const ssi_express_support_1 = require("@sphereon/ssi-express-support");
20
21
  const ssi_sdk_siopv2_oid4vp_common_1 = require("@sphereon/ssi-sdk.siopv2-oid4vp-common");
@@ -29,28 +30,33 @@ function createAuthRequestWebappEndpoint(router, context, opts) {
29
30
  }
30
31
  const path = (_a = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _a !== void 0 ? _a : '/webapp/definitions/:definitionId/auth-requests';
31
32
  router.post(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* () {
32
- var _a;
33
+ var _a, _b, _c, _d;
33
34
  try {
34
35
  // if (!request.agent) throw Error('No agent configured')
35
36
  const definitionId = request.params.definitionId;
36
- const state = short_uuid_1.default.uuid();
37
- const correlationId = state;
38
- const requestByReferenceURI = (0, ssi_sdk_siopv2_oid4vp_common_1.uriWithBase)(`/siop/definitions/${definitionId}/auth-requests/${correlationId}`, {
37
+ if (!definitionId) {
38
+ return (0, ssi_express_support_1.sendErrorResponse)(response, 400, 'No definitionId query parameter provided');
39
+ }
40
+ const state = (_a = request.body.state) !== null && _a !== void 0 ? _a : short_uuid_1.default.uuid();
41
+ const correlationId = (_b = request.body.correlationId) !== null && _b !== void 0 ? _b : state;
42
+ const requestByReferenceURI = (0, ssi_sdk_siopv2_oid4vp_common_1.uriWithBase)(`/siop/definitions/${definitionId}/auth-requests/${state}`, {
39
43
  baseURI: opts === null || opts === void 0 ? void 0 : opts.siopBaseURI,
40
44
  });
41
- const responseURI = (0, ssi_sdk_siopv2_oid4vp_common_1.uriWithBase)(`/siop/definitions/${definitionId}/auth-responses/${correlationId}`, { baseURI: opts === null || opts === void 0 ? void 0 : opts.siopBaseURI });
42
- const responseRedirectURI = 'response_redirect_uri' in request.body && request.body.response_redirect_uri;
45
+ const responseURI = (0, ssi_sdk_siopv2_oid4vp_common_1.uriWithBase)(`/siop/definitions/${definitionId}/auth-responses/${state}`, { baseURI: opts === null || opts === void 0 ? void 0 : opts.siopBaseURI });
46
+ // first version is for backwards compat
47
+ const responseRedirectURI = (_c = ('response_redirect_uri' in request.body && request.body.response_redirect_uri)) !== null && _c !== void 0 ? _c : ('responseRedirectURI' in request.body && request.body.responseRedirectURI);
43
48
  const authRequestURI = yield context.agent.siopCreateAuthRequestURI(Object.assign({ definitionId,
44
49
  correlationId,
45
- state, nonce: opts === null || opts === void 0 ? void 0 : opts.nonce, requestByReferenceURI, responseURIType: 'response_uri', responseURI }, (responseRedirectURI && { responseRedirectURI })));
50
+ state, nonce: short_uuid_1.default.uuid(), requestByReferenceURI, responseURIType: 'response_uri', responseURI }, (responseRedirectURI && { responseRedirectURI })));
46
51
  const authRequestBody = {
47
52
  correlationId,
53
+ state,
48
54
  definitionId,
49
55
  authRequestURI,
50
- authStatusURI: `${(0, ssi_sdk_siopv2_oid4vp_common_1.uriWithBase)((_a = opts === null || opts === void 0 ? void 0 : opts.webappAuthStatusPath) !== null && _a !== void 0 ? _a : '/webapp/auth-status', { baseURI: opts === null || opts === void 0 ? void 0 : opts.webappBaseURI })}`,
56
+ authStatusURI: `${(0, ssi_sdk_siopv2_oid4vp_common_1.uriWithBase)((_d = opts === null || opts === void 0 ? void 0 : opts.webappAuthStatusPath) !== null && _d !== void 0 ? _d : '/webapp/auth-status', { baseURI: opts === null || opts === void 0 ? void 0 : opts.webappBaseURI })}`,
51
57
  };
52
58
  console.log(`Auth Request URI data to send back: ${JSON.stringify(authRequestBody)}`);
53
- return response.send(authRequestBody);
59
+ return response.json(authRequestBody);
54
60
  }
55
61
  catch (error) {
56
62
  return (0, ssi_express_support_1.sendErrorResponse)(response, 500, 'Could not create an authorization request URI', error);
@@ -87,7 +93,7 @@ function authStatusWebappEndpoint(router, context, opts) {
87
93
  definitionId,
88
94
  lastUpdated: requestState ? requestState.lastUpdated : Date.now(),
89
95
  };
90
- return response.send(statusBody);
96
+ return response.json(statusBody);
91
97
  }
92
98
  let includeVerifiedData = ssi_sdk_siopv2_oid4vp_rp_auth_1.VerifiedDataMode.NONE;
93
99
  if ('includeVerifiedData' in request.body) {
@@ -110,13 +116,13 @@ function authStatusWebappEndpoint(router, context, opts) {
110
116
  verifiedData: responseState.verifiedData,
111
117
  }
112
118
  : {}));
113
- console.log(`Will send auth status: ${JSON.stringify(statusBody)}`);
119
+ console.debug(`Will send auth status: ${JSON.stringify(statusBody)}`);
114
120
  if (overallState.status === 'error') {
115
121
  response.statusCode = 500;
116
- return response.send(statusBody);
122
+ return response.json(statusBody);
117
123
  }
118
124
  response.statusCode = 200;
119
- return response.send(statusBody);
125
+ return response.json(statusBody);
120
126
  }
121
127
  catch (error) {
122
128
  return (0, ssi_express_support_1.sendErrorResponse)(response, 500, error.message, error);
@@ -139,7 +145,25 @@ function removeAuthRequestStateWebappEndpoint(router, context, opts) {
139
145
  return (0, ssi_express_support_1.sendErrorResponse)(response, 404, 'No authorization request could be found');
140
146
  }
141
147
  response.statusCode = 200;
142
- return response.send(context.agent.siopDeleteAuthState({ definitionId, correlationId }));
148
+ return response.json(yield context.agent.siopDeleteAuthState({ definitionId, correlationId }));
149
+ }
150
+ catch (error) {
151
+ return (0, ssi_express_support_1.sendErrorResponse)(response, 500, error.message, error);
152
+ }
153
+ }));
154
+ }
155
+ function getDefinitionsEndpoint(router, context, opts) {
156
+ var _a;
157
+ if ((opts === null || opts === void 0 ? void 0 : opts.enabled) === false) {
158
+ console.log(`getDefinitions Webapp endpoint is disabled`);
159
+ return;
160
+ }
161
+ const path = (_a = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _a !== void 0 ? _a : '/webapp/definitions';
162
+ 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* () {
163
+ try {
164
+ const definitions = yield context.agent.pdmGetDefinitions();
165
+ response.statusCode = 200;
166
+ return response.json(definitions);
143
167
  }
144
168
  catch (error) {
145
169
  return (0, ssi_express_support_1.sendErrorResponse)(response, 500, error.message, error);
@@ -1 +1 @@
1
- {"version":3,"file":"webapp-api-functions.js","sourceRoot":"","sources":["../src/webapp-api-functions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AASA,0EAyCC;AAED,4DA2EC;AAED,oFAoBC;AArJD,2DAAqG;AACrG,uEAAiG;AACjG,yFAAwH;AACxH,2FAAsH;AAEtH,4DAA6B;AAE7B,yDAAmE;AAEnE,SAAgB,+BAA+B,CAAC,MAAc,EAAE,OAAyB,EAAE,IAA2C;;IACpI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;QAC5D,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,iDAAiD,CAAA;IAC5E,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,+BAAS,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,EAAE,CAAO,OAAgB,EAAE,QAAkB,EAAE,EAAE;;QAC1F,IAAI,CAAC;YACH,yDAAyD;YACzD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAA;YAChD,MAAM,KAAK,GAAW,oBAAI,CAAC,IAAI,EAAE,CAAA;YACjC,MAAM,aAAa,GAAG,KAAK,CAAA;YAE3B,MAAM,qBAAqB,GAAG,IAAA,0CAAW,EAAC,qBAAqB,YAAY,kBAAkB,aAAa,EAAE,EAAE;gBAC5G,OAAO,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW;aAC3B,CAAC,CAAA;YACF,MAAM,WAAW,GAAG,IAAA,0CAAW,EAAC,qBAAqB,YAAY,mBAAmB,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,EAAE,CAAC,CAAA;YACpI,MAAM,mBAAmB,GAAG,uBAAuB,IAAI,OAAO,CAAC,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC,qBAA4C,CAAA;YAEjI,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,wBAAwB,iBACjE,YAAY;gBACZ,aAAa;gBACb,KAAK,EACL,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAClB,qBAAqB,EACrB,eAAe,EAAE,cAAc,EAC/B,WAAW,IACR,CAAC,mBAAmB,IAAI,EAAE,mBAAmB,EAAE,CAAC,EACnD,CAAA;YACF,MAAM,eAAe,GAAmC;gBACtD,aAAa;gBACb,YAAY;gBACZ,cAAc;gBACd,aAAa,EAAE,GAAG,IAAA,0CAAW,EAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,oBAAoB,mCAAI,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,EAAE,CAAC,EAAE;aACvH,CAAA;YACD,OAAO,CAAC,GAAG,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;YACrF,OAAO,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,uCAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,+CAA+C,EAAE,KAAK,CAAC,CAAA;QACjG,CAAC;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAc,EAAE,OAAyB,EAAE,IAA0B;;IAC5G,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;QACrD,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,qBAAqB,CAAA;IAChD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,+BAAS,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,EAAE,CAAO,OAAgB,EAAE,QAAkB,EAAE,EAAE;;QAC1F,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;YAC9C,MAAM,aAAa,GAAW,OAAO,CAAC,IAAI,CAAC,aAAuB,CAAA;YAClE,MAAM,YAAY,GAAW,OAAO,CAAC,IAAI,CAAC,YAAsB,CAAA;YAEhE,MAAM,YAAY,GAChB,aAAa,IAAI,YAAY;gBAC3B,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC;oBAC1C,aAAa;oBACb,YAAY;oBACZ,eAAe,EAAE,KAAK;iBACvB,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAA;YACf,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrD,OAAO,CAAC,GAAG,CACT,oFAAoF,aAAa,mBAAmB,YAAY,EAAE,CACnI,CAAA;gBACD,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;gBACzB,MAAM,UAAU,GAAuB;oBACrC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACpD,KAAK,EAAE,qEAAqE;oBAC5E,aAAa;oBACb,YAAY;oBACZ,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;iBAClE,CAAA;gBACD,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;YAED,IAAI,mBAAmB,GAAqB,gDAAgB,CAAC,IAAI,CAAA;YACjE,IAAI,qBAAqB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC1C,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAuC,CAAA;YAC5E,CAAC;YAED,IAAI,aAAa,CAAA;YACjB,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACnC,aAAa,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;oBAC5D,aAAa;oBACb,YAAY;oBACZ,mBAAmB,EAAE,mBAAmB;oBACxC,eAAe,EAAE,KAAK;iBACvB,CAAC,CAA+C,CAAA;YACnD,CAAC;YACD,MAAM,YAAY,GAA2E,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,YAAY,CAAA;YAE1H,MAAM,UAAU,+CACd,MAAM,EAAE,YAAY,CAAC,MAAM,IACxB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAA,YAAY,CAAC,KAAK,0CAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACrE,aAAa;gBACb,YAAY,EACZ,WAAW,EAAE,YAAY,CAAC,WAAW,KAClC,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,gDAAgC,CAAC,QAAQ;gBACrF,CAAC,CAAC;oBACE,OAAO,EAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,wBAAa,EAAE,CAAC;oBAC/E,YAAY,EAAE,aAAa,CAAC,YAAY;iBACzC;gBACH,CAAC,CAAC,EAAE,CAAC,CACR,CAAA;YACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACnE,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBACpC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;gBACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;YACD,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,uCAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,oCAAoC,CAAC,MAAc,EAAE,OAAyB,EAAE,IAA0B;;IACxH,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;QAC3D,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,gEAAgE,CAAA;IAC3F,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,+BAAS,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,EAAE,CAAO,OAAgB,EAAE,QAAkB,EAAE,EAAE;QAC5F,IAAI,CAAC;YACH,MAAM,aAAa,GAAW,OAAO,CAAC,MAAM,CAAC,aAAa,CAAA;YAC1D,MAAM,YAAY,GAAW,OAAO,CAAC,MAAM,CAAC,YAAY,CAAA;YACxD,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,6EAA6E,aAAa,mBAAmB,YAAY,EAAE,CAAC,CAAA;gBACxI,OAAO,IAAA,uCAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,yCAAyC,CAAC,CAAA;YACpF,CAAC;YACD,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,CAAA;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,uCAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"webapp-api-functions.js","sourceRoot":"","sources":["../src/webapp-api-functions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.siopv2-oid4vp-rp-rest-api",
3
- "version": "0.32.1-feature.MWALL.715.49+18b4ced4",
3
+ "version": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,16 +11,16 @@
11
11
  "start:dev": "ts-node __tests__/RestAPI.ts"
12
12
  },
13
13
  "dependencies": {
14
- "@sphereon/did-auth-siop": "0.16.1-feature.MWALL.715.259",
15
- "@sphereon/ssi-express-support": "0.32.1-feature.MWALL.715.49+18b4ced4",
16
- "@sphereon/ssi-sdk.core": "0.32.1-feature.MWALL.715.49+18b4ced4",
17
- "@sphereon/ssi-sdk.credential-validation": "0.32.1-feature.MWALL.715.49+18b4ced4",
18
- "@sphereon/ssi-sdk.kv-store-temp": "0.32.1-feature.MWALL.715.49+18b4ced4",
19
- "@sphereon/ssi-sdk.pd-manager": "0.32.1-feature.MWALL.715.49+18b4ced4",
20
- "@sphereon/ssi-sdk.presentation-exchange": "0.32.1-feature.MWALL.715.49+18b4ced4",
21
- "@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.32.1-feature.MWALL.715.49+18b4ced4",
22
- "@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth": "0.32.1-feature.MWALL.715.49+18b4ced4",
23
- "@sphereon/ssi-types": "0.32.1-feature.MWALL.715.49+18b4ced4",
14
+ "@sphereon/did-auth-siop": "0.16.1-feature.MWALL.715.389",
15
+ "@sphereon/ssi-express-support": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
16
+ "@sphereon/ssi-sdk.core": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
17
+ "@sphereon/ssi-sdk.credential-validation": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
18
+ "@sphereon/ssi-sdk.kv-store-temp": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
19
+ "@sphereon/ssi-sdk.pd-manager": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
20
+ "@sphereon/ssi-sdk.presentation-exchange": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
21
+ "@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
22
+ "@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
23
+ "@sphereon/ssi-types": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
24
24
  "@veramo/core": "4.2.0",
25
25
  "@veramo/credential-w3c": "4.2.0",
26
26
  "body-parser": "^1.20.2",
@@ -37,9 +37,9 @@
37
37
  "@sphereon/did-uni-client": "^0.6.3",
38
38
  "@sphereon/pex": "5.0.0-unstable.28",
39
39
  "@sphereon/pex-models": "^2.3.2",
40
- "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.27.1-next.6",
41
- "@sphereon/ssi-sdk.data-store": "0.32.1-feature.MWALL.715.49+18b4ced4",
42
- "@sphereon/ssi-sdk.vc-handler-ld-local": "0.32.1-feature.MWALL.715.49+18b4ced4",
40
+ "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.27.1-next.14",
41
+ "@sphereon/ssi-sdk.data-store": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
42
+ "@sphereon/ssi-sdk.vc-handler-ld-local": "0.32.1-feature.MWALL.715.state.persist.225+9a04ac47",
43
43
  "@types/body-parser": "^1.19.5",
44
44
  "@types/cookie-parser": "^1.4.7",
45
45
  "@types/cors": "^2.8.17",
@@ -98,5 +98,5 @@
98
98
  "Authenticator"
99
99
  ],
100
100
  "nx": {},
101
- "gitHead": "18b4ced48911a04c546262da6f5cf5b2d82ed8f9"
101
+ "gitHead": "9a04ac4734f5c4e7b1569d48c528dbfa972c33d3"
102
102
  }
@@ -1,9 +1,46 @@
1
1
  import { AuthorizationResponsePayload, PresentationDefinitionLocation } from '@sphereon/did-auth-siop'
2
2
  import { checkAuth, ISingleEndpointOpts, sendErrorResponse } from '@sphereon/ssi-express-support'
3
- import { PresentationSubmission } from '@sphereon/ssi-types'
3
+ import { CredentialMapper } from '@sphereon/ssi-types'
4
+ import { AuthorizationChallengeValidationResponse } from '@sphereon/ssi-sdk.siopv2-oid4vp-common'
4
5
  import { Request, Response, Router } from 'express'
5
6
  import { IRequiredContext } from './types'
6
7
 
8
+ const parseAuthorizationResponse = (request: Request): AuthorizationResponsePayload => {
9
+ const contentType = request.header('content-type')
10
+
11
+ if (contentType === 'application/json') {
12
+ const payload = typeof request.body === 'string' ? JSON.parse(request.body) : request.body
13
+ return payload as AuthorizationResponsePayload
14
+ }
15
+
16
+ if (contentType === 'application/x-www-form-urlencoded') {
17
+ const payload = request.body as AuthorizationResponsePayload
18
+
19
+ // Parse presentation_submission if it's a string
20
+ if (typeof payload.presentation_submission === 'string') {
21
+ console.log(`Supplied presentation_submission was a string instead of JSON. Correcting, but external party should fix their implementation!`)
22
+ payload.presentation_submission = JSON.parse(payload.presentation_submission)
23
+ }
24
+
25
+ // when using FORM_URL_ENCODED, vp_token comes back as string not matter whether the input was string, object or array. Handled below.
26
+ if (typeof payload.vp_token === 'string') {
27
+ const { vp_token } = payload
28
+
29
+ // The only use case where vp_object is an object is JsonLdAsString atm. For arrays, any objects will be parsed along with the array
30
+ // (Leaving the vp_token JsonLdAsString causes problems because the original credential will remain string and will be interpreted as JWT in some parts of the code)
31
+ if ((vp_token.startsWith('[') && vp_token.endsWith(']')) || CredentialMapper.isJsonLdAsString(vp_token)) {
32
+ payload.vp_token = JSON.parse(vp_token)
33
+ }
34
+ }
35
+
36
+ return payload
37
+ }
38
+
39
+ throw new Error(
40
+ `Unsupported content type: ${contentType}. Currently only application/x-www-form-urlencoded and application/json (for direct_post) are supported`,
41
+ )
42
+ }
43
+
7
44
  export function verifyAuthResponseSIOPv2Endpoint(
8
45
  router: Router,
9
46
  context: IRequiredContext,
@@ -31,23 +68,10 @@ export function verifyAuthResponseSIOPv2Endpoint(
31
68
  return response.send()
32
69
  }
33
70
 
34
- const authorizationResponse =
35
- typeof request.body === 'string' ? (JSON.parse(request.body) as AuthorizationResponsePayload) : (request.body as AuthorizationResponsePayload)
36
- if (typeof authorizationResponse.presentation_submission === 'string') {
37
- console.log(`Supplied presentation_submission was a string instead of JSON. Correcting, but external party should fix their implementation!`)
38
- authorizationResponse.presentation_submission = JSON.parse(authorizationResponse.presentation_submission) as PresentationSubmission
39
- }
40
- if (typeof authorizationResponse.vp_token === 'string') {
41
- // arrays pass as string when using FORM_URL_ENCODED
42
- if (authorizationResponse.vp_token.startsWith('[') && authorizationResponse.vp_token.endsWith(']')) {
43
- authorizationResponse.vp_token = JSON.parse(authorizationResponse.vp_token)
44
- } else {
45
- authorizationResponse.vp_token = [authorizationResponse.vp_token]
46
- }
47
- }
71
+ const authorizationResponse = parseAuthorizationResponse(request)
48
72
  console.log(`URI: ${JSON.stringify(authorizationResponse)}`)
49
73
 
50
- const definition = definitionItems[0].definitionPayload
74
+ const definitionItem = definitionItems[0]
51
75
  const verifiedResponse = await context.agent.siopVerifyAuthResponse({
52
76
  authorizationResponse,
53
77
  correlationId,
@@ -55,9 +79,10 @@ export function verifyAuthResponseSIOPv2Endpoint(
55
79
  presentationDefinitions: [
56
80
  {
57
81
  location: opts?.presentationDefinitionLocation ?? PresentationDefinitionLocation.TOPLEVEL_PRESENTATION_DEF,
58
- definition,
82
+ definition: definitionItem.definitionPayload,
59
83
  },
60
84
  ],
85
+ dcqlQuery: definitionItem.dcqlPayload,
61
86
  })
62
87
 
63
88
  const wrappedPresentation = verifiedResponse?.oid4vpSubmission?.presentations[0]
@@ -65,8 +90,17 @@ export function verifyAuthResponseSIOPv2Endpoint(
65
90
  // const credentialSubject = wrappedPresentation.presentation.verifiableCredential[0]?.credential?.credentialSubject
66
91
  // console.log(JSON.stringify(credentialSubject, null, 2))
67
92
  console.log('PRESENTATION:' + JSON.stringify(wrappedPresentation.presentation, null, 2))
68
- const responseRedirectURI = await context.agent.siopGetRedirectURI({ correlationId, definitionId, state: verifiedResponse.state })
69
93
  response.statusCode = 200
94
+
95
+ const authorizationChallengeValidationResponse: AuthorizationChallengeValidationResponse = {
96
+ presentation_during_issuance_session: verifiedResponse.correlationId,
97
+ }
98
+ if (authorizationResponse.is_first_party) {
99
+ response.setHeader('Content-Type', 'application/json')
100
+ return response.send(JSON.stringify(authorizationChallengeValidationResponse))
101
+ }
102
+
103
+ const responseRedirectURI = await context.agent.siopGetRedirectURI({ correlationId, definitionId, state: verifiedResponse.state })
70
104
  if (responseRedirectURI) {
71
105
  response.setHeader('Content-Type', 'application/json')
72
106
  return response.send(JSON.stringify({ redirect_uri: responseRedirectURI }))
@@ -6,7 +6,12 @@ import { TAgent } from '@veramo/core'
6
6
  import express, { Express, Router } from 'express'
7
7
  import { getAuthRequestSIOPv2Endpoint, verifyAuthResponseSIOPv2Endpoint } from './siop-api-functions'
8
8
  import { IRequiredPlugins, ISIOPv2RPRestAPIOpts } from './types'
9
- import { authStatusWebappEndpoint, createAuthRequestWebappEndpoint, removeAuthRequestStateWebappEndpoint } from './webapp-api-functions'
9
+ import {
10
+ authStatusWebappEndpoint,
11
+ createAuthRequestWebappEndpoint,
12
+ getDefinitionsEndpoint,
13
+ removeAuthRequestStateWebappEndpoint,
14
+ } from './webapp-api-functions'
10
15
 
11
16
  export class SIOPv2RPApiServer {
12
17
  private readonly _express: Express
@@ -35,6 +40,7 @@ export class SIOPv2RPApiServer {
35
40
  createAuthRequestWebappEndpoint(this._router, context, opts?.endpointOpts?.webappCreateAuthRequest)
36
41
  authStatusWebappEndpoint(this._router, context, opts?.endpointOpts?.webappAuthStatus)
37
42
  removeAuthRequestStateWebappEndpoint(this._router, context, opts?.endpointOpts?.webappDeleteAuthRequest)
43
+ getDefinitionsEndpoint(this._router, context, opts?.endpointOpts?.webappGetDefinitions)
38
44
  }
39
45
 
40
46
  // SIOPv2 endpoints
package/src/types.ts CHANGED
@@ -12,6 +12,7 @@ export interface ISIOPv2RPRestAPIOpts {
12
12
  globalAuth?: GenericAuthArgs & { secureSiopEndpoints?: boolean }
13
13
  webappCreateAuthRequest?: ICreateAuthRequestWebappEndpointOpts // Override the create Auth Request path. Needs to contain correlationId and definitionId path params!
14
14
  webappDeleteAuthRequest?: ISingleEndpointOpts // Override the delete Auth Request path. Needs to contain correlationId and definitionId path params!
15
+ webappGetDefinitions?: ISingleEndpointOpts // Override the delete Auth Request path. Needs to contain correlationId and definitionId path params!
15
16
  webappAuthStatus?: ISingleEndpointOpts // Override the Auth status path. CorrelationId and definitionId need to come from the body!
16
17
  siopVerifyAuthResponse?: ISingleEndpointOpts // Override the siop Verify Response path. Needs to contain correlationId and definitionId path params!
17
18
  siopGetAuthRequest?: ISingleEndpointOpts // Override the siop get Auth Request path. Needs to contain correlationId and definitionId path params!
@@ -21,7 +22,7 @@ export interface ICreateAuthRequestWebappEndpointOpts extends ISingleEndpointOpt
21
22
  siopBaseURI?: string
22
23
  webappAuthStatusPath?: string
23
24
  webappBaseURI?: string
24
- nonce?: string
25
+ responseRedirectURI?: string
25
26
  }
26
27
 
27
28
  export type IRequiredPlugins = ICredentialVerifier & ISIOPv2RP & IPresentationExchange & IPDManager
@@ -17,20 +17,26 @@ export function createAuthRequestWebappEndpoint(router: Router, context: IRequir
17
17
  try {
18
18
  // if (!request.agent) throw Error('No agent configured')
19
19
  const definitionId = request.params.definitionId
20
- const state: string = uuid.uuid()
21
- const correlationId = state
20
+ if (!definitionId) {
21
+ return sendErrorResponse(response, 400, 'No definitionId query parameter provided')
22
+ }
23
+ const state: string = request.body.state ?? uuid.uuid()
24
+ const correlationId = request.body.correlationId ?? state
22
25
 
23
- const requestByReferenceURI = uriWithBase(`/siop/definitions/${definitionId}/auth-requests/${correlationId}`, {
26
+ const requestByReferenceURI = uriWithBase(`/siop/definitions/${definitionId}/auth-requests/${state}`, {
24
27
  baseURI: opts?.siopBaseURI,
25
28
  })
26
- const responseURI = uriWithBase(`/siop/definitions/${definitionId}/auth-responses/${correlationId}`, { baseURI: opts?.siopBaseURI })
27
- const responseRedirectURI = 'response_redirect_uri' in request.body && (request.body.response_redirect_uri as string | undefined)
29
+ const responseURI = uriWithBase(`/siop/definitions/${definitionId}/auth-responses/${state}`, { baseURI: opts?.siopBaseURI })
30
+ // first version is for backwards compat
31
+ const responseRedirectURI =
32
+ ('response_redirect_uri' in request.body && (request.body.response_redirect_uri as string | undefined)) ??
33
+ ('responseRedirectURI' in request.body && (request.body.responseRedirectURI as string | undefined))
28
34
 
29
35
  const authRequestURI = await context.agent.siopCreateAuthRequestURI({
30
36
  definitionId,
31
37
  correlationId,
32
38
  state,
33
- nonce: opts?.nonce,
39
+ nonce: uuid.uuid(),
34
40
  requestByReferenceURI,
35
41
  responseURIType: 'response_uri',
36
42
  responseURI,
@@ -38,12 +44,13 @@ export function createAuthRequestWebappEndpoint(router: Router, context: IRequir
38
44
  })
39
45
  const authRequestBody: GenerateAuthRequestURIResponse = {
40
46
  correlationId,
47
+ state,
41
48
  definitionId,
42
49
  authRequestURI,
43
50
  authStatusURI: `${uriWithBase(opts?.webappAuthStatusPath ?? '/webapp/auth-status', { baseURI: opts?.webappBaseURI })}`,
44
51
  }
45
52
  console.log(`Auth Request URI data to send back: ${JSON.stringify(authRequestBody)}`)
46
- return response.send(authRequestBody)
53
+ return response.json(authRequestBody)
47
54
  } catch (error) {
48
55
  return sendErrorResponse(response, 500, 'Could not create an authorization request URI', error)
49
56
  }
@@ -82,7 +89,7 @@ export function authStatusWebappEndpoint(router: Router, context: IRequiredConte
82
89
  definitionId,
83
90
  lastUpdated: requestState ? requestState.lastUpdated : Date.now(),
84
91
  }
85
- return response.send(statusBody)
92
+ return response.json(statusBody)
86
93
  }
87
94
 
88
95
  let includeVerifiedData: VerifiedDataMode = VerifiedDataMode.NONE
@@ -114,13 +121,13 @@ export function authStatusWebappEndpoint(router: Router, context: IRequiredConte
114
121
  }
115
122
  : {}),
116
123
  }
117
- console.log(`Will send auth status: ${JSON.stringify(statusBody)}`)
124
+ console.debug(`Will send auth status: ${JSON.stringify(statusBody)}`)
118
125
  if (overallState.status === 'error') {
119
126
  response.statusCode = 500
120
- return response.send(statusBody)
127
+ return response.json(statusBody)
121
128
  }
122
129
  response.statusCode = 200
123
- return response.send(statusBody)
130
+ return response.json(statusBody)
124
131
  } catch (error) {
125
132
  return sendErrorResponse(response, 500, error.message, error)
126
133
  }
@@ -142,7 +149,24 @@ export function removeAuthRequestStateWebappEndpoint(router: Router, context: IR
142
149
  return sendErrorResponse(response, 404, 'No authorization request could be found')
143
150
  }
144
151
  response.statusCode = 200
145
- return response.send(context.agent.siopDeleteAuthState({ definitionId, correlationId }))
152
+ return response.json(await context.agent.siopDeleteAuthState({ definitionId, correlationId }))
153
+ } catch (error) {
154
+ return sendErrorResponse(response, 500, error.message, error)
155
+ }
156
+ })
157
+ }
158
+
159
+ export function getDefinitionsEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {
160
+ if (opts?.enabled === false) {
161
+ console.log(`getDefinitions Webapp endpoint is disabled`)
162
+ return
163
+ }
164
+ const path = opts?.path ?? '/webapp/definitions'
165
+ router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
166
+ try {
167
+ const definitions = await context.agent.pdmGetDefinitions()
168
+ response.statusCode = 200
169
+ return response.json(definitions)
146
170
  } catch (error) {
147
171
  return sendErrorResponse(response, 500, error.message, error)
148
172
  }