@pagopa/io-react-native-wallet 1.6.2 → 1.7.1

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.
Files changed (81) hide show
  1. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +69 -35
  2. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  3. package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js +181 -0
  4. package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js.map +1 -0
  5. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +3 -67
  6. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  7. package/lib/commonjs/credential/presentation/08-send-authorization-response.js +98 -2
  8. package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
  9. package/lib/commonjs/credential/presentation/index.js +14 -1
  10. package/lib/commonjs/credential/presentation/index.js.map +1 -1
  11. package/lib/commonjs/credential/presentation/types.js +9 -2
  12. package/lib/commonjs/credential/presentation/types.js.map +1 -1
  13. package/lib/commonjs/mdoc/index.js +1 -1
  14. package/lib/commonjs/mdoc/index.js.map +1 -1
  15. package/lib/commonjs/sd-jwt/__test__/index.test.js +24 -21
  16. package/lib/commonjs/sd-jwt/__test__/index.test.js.map +1 -1
  17. package/lib/commonjs/sd-jwt/__test__/types.test.js +3 -0
  18. package/lib/commonjs/sd-jwt/__test__/types.test.js.map +1 -1
  19. package/lib/commonjs/sd-jwt/types.js +4 -1
  20. package/lib/commonjs/sd-jwt/types.js.map +1 -1
  21. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +469 -0
  22. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +1 -0
  23. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +90 -0
  24. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -0
  25. package/lib/module/credential/issuance/07-verify-and-parse-credential.js +67 -35
  26. package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  27. package/lib/module/credential/presentation/07-evaluate-dcql-query.js +175 -0
  28. package/lib/module/credential/presentation/07-evaluate-dcql-query.js.map +1 -0
  29. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +3 -66
  30. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  31. package/lib/module/credential/presentation/08-send-authorization-response.js +97 -2
  32. package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
  33. package/lib/module/credential/presentation/index.js +4 -3
  34. package/lib/module/credential/presentation/index.js.map +1 -1
  35. package/lib/module/credential/presentation/types.js +9 -2
  36. package/lib/module/credential/presentation/types.js.map +1 -1
  37. package/lib/module/mdoc/index.js +1 -1
  38. package/lib/module/mdoc/index.js.map +1 -1
  39. package/lib/module/sd-jwt/__test__/index.test.js +24 -21
  40. package/lib/module/sd-jwt/__test__/index.test.js.map +1 -1
  41. package/lib/module/sd-jwt/__test__/types.test.js +3 -0
  42. package/lib/module/sd-jwt/__test__/types.test.js.map +1 -1
  43. package/lib/module/sd-jwt/types.js +4 -1
  44. package/lib/module/sd-jwt/types.js.map +1 -1
  45. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +462 -0
  46. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +1 -0
  47. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +83 -0
  48. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -0
  49. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts +12 -0
  50. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
  51. package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts +27 -0
  52. package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts.map +1 -0
  53. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts +2 -28
  54. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -1
  55. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts +23 -1
  56. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts.map +1 -1
  57. package/lib/typescript/credential/presentation/index.d.ts +6 -4
  58. package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
  59. package/lib/typescript/credential/presentation/types.d.ts +26 -7
  60. package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
  61. package/lib/typescript/sd-jwt/index.d.ts +12 -0
  62. package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
  63. package/lib/typescript/sd-jwt/types.d.ts +15 -0
  64. package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
  65. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts +3 -0
  66. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts.map +1 -0
  67. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts +42 -0
  68. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts.map +1 -0
  69. package/package.json +3 -2
  70. package/src/credential/issuance/07-verify-and-parse-credential.ts +35 -3
  71. package/src/credential/presentation/07-evaluate-dcql-query.ts +228 -0
  72. package/src/credential/presentation/07-evaluate-input-descriptor.ts +6 -103
  73. package/src/credential/presentation/08-send-authorization-response.ts +137 -2
  74. package/src/credential/presentation/index.ts +12 -2
  75. package/src/credential/presentation/types.ts +33 -3
  76. package/src/mdoc/index.ts +1 -1
  77. package/src/sd-jwt/__test__/index.test.ts +45 -36
  78. package/src/sd-jwt/__test__/types.test.ts +3 -0
  79. package/src/sd-jwt/types.ts +3 -0
  80. package/src/utils/credential/issuance/07-verify-and-parse-credentials-inputs.ts +615 -0
  81. package/src/utils/credential/issuance/07-verify-and-parse-credentials-utils.ts +171 -0
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.verifyAndParseCredential = void 0;
6
+ exports.verifyAndParseCredential = exports.parseCredentialSdJwt = exports.parseCredentialMDoc = void 0;
7
7
  var _errors = require("../../utils/errors");
8
8
  var _types = require("../../sd-jwt/types");
9
9
  var _sdJwt = require("../../sd-jwt");
@@ -14,6 +14,7 @@ var _converters2 = require("../../mdoc/converters");
14
14
 
15
15
  // handy alias
16
16
 
17
+ //Exported for testing purposes
17
18
  const parseCredentialSdJwt = function (credentials_supported, _ref) {
18
19
  let {
19
20
  sdJwt,
@@ -39,11 +40,11 @@ const parseCredentialSdJwt = function (credentials_supported, _ref) {
39
40
 
40
41
  // the key of the attribute defintion must match the disclosure's name
41
42
  const attrsNotInDisclosures = attrDefinitions.filter(_ref2 => {
42
- let [attrKey] = _ref2;
43
+ let [attrKey, definition] = _ref2;
43
44
  return !disclosures.some(_ref3 => {
44
45
  let [, name] = _ref3;
45
46
  return name === attrKey;
46
- });
47
+ }) && definition.mandatory;
47
48
  });
48
49
  if (attrsNotInDisclosures.length > 0) {
49
50
  const missing = attrsNotInDisclosures.map(_ => _[0 /* key */]).join(", ");
@@ -65,20 +66,25 @@ const parseCredentialSdJwt = function (credentials_supported, _ref) {
65
66
  value: (_disclosures$find = disclosures.find(_ => _[1 /* name */] === attrKey)) === null || _disclosures$find === void 0 ? void 0 : _disclosures$find[2 /* value */]
66
67
  }];
67
68
  })
69
+ //filter the not found elements
70
+ .filter(_ref5 => {
71
+ let [_, definition] = _ref5;
72
+ return definition.value !== undefined;
73
+ })
68
74
  // add a human readable attribute name, with i18n, in the form { locale: name }
69
75
  // example: { "it-IT": "Nome", "en-EN": "Name", "es-ES": "Nombre" }
70
- .map(_ref5 => {
76
+ .map(_ref6 => {
71
77
  let [attrKey, {
72
78
  display,
73
79
  ...definition
74
- }] = _ref5;
80
+ }] = _ref6;
75
81
  return [attrKey, {
76
82
  ...definition,
77
- name: display.reduce((names, _ref6) => {
83
+ name: display.reduce((names, _ref7) => {
78
84
  let {
79
85
  locale,
80
86
  name
81
- } = _ref6;
87
+ } = _ref7;
82
88
  return {
83
89
  ...names,
84
90
  [locale]: name
@@ -89,8 +95,8 @@ const parseCredentialSdJwt = function (credentials_supported, _ref) {
89
95
  if (includeUndefinedAttributes) {
90
96
  // attributes that are in the disclosure set
91
97
  // but are not defined in the issuer configuration
92
- const undefinedValues = Object.fromEntries(disclosures.filter(_ => !Object.keys(definedValues).includes(_[1])).map(_ref7 => {
93
- let [, key, value] = _ref7;
98
+ const undefinedValues = Object.fromEntries(disclosures.filter(_ => !Object.keys(definedValues).includes(_[1])).map(_ref8 => {
99
+ let [, key, value] = _ref8;
94
100
  return [key, {
95
101
  value,
96
102
  name: key
@@ -103,11 +109,15 @@ const parseCredentialSdJwt = function (credentials_supported, _ref) {
103
109
  }
104
110
  return definedValues;
105
111
  };
106
- const parseCredentialMDoc = function (credentials_supported, credential_type, _ref8) {
112
+
113
+ //Exported for testing purposes
114
+ exports.parseCredentialSdJwt = parseCredentialSdJwt;
115
+ const parseCredentialMDoc = function (credentials_supported, credential_type, _ref9) {
107
116
  let {
108
117
  issuerSigned
109
- } = _ref8;
110
- let includeUndefinedAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
118
+ } = _ref9;
119
+ let ignoreMissingAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
120
+ let includeUndefinedAttributes = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
111
121
  const credentialSubject = credentials_supported[credential_type];
112
122
  if (!credentialSubject) {
113
123
  throw new _errors.IoWalletError("Credential type not supported by the issuer");
@@ -119,49 +129,72 @@ const parseCredentialMDoc = function (credentials_supported, credential_type, _r
119
129
  }
120
130
 
121
131
  const claims = credentialSubject.claims;
122
- const attrDefinitions = Object.entries(claims).flatMap(_ref9 => {
123
- let [namespace, claimName] = _ref9;
124
- return Object.entries(claimName).map(_ref10 => {
125
- let [claimNameKey, definition] = _ref10;
132
+ const attrDefinitions = Object.entries(claims).flatMap(_ref10 => {
133
+ let [namespace, claimName] = _ref10;
134
+ return Object.entries(claimName).map(_ref11 => {
135
+ let [claimNameKey, definition] = _ref11;
126
136
  return [namespace, claimNameKey, definition];
127
137
  });
128
138
  });
129
139
  if (!issuerSigned.nameSpaces) {
130
140
  throw new _errors.IoWalletError("Missing claims in the credential");
131
141
  }
132
- const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(_ref11 => {
133
- let [namespace, values] = _ref11;
142
+ const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(_ref12 => {
143
+ let [namespace, values] = _ref12;
134
144
  return values.map(v => [namespace, v.elementIdentifier, v.elementValue]);
135
145
  });
136
146
 
147
+ // Check that all mandatory attributes defined in the issuer configuration are present in the disclosure set
148
+ // and filter the non present ones
149
+ const attrsNotInDisclosures = attrDefinitions.filter(_ref13 => {
150
+ let [attrDefNamespace, attrKey, definition] = _ref13;
151
+ const isClaimPresent = flatNamespaces.find(_ref14 => {
152
+ let [namespace, name] = _ref14;
153
+ return attrDefNamespace === namespace && name === attrKey;
154
+ });
155
+ return isClaimPresent === undefined && definition.mandatory;
156
+ });
157
+ if (attrsNotInDisclosures.length > 0) {
158
+ const missing = attrsNotInDisclosures.map(_ => _[1 /* claim key */]).join(", ");
159
+ const received = flatNamespaces.map(_ => _[1 /*name*/]);
160
+ if (!ignoreMissingAttributes) {
161
+ throw new _errors.IoWalletError(`Some attributes are missing in the credential. Missing: [${missing}], received: [${received}]`);
162
+ }
163
+ }
164
+
137
165
  // Attributes defined in the issuer configuration and present in the disclosure set
138
166
  const definedValues = Object.fromEntries(attrDefinitions
139
167
  // Retrieve the value from the corresponding disclosure
140
- .map(_ref12 => {
168
+ .map(_ref15 => {
141
169
  var _flatNamespaces$find;
142
- let [attrDefNamespace, attrKey, definition] = _ref12;
170
+ let [attrDefNamespace, attrKey, definition] = _ref15;
143
171
  return [attrKey, {
144
172
  ...definition,
145
- value: (_flatNamespaces$find = flatNamespaces.find(_ref13 => {
146
- let [namespace, name] = _ref13;
173
+ value: (_flatNamespaces$find = flatNamespaces.find(_ref16 => {
174
+ let [namespace, name] = _ref16;
147
175
  return attrDefNamespace === namespace && name === attrKey;
148
176
  })) === null || _flatNamespaces$find === void 0 ? void 0 : _flatNamespaces$find[2]
149
177
  }];
150
178
  })
179
+ //filter the not found elements
180
+ .filter(_ref17 => {
181
+ let [_, definition] = _ref17;
182
+ return definition.value !== undefined;
183
+ })
151
184
  // Add a human-readable attribute name, with i18n, in the form { locale: name }
152
185
  // Example: { "it-IT": "Nome", "en-EN": "Name", "es-ES": "Nombre" }
153
- .map(_ref14 => {
186
+ .map(_ref18 => {
154
187
  let [attrKey, {
155
188
  display,
156
189
  ...definition
157
- }] = _ref14;
190
+ }] = _ref18;
158
191
  return [attrKey, {
159
192
  ...definition,
160
- name: display.reduce((names, _ref15) => {
193
+ name: display.reduce((names, _ref19) => {
161
194
  let {
162
195
  locale,
163
196
  name
164
- } = _ref15;
197
+ } = _ref19;
165
198
  return {
166
199
  ...names,
167
200
  [locale]: name
@@ -171,11 +204,11 @@ const parseCredentialMDoc = function (credentials_supported, credential_type, _r
171
204
  }));
172
205
  if (includeUndefinedAttributes) {
173
206
  // Attributes that are present in the disclosure set but not defined in the issuer configuration
174
- const undefinedValues = Object.fromEntries(flatNamespaces.filter(_ref16 => {
175
- let [, key] = _ref16;
207
+ const undefinedValues = Object.fromEntries(flatNamespaces.filter(_ref20 => {
208
+ let [, key] = _ref20;
176
209
  return !Object.keys(definedValues).includes(key);
177
- }).map(_ref17 => {
178
- let [, key, value] = _ref17;
210
+ }).map(_ref21 => {
211
+ let [, key, value] = _ref21;
179
212
  return [key, {
180
213
  value,
181
214
  name: key
@@ -204,6 +237,7 @@ const parseCredentialMDoc = function (credentials_supported, credential_type, _r
204
237
  * @throws If the holder binding is not properly configured
205
238
  *
206
239
  */
240
+ exports.parseCredentialMDoc = parseCredentialMDoc;
207
241
  async function verifyCredentialSdJwt(rawCredential, issuerKeys, holderBindingContext) {
208
242
  const [decodedCredential, holderBindingKey] =
209
243
  // parallel for optimization
@@ -263,12 +297,12 @@ async function verifyCredentialMDoc(rawCredential, issuerKeys, holderBindingCont
263
297
 
264
298
  // utility type that specialize VerifyAndParseCredential for given format
265
299
 
266
- const verifyAndParseCredentialSdJwt = async (issuerConf, credential, _, __, _ref18) => {
300
+ const verifyAndParseCredentialSdJwt = async (issuerConf, credential, _, __, _ref22) => {
267
301
  let {
268
302
  credentialCryptoContext,
269
303
  ignoreMissingAttributes,
270
304
  includeUndefinedAttributes
271
- } = _ref18;
305
+ } = _ref22;
272
306
  const decoded = await verifyCredentialSdJwt(credential, issuerConf.keys, credentialCryptoContext);
273
307
  const parsedCredential = parseCredentialSdJwt(issuerConf.credential_configurations_supported, decoded, ignoreMissingAttributes, includeUndefinedAttributes);
274
308
  const maybeIssuedAt = (0, _converters.getValueFromDisclosures)(decoded.disclosures, "iat");
@@ -278,14 +312,14 @@ const verifyAndParseCredentialSdJwt = async (issuerConf, credential, _, __, _ref
278
312
  issuedAt: typeof maybeIssuedAt === "number" ? new Date(maybeIssuedAt * 1000) : undefined
279
313
  };
280
314
  };
281
- const verifyAndParseCredentialMDoc = async (issuerConf, credential, _, credentialType, _ref19) => {
315
+ const verifyAndParseCredentialMDoc = async (issuerConf, credential, _, credentialType, _ref23) => {
282
316
  var _parsedCredential$exp, _parsedCredential$iss;
283
317
  let {
284
318
  credentialCryptoContext,
285
319
  ignoreMissingAttributes
286
- } = _ref19;
320
+ } = _ref23;
287
321
  const decoded = await verifyCredentialMDoc(credential, issuerConf.keys, credentialCryptoContext);
288
- const parsedCredential = parseCredentialMDoc(issuerConf.credential_configurations_supported, credentialType, decoded, ignoreMissingAttributes);
322
+ const parsedCredential = parseCredentialMDoc(issuerConf.credential_configurations_supported, credentialType, decoded, undefined, ignoreMissingAttributes);
289
323
  const expirationDate = (0, _converters2.extractElementValueAsDate)(parsedCredential === null || parsedCredential === void 0 || (_parsedCredential$exp = parsedCredential.expiry_date) === null || _parsedCredential$exp === void 0 ? void 0 : _parsedCredential$exp.value);
290
324
  if (!expirationDate) {
291
325
  throw new _errors.IoWalletError(`expirationDate must be present!!`);
@@ -1 +1 @@
1
- {"version":3,"names":["_errors","require","_types","_sdJwt","_mdoc","_converters","_converters2","parseCredentialSdJwt","credentials_supported","_ref","sdJwt","disclosures","ignoreMissingAttributes","arguments","length","undefined","includeUndefinedAttributes","credentialSubject","payload","vct","IoWalletError","format","header","typ","claims","attrDefinitions","Object","entries","attrsNotInDisclosures","filter","_ref2","attrKey","some","_ref3","name","missing","map","_","join","received","definedValues","fromEntries","_ref4","_disclosures$find","definition","value","find","_ref5","display","reduce","names","_ref6","locale","undefinedValues","keys","includes","_ref7","key","parseCredentialMDoc","credential_type","_ref8","issuerSigned","flatMap","_ref9","namespace","claimName","_ref10","claimNameKey","nameSpaces","flatNamespaces","_ref11","values","v","elementIdentifier","elementValue","_ref12","_flatNamespaces$find","attrDefNamespace","_ref13","_ref14","_ref15","_ref16","_ref17","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","verifySdJwt","SdJwt4VC","getPublicKey","cnf","jwk","kid","verifyCredentialMDoc","verifyMdoc","verifyAndParseCredentialSdJwt","issuerConf","credential","__","_ref18","credentialCryptoContext","decoded","parsedCredential","credential_configurations_supported","maybeIssuedAt","getValueFromDisclosures","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","credentialType","_ref19","_parsedCredential$exp","_parsedCredential$iss","expirationDate","extractElementValueAsDate","expiry_date","setDate","getDate","issue_date","verifyAndParseCredential","context","exports"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_errors","require","_types","_sdJwt","_mdoc","_converters","_converters2","parseCredentialSdJwt","credentials_supported","_ref","sdJwt","disclosures","ignoreMissingAttributes","arguments","length","undefined","includeUndefinedAttributes","credentialSubject","payload","vct","IoWalletError","format","header","typ","claims","attrDefinitions","Object","entries","attrsNotInDisclosures","filter","_ref2","attrKey","definition","some","_ref3","name","mandatory","missing","map","_","join","received","definedValues","fromEntries","_ref4","_disclosures$find","value","find","_ref5","_ref6","display","reduce","names","_ref7","locale","undefinedValues","keys","includes","_ref8","key","exports","parseCredentialMDoc","credential_type","_ref9","issuerSigned","flatMap","_ref10","namespace","claimName","_ref11","claimNameKey","nameSpaces","flatNamespaces","_ref12","values","v","elementIdentifier","elementValue","_ref13","attrDefNamespace","isClaimPresent","_ref14","_ref15","_flatNamespaces$find","_ref16","_ref17","_ref18","_ref19","_ref20","_ref21","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","verifySdJwt","SdJwt4VC","getPublicKey","cnf","jwk","kid","verifyCredentialMDoc","verifyMdoc","verifyAndParseCredentialSdJwt","issuerConf","credential","__","_ref22","credentialCryptoContext","decoded","parsedCredential","credential_configurations_supported","maybeIssuedAt","getValueFromDisclosures","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","credentialType","_ref23","_parsedCredential$exp","_parsedCredential$iss","expirationDate","extractElementValueAsDate","expiry_date","setDate","getDate","issue_date","verifyAndParseCredential","context"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.evaluateDcqlQuery = void 0;
7
+ var _dcql = require("dcql");
8
+ var _valibot = require("valibot");
9
+ var _sdJwt = require("../../sd-jwt");
10
+ var _errors = require("../../utils/errors");
11
+ var _errors2 = require("./errors");
12
+ var _ioReactNativeCbor = require("@pagopa/io-react-native-cbor");
13
+ /**
14
+ * The purpose for the credential request by the RP.
15
+ */
16
+
17
+ /**
18
+ * Convert a credential in SD-JWT format to an object with claims
19
+ * for correct parsing by the `dcql` library.
20
+ */
21
+ const mapCredentialSdJwtToObj = credentials => credentials.map(_ref => {
22
+ let [,, jwt] = _ref;
23
+ const {
24
+ sdJwt,
25
+ disclosures
26
+ } = (0, _sdJwt.decode)(jwt);
27
+ const credentialFormat = sdJwt.header.typ;
28
+ return {
29
+ vct: sdJwt.payload.vct,
30
+ credential_format: credentialFormat,
31
+ claims: disclosures.reduce((acc, disclosure) => ({
32
+ ...acc,
33
+ [disclosure.decoded[1]]: disclosure.decoded
34
+ }), {})
35
+ };
36
+ });
37
+
38
+ /**
39
+ * Convert a credential in Mdoc format to an object with claims
40
+ * for correct parsing by the `dcql` library.
41
+ */
42
+ const mapCredentialsMdocToObj = async credentialsMdoc => {
43
+ return await Promise.all(credentialsMdoc === null || credentialsMdoc === void 0 ? void 0 : credentialsMdoc.map(async _ref2 => {
44
+ let [type, _, credential] = _ref2;
45
+ const issuerSigned = credential ? await _ioReactNativeCbor.CBOR.decodeIssuerSigned(credential) : undefined;
46
+ if (!issuerSigned) {
47
+ throw new _errors2.CredentialNotFoundError("mso_mdoc credential is not present.");
48
+ }
49
+ const namespaces = Object.entries(issuerSigned.nameSpaces).reduce((acc, _ref3) => {
50
+ let [ns, nsClaims] = _ref3;
51
+ const flattenNsClaims = Object.entries(nsClaims).reduce((ac, _ref4) => {
52
+ let [, el] = _ref4;
53
+ return {
54
+ ...ac,
55
+ [el.elementIdentifier]: el.elementValue
56
+ };
57
+ }, {});
58
+ return {
59
+ ...acc,
60
+ [ns]: flattenNsClaims
61
+ };
62
+ }, {});
63
+ return {
64
+ credential_format: "mso_mdoc",
65
+ doctype: type,
66
+ namespaces
67
+ };
68
+ }));
69
+ };
70
+
71
+ /**
72
+ * Extract only successful matches from the DCQL query result.
73
+ */
74
+ const getDcqlQueryMatches = result => Object.entries(result.credential_matches).filter(_ref5 => {
75
+ let [, match] = _ref5;
76
+ return match.success === true;
77
+ });
78
+ const evaluateDcqlQuery = async (query, credentialsSdJwt, credentialsMdoc) => {
79
+ const credentials = [];
80
+ credentials.push(...mapCredentialSdJwtToObj(credentialsSdJwt));
81
+ credentials.push(...(await mapCredentialsMdocToObj(credentialsMdoc)));
82
+ try {
83
+ // Validate the query
84
+ const parsedQuery = _dcql.DcqlQuery.parse(query);
85
+ _dcql.DcqlQuery.validate(parsedQuery);
86
+ const queryResult = _dcql.DcqlQuery.query(parsedQuery, credentials);
87
+ if (!queryResult.canBeSatisfied) {
88
+ throw new Error("No credential can satisfy the provided DCQL query");
89
+ }
90
+ return getDcqlQueryMatches(queryResult).map(_ref6 => {
91
+ var _queryResult$credenti;
92
+ let [id, match] = _ref6;
93
+ const purposes = (_queryResult$credenti = queryResult.credential_sets) === null || _queryResult$credenti === void 0 || (_queryResult$credenti = _queryResult$credenti.filter(set => {
94
+ var _set$matching_options;
95
+ return (_set$matching_options = set.matching_options) === null || _set$matching_options === void 0 ? void 0 : _set$matching_options.flat().includes(id);
96
+ })) === null || _queryResult$credenti === void 0 ? void 0 : _queryResult$credenti.map(credentialSet => {
97
+ var _credentialSet$purpos;
98
+ return {
99
+ description: (_credentialSet$purpos = credentialSet.purpose) === null || _credentialSet$purpos === void 0 ? void 0 : _credentialSet$purpos.toString(),
100
+ required: Boolean(credentialSet.required)
101
+ };
102
+ });
103
+ if (match.output.credential_format === "vc+sd-jwt") {
104
+ const {
105
+ vct,
106
+ claims
107
+ } = match.output;
108
+ const [, keyTag, credential] = credentialsSdJwt.find(_ref7 => {
109
+ let [type] = _ref7;
110
+ return type === vct;
111
+ });
112
+ const requiredDisclosures = Object.values(claims);
113
+ return {
114
+ id,
115
+ vct,
116
+ keyTag,
117
+ format: match.output.credential_format,
118
+ credential,
119
+ requiredDisclosures,
120
+ // When it is a match but no credential_sets are found, the credential is required by default
121
+ // See https://openid.net/specs/openid-4-verifiable-presentations-1_0-24.html#section-6.3.1.2-2.1
122
+ purposes: purposes ?? [{
123
+ required: true
124
+ }]
125
+ };
126
+ }
127
+ if (match.output.credential_format === "mso_mdoc") {
128
+ const {
129
+ doctype,
130
+ namespaces
131
+ } = match.output;
132
+ const [, keyTag, credential] = credentialsMdoc.find(_ref8 => {
133
+ let [type] = _ref8;
134
+ return type === doctype;
135
+ });
136
+ const requiredDisclosures = Object.entries(namespaces).reduce((acc, _ref9) => {
137
+ let [ns, nsClaims] = _ref9;
138
+ return [...acc, ...Object.entries(nsClaims).map(_ref10 => {
139
+ let [claimName] = _ref10;
140
+ return {
141
+ namespace: ns,
142
+ name: claimName,
143
+ value: nsClaims[claimName]
144
+ };
145
+ })];
146
+ }, []);
147
+ return {
148
+ id,
149
+ keyTag,
150
+ format: match.output.credential_format,
151
+ credential,
152
+ requiredDisclosures,
153
+ // When it is a match but no credential_sets are found, the credential is required by default
154
+ // See https://openid.net/specs/openid-4-verifiable-presentations-1_0-24.html#section-6.3.1.2-2.1
155
+ purposes: purposes ?? [{
156
+ required: true
157
+ }],
158
+ doctype
159
+ };
160
+ }
161
+ throw new Error(`Unsupported credential format: ${match.output.credential_format}`);
162
+ });
163
+ } catch (error) {
164
+ // Invalid DCQL query structure
165
+ if ((0, _valibot.isValiError)(error)) {
166
+ throw new _errors.ValidationFailed({
167
+ message: "Invalid DCQL query",
168
+ reason: error.issues.map(issue => issue.message).join(", ")
169
+ });
170
+ }
171
+ if (error instanceof _dcql.DcqlError) {
172
+ // TODO [SIW-2110]: handle invalid DQCL query or let the error propagate
173
+ }
174
+ if (error instanceof _dcql.DcqlCredentialSetError) {
175
+ // TODO [SIW-2110]: handle missing credentials or let the error propagate
176
+ }
177
+ throw error;
178
+ }
179
+ };
180
+ exports.evaluateDcqlQuery = evaluateDcqlQuery;
181
+ //# sourceMappingURL=07-evaluate-dcql-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_dcql","require","_valibot","_sdJwt","_errors","_errors2","_ioReactNativeCbor","mapCredentialSdJwtToObj","credentials","map","_ref","jwt","sdJwt","disclosures","decode","credentialFormat","header","typ","vct","payload","credential_format","claims","reduce","acc","disclosure","decoded","mapCredentialsMdocToObj","credentialsMdoc","Promise","all","_ref2","type","_","credential","issuerSigned","CBOR","decodeIssuerSigned","undefined","CredentialNotFoundError","namespaces","Object","entries","nameSpaces","_ref3","ns","nsClaims","flattenNsClaims","ac","_ref4","el","elementIdentifier","elementValue","doctype","getDcqlQueryMatches","result","credential_matches","filter","_ref5","match","success","evaluateDcqlQuery","query","credentialsSdJwt","push","parsedQuery","DcqlQuery","parse","validate","queryResult","canBeSatisfied","Error","_ref6","_queryResult$credenti","id","purposes","credential_sets","set","_set$matching_options","matching_options","flat","includes","credentialSet","_credentialSet$purpos","description","purpose","toString","required","Boolean","output","keyTag","find","_ref7","requiredDisclosures","values","format","_ref8","_ref9","_ref10","claimName","namespace","name","value","error","isValiError","ValidationFailed","message","reason","issues","issue","join","DcqlError","DcqlCredentialSetError","exports"],"sourceRoot":"../../../../src","sources":["credential/presentation/07-evaluate-dcql-query.ts"],"mappings":"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"}
@@ -3,15 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.prepareRemotePresentations = exports.findCredentialSdJwt = exports.findCredentialMDoc = exports.evaluateInputDescriptors = exports.evaluateInputDescriptorForSdJwt4VC = exports.evaluateInputDescriptorForMdoc = exports.disclosureWithEncodedToEvaluatedDisclosure = void 0;
6
+ exports.findCredentialSdJwt = exports.findCredentialMDoc = exports.evaluateInputDescriptors = exports.evaluateInputDescriptorForSdJwt4VC = exports.evaluateInputDescriptorForMdoc = exports.disclosureWithEncodedToEvaluatedDisclosure = void 0;
7
7
  var _sdJwt = require("../../sd-jwt");
8
- var _crypto = require("../../utils/crypto");
9
8
  var _jsonpathPlus = require("jsonpath-plus");
10
9
  var _errors = require("./errors");
11
10
  var _ajv = _interopRequireDefault(require("ajv"));
12
11
  var _ioReactNativeCbor = require("@pagopa/io-react-native-cbor");
13
- var _mdoc = require("../../mdoc");
14
- var _misc = require("../../utils/misc");
15
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
13
  const ajv = new _ajv.default({
17
14
  allErrors: true
@@ -348,7 +345,7 @@ exports.findCredentialMDoc = findCredentialMDoc;
348
345
  const evaluateInputDescriptors = async (inputDescriptors, credentialsSdJwt, credentialsMdoc) => {
349
346
  // We need decode SD-JWT credentials for evaluation
350
347
  const decodedSdJwtCredentials = (credentialsSdJwt === null || credentialsSdJwt === void 0 ? void 0 : credentialsSdJwt.map(_ref3 => {
351
- let [keyTag, credential] = _ref3;
348
+ let [, keyTag, credential] = _ref3;
352
349
  const {
353
350
  sdJwt,
354
351
  disclosures
@@ -363,7 +360,7 @@ const evaluateInputDescriptors = async (inputDescriptors, credentialsSdJwt, cred
363
360
 
364
361
  // We need decode Mdoc credentials for evaluation
365
362
  const decodedMdocCredentials = (await Promise.all(credentialsMdoc === null || credentialsMdoc === void 0 ? void 0 : credentialsMdoc.map(async _ref4 => {
366
- let [keyTag, credential] = _ref4;
363
+ let [, keyTag, credential] = _ref4;
367
364
  const issuerSigned = await _ioReactNativeCbor.CBOR.decodeIssuerSigned(credential);
368
365
  if (!issuerSigned) {
369
366
  throw new _errors.CredentialNotFoundError("mso_mdoc credential is not present.");
@@ -412,66 +409,5 @@ const evaluateInputDescriptors = async (inputDescriptors, credentialsSdJwt, cred
412
409
  }));
413
410
  return results;
414
411
  };
415
-
416
- /**
417
- * Prepares remote presentations for a set of credentials based on input descriptors.
418
- *
419
- * For each credential and its corresponding input descriptor, this function:
420
- * - Validates the credential format.
421
- * - Generates a verifiable presentation token (vpToken) using the provided nonce and client identifier.
422
- *
423
- * @param credentialAndDescriptors - An array containing objects with requested claims,
424
- * input descriptor, credential, and keyTag.
425
- * @param nonce - A unique nonce for the verifiable presentation token.
426
- * @param client_id - The client identifier.
427
- * @returns A promise that resolves to an array of RemotePresentation objects.
428
- * @throws {CredentialNotFoundError} When the credential format is unsupported.
429
- */
430
412
  exports.evaluateInputDescriptors = evaluateInputDescriptors;
431
- const prepareRemotePresentations = async (credentialAndDescriptors, authRequestObject) => {
432
- /* In case of ISO 18013-7 we need a nonce, it shall have a minimum entropy of 16 */
433
- const generatedNonce = (0, _misc.generateRandomAlphaNumericString)(16);
434
- const presentations = await Promise.all(credentialAndDescriptors.map(async item => {
435
- var _descriptor$format3, _descriptor$format4;
436
- const descriptor = item.inputDescriptor;
437
- if ((_descriptor$format3 = descriptor.format) !== null && _descriptor$format3 !== void 0 && _descriptor$format3.mso_mdoc) {
438
- const {
439
- vp_token
440
- } = await (0, _mdoc.prepareVpTokenMdoc)(authRequestObject.nonce, generatedNonce, authRequestObject.clientId, authRequestObject.responseUri, descriptor.id, item.keyTag, [item.credential, item.requestedClaims, (0, _crypto.createCryptoContextFor)(item.keyTag)]);
441
- return {
442
- requestedClaims: [...item.requestedClaims.map(_ref5 => {
443
- let {
444
- name
445
- } = _ref5;
446
- return name;
447
- })],
448
- inputDescriptor: descriptor,
449
- vpToken: vp_token,
450
- format: "mso_mdoc"
451
- };
452
- }
453
- if ((_descriptor$format4 = descriptor.format) !== null && _descriptor$format4 !== void 0 && _descriptor$format4["vc+sd-jwt"]) {
454
- const {
455
- vp_token
456
- } = await (0, _sdJwt.prepareVpToken)(authRequestObject.nonce, authRequestObject.clientId, [item.credential, item.requestedClaims, (0, _crypto.createCryptoContextFor)(item.keyTag)]);
457
- return {
458
- requestedClaims: [...item.requestedClaims.map(_ref6 => {
459
- let {
460
- name
461
- } = _ref6;
462
- return name;
463
- })],
464
- inputDescriptor: descriptor,
465
- vpToken: vp_token,
466
- format: "vc+sd-jwt"
467
- };
468
- }
469
- throw new _errors.CredentialNotFoundError(`${descriptor.format} format is not supported.`);
470
- }));
471
- return {
472
- presentations,
473
- generatedNonce
474
- };
475
- };
476
- exports.prepareRemotePresentations = prepareRemotePresentations;
477
413
  //# sourceMappingURL=07-evaluate-input-descriptor.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_sdJwt","require","_crypto","_jsonpathPlus","_errors","_ajv","_interopRequireDefault","_ioReactNativeCbor","_mdoc","_misc","obj","__esModule","default","ajv","Ajv","allErrors","disclosureWithEncodedToEvaluatedDisclosure","disclosure","claimName","claimValue","decoded","name","value","exports","mapDisclosuresToObject","disclosures","reduce","_ref","mapNamespacesToObject","namespaces","Object","entries","_ref2","namespace","elements","fromEntries","map","element","elementIdentifier","elementValue","findMatchedClaim","paths","payload","matchedPath","matchedValue","some","singlePath","result","JSONPath","path","json","length","error","MissingDataError","extractClaimName","regex","match","Error","extractNamespaceAndClaimName","nameSpace","propertyName","evaluateInputDescriptorForMdoc","inputDescriptor","issuerSigned","_inputDescriptor$cons","constraints","fields","requiredDisclosures","optionalDisclosures","namespacesAsPayload","nameSpaces","allFieldsValid","every","field","undefined","optional","push","filter","validateSchema","compile","evaluateInputDescriptorForSdJwt4VC","payloadCredential","_inputDescriptor$cons2","disclosuresAsPayload","findCredentialSdJwt","decodedSdJwtCredentials","keyTag","credential","sdJwt","evaluatedDisclosure","matchedEvaluation","matchedKeyTag","matchedCredential","CredentialNotFoundError","findCredentialMDoc","decodedMDocCredentials","evaluateInputDescriptors","inputDescriptors","credentialsSdJwt","credentialsMdoc","_ref3","decode","decodedMdocCredentials","Promise","all","_ref4","CBOR","decodeIssuerSigned","results","descriptor","_descriptor$format","_descriptor$format2","format","mso_mdoc","prepareRemotePresentations","credentialAndDescriptors","authRequestObject","generatedNonce","generateRandomAlphaNumericString","presentations","item","_descriptor$format3","_descriptor$format4","vp_token","prepareVpTokenMdoc","nonce","clientId","responseUri","id","requestedClaims","createCryptoContextFor","_ref5","vpToken","prepareVpToken","_ref6"],"sourceRoot":"../../../../src","sources":["credential/presentation/07-evaluate-input-descriptor.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_sdJwt","require","_jsonpathPlus","_errors","_ajv","_interopRequireDefault","_ioReactNativeCbor","obj","__esModule","default","ajv","Ajv","allErrors","disclosureWithEncodedToEvaluatedDisclosure","disclosure","claimName","claimValue","decoded","name","value","exports","mapDisclosuresToObject","disclosures","reduce","_ref","mapNamespacesToObject","namespaces","Object","entries","_ref2","namespace","elements","fromEntries","map","element","elementIdentifier","elementValue","findMatchedClaim","paths","payload","matchedPath","matchedValue","some","singlePath","result","JSONPath","path","json","length","error","MissingDataError","extractClaimName","regex","match","Error","extractNamespaceAndClaimName","nameSpace","propertyName","evaluateInputDescriptorForMdoc","inputDescriptor","issuerSigned","_inputDescriptor$cons","constraints","fields","requiredDisclosures","optionalDisclosures","namespacesAsPayload","nameSpaces","allFieldsValid","every","field","undefined","optional","push","filter","validateSchema","compile","evaluateInputDescriptorForSdJwt4VC","payloadCredential","_inputDescriptor$cons2","disclosuresAsPayload","findCredentialSdJwt","decodedSdJwtCredentials","keyTag","credential","sdJwt","evaluatedDisclosure","matchedEvaluation","matchedKeyTag","matchedCredential","CredentialNotFoundError","findCredentialMDoc","decodedMDocCredentials","evaluateInputDescriptors","inputDescriptors","credentialsSdJwt","credentialsMdoc","_ref3","decode","decodedMdocCredentials","Promise","all","_ref4","CBOR","decodeIssuerSigned","results","descriptor","_descriptor$format","_descriptor$format2","format","mso_mdoc"],"sourceRoot":"../../../../src","sources":["credential/presentation/07-evaluate-input-descriptor.ts"],"mappings":"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"}