@pagopa/io-react-native-wallet 1.5.0 → 1.6.0

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 (58) hide show
  1. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +33 -21
  2. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  3. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +192 -58
  4. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  5. package/lib/commonjs/credential/presentation/08-send-authorization-response.js +32 -15
  6. package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
  7. package/lib/commonjs/credential/presentation/types.js +1 -1
  8. package/lib/commonjs/credential/presentation/types.js.map +1 -1
  9. package/lib/commonjs/entity/trust/chain.js.map +1 -1
  10. package/lib/commonjs/mdoc/index.js +45 -13
  11. package/lib/commonjs/mdoc/index.js.map +1 -1
  12. package/lib/commonjs/utils/crypto.js +70 -4
  13. package/lib/commonjs/utils/crypto.js.map +1 -1
  14. package/lib/commonjs/utils/string.js +4 -4
  15. package/lib/commonjs/utils/string.js.map +1 -1
  16. package/lib/module/credential/issuance/07-verify-and-parse-credential.js +33 -21
  17. package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  18. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +186 -55
  19. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  20. package/lib/module/credential/presentation/08-send-authorization-response.js +32 -15
  21. package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
  22. package/lib/module/credential/presentation/types.js +1 -1
  23. package/lib/module/credential/presentation/types.js.map +1 -1
  24. package/lib/module/entity/trust/chain.js.map +1 -1
  25. package/lib/module/mdoc/index.js +43 -12
  26. package/lib/module/mdoc/index.js.map +1 -1
  27. package/lib/module/utils/crypto.js +67 -2
  28. package/lib/module/utils/crypto.js.map +1 -1
  29. package/lib/module/utils/string.js +4 -4
  30. package/lib/module/utils/string.js.map +1 -1
  31. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts +1 -1
  32. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
  33. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts +49 -13
  34. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -1
  35. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts +3 -2
  36. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts.map +1 -1
  37. package/lib/typescript/credential/presentation/types.d.ts +10 -7
  38. package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
  39. package/lib/typescript/entity/trust/chain.d.ts.map +1 -1
  40. package/lib/typescript/mdoc/index.d.ts +6 -2
  41. package/lib/typescript/mdoc/index.d.ts.map +1 -1
  42. package/lib/typescript/utils/crypto.d.ts +8 -0
  43. package/lib/typescript/utils/crypto.d.ts.map +1 -1
  44. package/lib/typescript/utils/errors.d.ts.map +1 -1
  45. package/lib/typescript/utils/misc.d.ts.map +1 -1
  46. package/lib/typescript/utils/string.d.ts +3 -3
  47. package/lib/typescript/utils/string.d.ts.map +1 -1
  48. package/package.json +14 -12
  49. package/src/credential/issuance/07-verify-and-parse-credential.ts +37 -16
  50. package/src/credential/presentation/07-evaluate-input-descriptor.ts +278 -97
  51. package/src/credential/presentation/08-send-authorization-response.ts +35 -25
  52. package/src/credential/presentation/types.ts +9 -6
  53. package/src/entity/trust/chain.ts +14 -10
  54. package/src/mdoc/index.ts +72 -15
  55. package/src/utils/crypto.ts +61 -2
  56. package/src/utils/errors.ts +2 -2
  57. package/src/utils/misc.ts +2 -2
  58. package/src/utils/string.ts +4 -4
@@ -1 +1 @@
1
- {"version":3,"names":["IoWalletError","SdJwt4VC","verify","verifySdJwt","verifyMdoc","getValueFromDisclosures","extractElementValueAsDate","parseCredentialSdJwt","credentials_supported","_ref","sdJwt","disclosures","ignoreMissingAttributes","arguments","length","undefined","includeUndefinedAttributes","credentialSubject","payload","vct","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","_ref8","mDoc","docType","flatMap","_ref9","namespace","claimName","_ref10","claimNameKey","issuerSigned","nameSpaces","flatNamespaces","_ref11","values","v","elementIdentifier","elementValue","_ref12","_flatNamespaces$find","attrDefNamespace","_ref13","_ref14","_ref15","_ref16","_ref17","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","getPublicKey","cnf","jwk","kid","verifyCredentialMDoc","verifyAndParseCredentialSdJwt","issuerConf","credential","_ref18","credentialCryptoContext","decoded","parsedCredential","credential_configurations_supported","maybeIssuedAt","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","_ref19","_parsedCredential$exp","_parsedCredential$iss","expirationDate","expiry_date","setDate","getDate","issue_date","verifyAndParseCredential","context"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
1
+ {"version":3,"names":["IoWalletError","SdJwt4VC","verify","verifySdJwt","verifyMdoc","getValueFromDisclosures","extractElementValueAsDate","parseCredentialSdJwt","credentials_supported","_ref","sdJwt","disclosures","ignoreMissingAttributes","arguments","length","undefined","includeUndefinedAttributes","credentialSubject","payload","vct","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","getPublicKey","cnf","jwk","kid","verifyCredentialMDoc","verifyAndParseCredentialSdJwt","issuerConf","credential","__","_ref18","credentialCryptoContext","decoded","parsedCredential","credential_configurations_supported","maybeIssuedAt","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","credentialType","_ref19","_parsedCredential$exp","_parsedCredential$iss","expirationDate","expiry_date","setDate","getDate","issue_date","verifyAndParseCredential","context"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
@@ -3,12 +3,19 @@ import { createCryptoContextFor } from "../../utils/crypto";
3
3
  import { JSONPath } from "jsonpath-plus";
4
4
  import { MissingDataError, CredentialNotFoundError } from "./errors";
5
5
  import Ajv from "ajv";
6
- import { base64ToBase64Url } from "../../utils/string";
7
6
  import { CBOR } from "@pagopa/io-react-native-cbor";
7
+ import { prepareVpTokenMdoc } from "../../mdoc";
8
+ import { generateRandomAlphaNumericString } from "../../utils/misc";
8
9
  const ajv = new Ajv({
9
10
  allErrors: true
10
11
  });
11
- const INDEX_CLAIM_NAME = 1;
12
+ export const disclosureWithEncodedToEvaluatedDisclosure = disclosure => {
13
+ const [, claimName, claimValue] = disclosure.decoded;
14
+ return {
15
+ name: claimName,
16
+ value: claimValue
17
+ };
18
+ };
12
19
  /**
13
20
  * Transforms an array of DisclosureWithEncoded objects into a key-value map.
14
21
  * @param disclosures - An array of DisclosureWithEncoded, each containing a decoded property with [?, claimName, claimValue].
@@ -25,6 +32,22 @@ const mapDisclosuresToObject = disclosures => {
25
32
  }, {});
26
33
  };
27
34
 
35
+ /**
36
+ * Transforms the issuer's namespaces from a CBOR structure into a plain JavaScript object.
37
+ *
38
+ * @param namespaces - The CBOR-based namespaces object where each key corresponds to a namespace,
39
+ * and each value is an array of elements containing identifiers and values.
40
+ * @returns A record (plain object) where each key is a namespace, and its value is another object
41
+ * mapping element identifiers to their corresponding element values.
42
+ */
43
+ const mapNamespacesToObject = namespaces => {
44
+ return Object.entries(namespaces).reduce((obj, _ref2) => {
45
+ let [namespace, elements] = _ref2;
46
+ obj[namespace] = Object.fromEntries(elements.map(element => [element.elementIdentifier, element.elementValue]));
47
+ return obj;
48
+ }, {});
49
+ };
50
+
28
51
  /**
29
52
  * Finds a claim within the payload based on provided JSONPath expressions.
30
53
  * @param paths - An array of JSONPath expressions to search for in the payload.
@@ -72,10 +95,91 @@ const extractClaimName = path => {
72
95
  // match[2] corresponds to the second capture group (\w+) inside [""] or ['']
73
96
  return match[1] || match[2];
74
97
  }
98
+ throw new Error(`Invalid input format: "${path}". Expected formats are "$.propertyName", "$['propertyName']", or '$["propertyName"]'.`);
99
+ };
75
100
 
76
- // If the input doesn't match any of the expected formats, return null
101
+ /**
102
+ * Extracts the namespace and claim name from a path in the following format:
103
+ * $['nameSpace']['propertyName']
104
+ *
105
+ * @param path - The path string containing the claim reference.
106
+ * @returns An object with the extracted namespace and claim name.
107
+ * @throws An error if the input format is invalid.
108
+ */
109
+ const extractNamespaceAndClaimName = path => {
110
+ const regex = /^\$\[(?:'|")([^'"\]]+)(?:'|")\]\[(?:'|")([^'"\]]+)(?:'|")\]$/;
111
+ const match = path.match(regex);
112
+ if (match) {
113
+ return {
114
+ nameSpace: match[1],
115
+ propertyName: match[2]
116
+ };
117
+ }
118
+ throw new Error(`Invalid input format: "${path}". Expected format is "$['nameSpace']['propertyName']".`);
119
+ };
120
+ /**
121
+ * Evaluates the input descriptor for an mDoc by verifying that the issuerSigned claims meet
122
+ * the constraints defined in the input descriptor. It categorizes disclosures as either required
123
+ * or optional based on the field definitions.
124
+ *
125
+ * @param inputDescriptor - Contains constraints and field definitions specifying required/optional claims.
126
+ * @param issuerSigned - Contains the issuerSigned with namespaces and their associated claims.
127
+ * @returns An object with two arrays: one for required disclosures and one for optional disclosures.
128
+ * @throws MissingDataError - If a required field is missing or if a claim fails JSON Schema validation.
129
+ */
130
+ export const evaluateInputDescriptorForMdoc = (inputDescriptor, issuerSigned) => {
131
+ var _inputDescriptor$cons;
132
+ if (!(inputDescriptor !== null && inputDescriptor !== void 0 && (_inputDescriptor$cons = inputDescriptor.constraints) !== null && _inputDescriptor$cons !== void 0 && _inputDescriptor$cons.fields)) {
133
+ // No validation, no field are required
134
+ return {
135
+ requiredDisclosures: [],
136
+ optionalDisclosures: []
137
+ };
138
+ }
139
+ const requiredDisclosures = [];
140
+ const optionalDisclosures = [];
77
141
 
78
- throw new Error(`Invalid input format: "${path}". Expected formats are "$.propertyName", "$['propertyName']", or '$["propertyName"]'.`);
142
+ // Convert issuer's namespaces into an object for easier lookup of claim values.
143
+ const namespacesAsPayload = mapNamespacesToObject(issuerSigned.nameSpaces);
144
+ const allFieldsValid = inputDescriptor.constraints.fields.every(field => {
145
+ const [matchedPath, matchedValue] = findMatchedClaim(field.path, namespacesAsPayload);
146
+
147
+ // If no matching claim is found, the field is valid only if it's marked as optional.
148
+ if (matchedValue === undefined || !matchedPath) {
149
+ return field === null || field === void 0 ? void 0 : field.optional;
150
+ } else {
151
+ // Extract the namespace and property name from the matched path.
152
+ const {
153
+ nameSpace,
154
+ propertyName
155
+ } = extractNamespaceAndClaimName(matchedPath);
156
+ if (nameSpace && propertyName) {
157
+ (field !== null && field !== void 0 && field.optional ? optionalDisclosures : requiredDisclosures).push({
158
+ namespace: nameSpace,
159
+ name: propertyName,
160
+ value: matchedValue
161
+ });
162
+ }
163
+ }
164
+ if (field.filter) {
165
+ try {
166
+ const validateSchema = ajv.compile(field.filter);
167
+ if (!validateSchema(matchedValue)) {
168
+ throw new MissingDataError(`Claim value "${matchedValue}" for path "${matchedPath}" does not match the provided JSON Schema.`);
169
+ }
170
+ } catch (error) {
171
+ return false;
172
+ }
173
+ }
174
+ return true;
175
+ });
176
+ if (!allFieldsValid) {
177
+ throw new MissingDataError("Credential validation failed: Required fields are missing or do not match the input descriptor.");
178
+ }
179
+ return {
180
+ requiredDisclosures,
181
+ optionalDisclosures
182
+ };
79
183
  };
80
184
 
81
185
  /**
@@ -86,30 +190,27 @@ const extractClaimName = path => {
86
190
  * - Validates whether required fields are present (unless marked optional)
87
191
  * and match any specified JSONPath.
88
192
  * - If a field includes a JSON Schema filter, validates the claim value against that schema.
89
- * - Enforces `limit_disclosure` rules by returning only disclosures, required and optional, matching the specified fields
90
- * if set to "required". Otherwise also return the array unrequestedDisclosures with disclosures which can be passed for a particular use case.
91
193
  * - Throws an error if a required field is invalid or missing.
92
194
  *
93
195
  * @param inputDescriptor - Describes constraints (fields, filters, etc.) that must be satisfied.
94
196
  * @param payloadCredential - The credential payload to check against.
95
197
  * @param disclosures - An array of DisclosureWithEncoded objects representing selective disclosures.
96
- * @returns A filtered list of disclosures satisfying the descriptor constraints, or throws an error if not.
198
+ * @returns An object with two arrays: one for required disclosures and one for optional disclosures.
97
199
  * @throws Will throw an error if any required constraint fails or if JSONPath lookups are invalid.
98
200
  */
99
201
  export const evaluateInputDescriptorForSdJwt4VC = (inputDescriptor, payloadCredential, disclosures) => {
100
- var _inputDescriptor$cons;
101
- if (!(inputDescriptor !== null && inputDescriptor !== void 0 && (_inputDescriptor$cons = inputDescriptor.constraints) !== null && _inputDescriptor$cons !== void 0 && _inputDescriptor$cons.fields)) {
202
+ var _inputDescriptor$cons2;
203
+ if (!(inputDescriptor !== null && inputDescriptor !== void 0 && (_inputDescriptor$cons2 = inputDescriptor.constraints) !== null && _inputDescriptor$cons2 !== void 0 && _inputDescriptor$cons2.fields)) {
102
204
  // No validation, all field are optional
103
205
  return {
104
206
  requiredDisclosures: [],
105
- optionalDisclosures: [],
106
- unrequestedDisclosures: disclosures
207
+ optionalDisclosures: []
107
208
  };
108
209
  }
109
- const requiredClaimNames = [];
110
- const optionalClaimNames = [];
210
+ const requiredDisclosures = [];
211
+ const optionalDisclosures = [];
111
212
 
112
- // Transform disclosures to find claim using JSONPath
213
+ // Transform disclosures into an object for easier lookup of claim values.
113
214
  const disclosuresAsPayload = mapDisclosuresToObject(disclosures);
114
215
 
115
216
  // For each field, we need at least one matching path
@@ -129,7 +230,10 @@ export const evaluateInputDescriptorForSdJwt4VC = (inputDescriptor, payloadCrede
129
230
  // if match a disclouse we save which is required or optional
130
231
  const claimName = extractClaimName(matchedPath);
131
232
  if (claimName) {
132
- (field !== null && field !== void 0 && field.optional ? optionalClaimNames : requiredClaimNames).push(claimName);
233
+ (field !== null && field !== void 0 && field.optional ? optionalDisclosures : requiredDisclosures).push({
234
+ value: matchedValue,
235
+ name: claimName
236
+ });
133
237
  }
134
238
  }
135
239
 
@@ -153,19 +257,12 @@ export const evaluateInputDescriptorForSdJwt4VC = (inputDescriptor, payloadCrede
153
257
  if (!allFieldsValid) {
154
258
  throw new MissingDataError("Credential validation failed: Required fields are missing or do not match the input descriptor.");
155
259
  }
156
-
157
- // Categorizes disclosures into required and optional based on claim names and disclosure constraints.
158
-
159
- const requiredDisclosures = disclosures.filter(disclosure => requiredClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME]));
160
- const optionalDisclosures = disclosures.filter(disclosure => optionalClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME]));
161
- const isNotLimitDisclosure = !(inputDescriptor.constraints.limit_disclosure === "required");
162
- const unrequestedDisclosures = isNotLimitDisclosure ? disclosures.filter(disclosure => !optionalClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME]) && !requiredClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME])) : [];
163
260
  return {
164
261
  requiredDisclosures,
165
- optionalDisclosures,
166
- unrequestedDisclosures
262
+ optionalDisclosures
167
263
  };
168
264
  };
265
+
169
266
  /**
170
267
  * Finds the first credential that satisfies the input descriptor constraints.
171
268
  * @param inputDescriptor The input descriptor to evaluate.
@@ -194,6 +291,33 @@ export const findCredentialSdJwt = (inputDescriptor, decodedSdJwtCredentials) =>
194
291
  throw new CredentialNotFoundError("None of the vc+sd-jwt credentials satisfy the requirements.");
195
292
  };
196
293
 
294
+ /**
295
+ * Finds the first credential that satisfies the input descriptor constraints.
296
+ * @param inputDescriptor The input descriptor to evaluate.
297
+ * @param decodedMdocCredentials An array of decoded MDOC credentials.
298
+ * @returns An object containing the matched evaluation, keyTag, and credential.
299
+ */
300
+ export const findCredentialMDoc = (inputDescriptor, decodedMDocCredentials) => {
301
+ for (const {
302
+ keyTag,
303
+ credential,
304
+ issuerSigned
305
+ } of decodedMDocCredentials) {
306
+ try {
307
+ const evaluatedDisclosure = evaluateInputDescriptorForMdoc(inputDescriptor, issuerSigned);
308
+ return {
309
+ matchedEvaluation: evaluatedDisclosure,
310
+ matchedKeyTag: keyTag,
311
+ matchedCredential: credential
312
+ };
313
+ } catch {
314
+ // skip to next credential
315
+ continue;
316
+ }
317
+ }
318
+ throw new CredentialNotFoundError("None of the mso_mdoc credentials satisfy the requirements.");
319
+ };
320
+
197
321
  /**
198
322
  * Evaluates multiple input descriptors against provided SD-JWT and MDOC credentials.
199
323
  *
@@ -211,8 +335,8 @@ export const findCredentialSdJwt = (inputDescriptor, decodedSdJwtCredentials) =>
211
335
  */
212
336
  export const evaluateInputDescriptors = async (inputDescriptors, credentialsSdJwt, credentialsMdoc) => {
213
337
  // We need decode SD-JWT credentials for evaluation
214
- const decodedSdJwtCredentials = (credentialsSdJwt === null || credentialsSdJwt === void 0 ? void 0 : credentialsSdJwt.map(_ref2 => {
215
- let [keyTag, credential] = _ref2;
338
+ const decodedSdJwtCredentials = (credentialsSdJwt === null || credentialsSdJwt === void 0 ? void 0 : credentialsSdJwt.map(_ref3 => {
339
+ let [keyTag, credential] = _ref3;
216
340
  const {
217
341
  sdJwt,
218
342
  disclosures
@@ -224,38 +348,36 @@ export const evaluateInputDescriptors = async (inputDescriptors, credentialsSdJw
224
348
  disclosures
225
349
  };
226
350
  })) || [];
351
+
352
+ // We need decode Mdoc credentials for evaluation
353
+ const decodedMdocCredentials = (await Promise.all(credentialsMdoc === null || credentialsMdoc === void 0 ? void 0 : credentialsMdoc.map(async _ref4 => {
354
+ let [keyTag, credential] = _ref4;
355
+ const issuerSigned = await CBOR.decodeIssuerSigned(credential);
356
+ if (!issuerSigned) {
357
+ throw new CredentialNotFoundError("mso_mdoc credential is not present.");
358
+ }
359
+ return {
360
+ keyTag,
361
+ credential,
362
+ issuerSigned
363
+ };
364
+ }))) || [];
227
365
  const results = Promise.all(inputDescriptors.map(async descriptor => {
228
366
  var _descriptor$format, _descriptor$format2;
229
367
  if ((_descriptor$format = descriptor.format) !== null && _descriptor$format !== void 0 && _descriptor$format.mso_mdoc) {
230
- if (!credentialsMdoc || !credentialsMdoc[0]) {
368
+ if (!credentialsMdoc.length) {
231
369
  throw new CredentialNotFoundError("mso_mdoc credential is not supported.");
232
370
  }
233
- /**
234
- * The current implementation for the "mso_mdoc" format is temporary and always returns the first credential (mDL).
235
- * [WLEO-266] This will be replaced with the real implementation once the evaluateInputDescriptorForMdoc function is available.
236
- **/
237
- const [keyTag, credential] = credentialsMdoc[0];
238
- const mdoc = await CBOR.decodeDocuments(credential);
239
- if (!mdoc || !mdoc.documents || !mdoc.documents[0]) {
240
- throw new CredentialNotFoundError("mso_mdoc credential is not present.");
241
- }
242
- const document = mdoc.documents[0];
243
- // We set requiredDisclosures to all the elements in the document, as we don't have a real implementation for this yet.
371
+ const {
372
+ matchedEvaluation,
373
+ matchedKeyTag,
374
+ matchedCredential
375
+ } = findCredentialMDoc(descriptor, decodedMdocCredentials);
244
376
  return {
245
- evaluatedDisclosure: {
246
- requiredDisclosures: Object.entries(document.issuerSigned.nameSpaces).flatMap(_ref3 => {
247
- let [, elements] = _ref3;
248
- return elements.map(element => ({
249
- encoded: "",
250
- decoded: ["", element.elementIdentifier, element.elementValue]
251
- }));
252
- }),
253
- optionalDisclosures: [],
254
- unrequestedDisclosures: []
255
- },
377
+ evaluatedDisclosure: matchedEvaluation,
256
378
  inputDescriptor: descriptor,
257
- credential,
258
- keyTag
379
+ credential: matchedCredential,
380
+ keyTag: matchedKeyTag
259
381
  };
260
382
  }
261
383
  if ((_descriptor$format2 = descriptor.format) !== null && _descriptor$format2 !== void 0 && _descriptor$format2["vc+sd-jwt"]) {
@@ -293,22 +415,27 @@ export const evaluateInputDescriptors = async (inputDescriptors, credentialsSdJw
293
415
  * @returns A promise that resolves to an array of RemotePresentation objects.
294
416
  * @throws {CredentialNotFoundError} When the credential format is unsupported.
295
417
  */
296
- export const prepareRemotePresentations = async (credentialAndDescriptors, nonce, client_id) => {
297
- return Promise.all(credentialAndDescriptors.map(async item => {
418
+ export const prepareRemotePresentations = async (credentialAndDescriptors, authRequestObject) => {
419
+ /* In case of ISO 18013-7 we need a nonce, it shall have a minimum entropy of 16 */
420
+ const generatedNonce = generateRandomAlphaNumericString(16);
421
+ const presentations = await Promise.all(credentialAndDescriptors.map(async item => {
298
422
  var _descriptor$format3, _descriptor$format4;
299
423
  const descriptor = item.inputDescriptor;
300
424
  if ((_descriptor$format3 = descriptor.format) !== null && _descriptor$format3 !== void 0 && _descriptor$format3.mso_mdoc) {
425
+ const {
426
+ vp_token
427
+ } = await prepareVpTokenMdoc(authRequestObject.nonce, generatedNonce, authRequestObject.clientId, authRequestObject.responseUri, descriptor.id, item.keyTag, [item.credential, item.requestedClaims, createCryptoContextFor(item.keyTag)]);
301
428
  return {
302
429
  requestedClaims: item.requestedClaims,
303
430
  inputDescriptor: descriptor,
304
- vpToken: base64ToBase64Url(item.credential),
431
+ vpToken: vp_token,
305
432
  format: "mso_mdoc"
306
433
  };
307
434
  }
308
435
  if ((_descriptor$format4 = descriptor.format) !== null && _descriptor$format4 !== void 0 && _descriptor$format4["vc+sd-jwt"]) {
309
436
  const {
310
437
  vp_token
311
- } = await prepareVpToken(nonce, client_id, [item.credential, item.requestedClaims, createCryptoContextFor(item.keyTag)]);
438
+ } = await prepareVpToken(authRequestObject.nonce, authRequestObject.clientId, [item.credential, item.requestedClaims, createCryptoContextFor(item.keyTag)]);
312
439
  return {
313
440
  requestedClaims: item.requestedClaims,
314
441
  inputDescriptor: descriptor,
@@ -318,5 +445,9 @@ export const prepareRemotePresentations = async (credentialAndDescriptors, nonce
318
445
  }
319
446
  throw new CredentialNotFoundError(`${descriptor.format} format is not supported.`);
320
447
  }));
448
+ return {
449
+ presentations,
450
+ generatedNonce
451
+ };
321
452
  };
322
453
  //# sourceMappingURL=07-evaluate-input-descriptor.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["decode","prepareVpToken","createCryptoContextFor","JSONPath","MissingDataError","CredentialNotFoundError","Ajv","base64ToBase64Url","CBOR","ajv","allErrors","INDEX_CLAIM_NAME","mapDisclosuresToObject","disclosures","reduce","obj","_ref","decoded","claimName","claimValue","findMatchedClaim","paths","payload","matchedPath","matchedValue","some","singlePath","result","path","json","length","error","extractClaimName","regex","match","Error","evaluateInputDescriptorForSdJwt4VC","inputDescriptor","payloadCredential","_inputDescriptor$cons","constraints","fields","requiredDisclosures","optionalDisclosures","unrequestedDisclosures","requiredClaimNames","optionalClaimNames","disclosuresAsPayload","allFieldsValid","every","field","optional","push","filter","validateSchema","compile","disclosure","includes","isNotLimitDisclosure","limit_disclosure","findCredentialSdJwt","decodedSdJwtCredentials","keyTag","credential","sdJwt","evaluatedDisclosure","matchedEvaluation","matchedKeyTag","matchedCredential","evaluateInputDescriptors","inputDescriptors","credentialsSdJwt","credentialsMdoc","map","_ref2","results","Promise","all","descriptor","_descriptor$format","_descriptor$format2","format","mso_mdoc","mdoc","decodeDocuments","documents","document","Object","entries","issuerSigned","nameSpaces","flatMap","_ref3","elements","element","encoded","elementIdentifier","elementValue","prepareRemotePresentations","credentialAndDescriptors","nonce","client_id","item","_descriptor$format3","_descriptor$format4","requestedClaims","vpToken","vp_token"],"sourceRoot":"../../../../src","sources":["credential/presentation/07-evaluate-input-descriptor.ts"],"mappings":"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"}
1
+ {"version":3,"names":["decode","prepareVpToken","createCryptoContextFor","JSONPath","MissingDataError","CredentialNotFoundError","Ajv","CBOR","prepareVpTokenMdoc","generateRandomAlphaNumericString","ajv","allErrors","disclosureWithEncodedToEvaluatedDisclosure","disclosure","claimName","claimValue","decoded","name","value","mapDisclosuresToObject","disclosures","reduce","obj","_ref","mapNamespacesToObject","namespaces","Object","entries","_ref2","namespace","elements","fromEntries","map","element","elementIdentifier","elementValue","findMatchedClaim","paths","payload","matchedPath","matchedValue","some","singlePath","result","path","json","length","error","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","findCredentialMDoc","decodedMDocCredentials","evaluateInputDescriptors","inputDescriptors","credentialsSdJwt","credentialsMdoc","_ref3","decodedMdocCredentials","Promise","all","_ref4","decodeIssuerSigned","results","descriptor","_descriptor$format","_descriptor$format2","format","mso_mdoc","prepareRemotePresentations","credentialAndDescriptors","authRequestObject","generatedNonce","presentations","item","_descriptor$format3","_descriptor$format4","vp_token","nonce","clientId","responseUri","id","requestedClaims","vpToken"],"sourceRoot":"../../../../src","sources":["credential/presentation/07-evaluate-input-descriptor.ts"],"mappings":"AACA,SAASA,MAAM,EAAEC,cAAc,QAAQ,cAAc;AAErD,SAASC,sBAAsB,QAAQ,oBAAoB;AAC3D,SAASC,QAAQ,QAAQ,eAAe;AACxC,SAASC,gBAAgB,EAAEC,uBAAuB,QAAQ,UAAU;AACpE,OAAOC,GAAG,MAAM,KAAK;AACrB,SAASC,IAAI,QAAQ,8BAA8B;AACnD,SAASC,kBAAkB,QAAQ,YAAY;AAC/C,SAASC,gCAAgC,QAAQ,kBAAkB;AAEnE,MAAMC,GAAG,GAAG,IAAIJ,GAAG,CAAC;EAAEK,SAAS,EAAE;AAAK,CAAC,CAAC;AAmDxC,OAAO,MAAMC,0CAA0C,GACrDC,UAAiC,IACT;EACxB,MAAM,GAAGC,SAAS,EAAEC,UAAU,CAAC,GAAGF,UAAU,CAACG,OAAO;EACpD,OAAO;IACLC,IAAI,EAAEH,SAAS;IACfI,KAAK,EAAEH;EACT,CAAC;AACH,CAAC;AAeD;AACA;AACA;AACA;AACA;AACA,MAAMI,sBAAsB,GAC1BC,WAAoC,IACR;EAC5B,OAAOA,WAAW,CAACC,MAAM,CACvB,CAACC,GAAG,EAAAC,IAAA,KAAkB;IAAA,IAAhB;MAAEP;IAAQ,CAAC,GAAAO,IAAA;IACf,MAAM,GAAGT,SAAS,EAAEC,UAAU,CAAC,GAAGC,OAAO;IACzCM,GAAG,CAACR,SAAS,CAAC,GAAGC,UAAU;IAC3B,OAAOO,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,qBAAqB,GACzBC,UAA2C,IACf;EAC5B,OAAOC,MAAM,CAACC,OAAO,CAACF,UAAU,CAAC,CAACJ,MAAM,CACtC,CAACC,GAAG,EAAAM,KAAA,KAA4B;IAAA,IAA1B,CAACC,SAAS,EAAEC,QAAQ,CAAC,GAAAF,KAAA;IACzBN,GAAG,CAACO,SAAS,CAAC,GAAGH,MAAM,CAACK,WAAW,CACjCD,QAAQ,CAACE,GAAG,CAAEC,OAAO,IAAK,CACxBA,OAAO,CAACC,iBAAiB,EACzBD,OAAO,CAACE,YAAY,CACrB,CACH,CAAC;IACD,OAAOb,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMc,gBAAgB,GAAGA,CACvBC,KAAe,EACfC,OAAY,KACW;EACvB,IAAIC,WAAW;EACf,IAAIC,YAAY;EAChBH,KAAK,CAACI,IAAI,CAAEC,UAAU,IAAK;IACzB,IAAI;MACF,MAAMC,MAAM,GAAGxC,QAAQ,CAAC;QAAEyC,IAAI,EAAEF,UAAU;QAAEG,IAAI,EAAEP;MAAQ,CAAC,CAAC;MAC5D,IAAIK,MAAM,CAACG,MAAM,GAAG,CAAC,EAAE;QACrBP,WAAW,GAAGG,UAAU;QACxBF,YAAY,GAAGG,MAAM,CAAC,CAAC,CAAC;QACxB,OAAO,IAAI;MACb;IACF,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd,MAAM,IAAI3C,gBAAgB,CACvB,iBAAgBsC,UAAW,wCAC9B,CAAC;IACH;IACA,OAAO,KAAK;EACd,CAAC,CAAC;EAEF,OAAO,CAACH,WAAW,EAAEC,YAAY,CAAC;AACpC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMQ,gBAAgB,GAAIJ,IAAY,IAAyB;EAC7D;EACA;EACA;EACA,MAAMK,KAAK,GAAG,yCAAyC;EAEvD,MAAMC,KAAK,GAAGN,IAAI,CAACM,KAAK,CAACD,KAAK,CAAC;EAC/B,IAAIC,KAAK,EAAE;IACT;IACA;IACA,OAAOA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC;EAC7B;EAEA,MAAM,IAAIC,KAAK,CACZ,0BAAyBP,IAAK,wFACjC,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMQ,4BAA4B,GAChCR,IAAY,IACsC;EAClD,MAAMK,KAAK,GAAG,8DAA8D;EAC5E,MAAMC,KAAK,GAAGN,IAAI,CAACM,KAAK,CAACD,KAAK,CAAC;EAC/B,IAAIC,KAAK,EAAE;IACT,OAAO;MAAEG,SAAS,EAAEH,KAAK,CAAC,CAAC,CAAC;MAAEI,YAAY,EAAEJ,KAAK,CAAC,CAAC;IAAE,CAAC;EACxD;EAEA,MAAM,IAAIC,KAAK,CACZ,0BAAyBP,IAAK,yDACjC,CAAC;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMW,8BAA2D,GAAGA,CACzEC,eAAe,EACfC,YAAY,KACT;EAAA,IAAAC,qBAAA;EACH,IAAI,EAACF,eAAe,aAAfA,eAAe,gBAAAE,qBAAA,GAAfF,eAAe,CAAEG,WAAW,cAAAD,qBAAA,eAA5BA,qBAAA,CAA8BE,MAAM,GAAE;IACzC;IACA,OAAO;MACLC,mBAAmB,EAAE,EAAE;MACvBC,mBAAmB,EAAE;IACvB,CAAC;EACH;EAEA,MAAMD,mBAA0C,GAAG,EAAE;EACrD,MAAMC,mBAA0C,GAAG,EAAE;;EAErD;EACA,MAAMC,mBAAmB,GAAGvC,qBAAqB,CAACiC,YAAY,CAACO,UAAU,CAAC;EAE1E,MAAMC,cAAc,GAAGT,eAAe,CAACG,WAAW,CAACC,MAAM,CAACM,KAAK,CAAEC,KAAK,IAAK;IACzE,MAAM,CAAC5B,WAAW,EAAEC,YAAY,CAAC,GAAGJ,gBAAgB,CAClD+B,KAAK,CAACvB,IAAI,EACVmB,mBACF,CAAC;;IAED;IACA,IAAIvB,YAAY,KAAK4B,SAAS,IAAI,CAAC7B,WAAW,EAAE;MAC9C,OAAO4B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,QAAQ;IACxB,CAAC,MAAM;MACL;MACA,MAAM;QAAEhB,SAAS;QAAEC;MAAa,CAAC,GAC/BF,4BAA4B,CAACb,WAAW,CAAC;MAC3C,IAAIc,SAAS,IAAIC,YAAY,EAAE;QAC7B,CAACa,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEE,QAAQ,GAAGP,mBAAmB,GAAGD,mBAAmB,EAAES,IAAI,CAAC;UACjEzC,SAAS,EAAEwB,SAAS;UACpBpC,IAAI,EAAEqC,YAAY;UAClBpC,KAAK,EAAEsB;QACT,CAAC,CAAC;MACJ;IACF;IAEA,IAAI2B,KAAK,CAACI,MAAM,EAAE;MAChB,IAAI;QACF,MAAMC,cAAc,GAAG9D,GAAG,CAAC+D,OAAO,CAACN,KAAK,CAACI,MAAM,CAAC;QAChD,IAAI,CAACC,cAAc,CAAChC,YAAY,CAAC,EAAE;UACjC,MAAM,IAAIpC,gBAAgB,CACvB,gBAAeoC,YAAa,eAAcD,WAAY,4CACzD,CAAC;QACH;MACF,CAAC,CAAC,OAAOQ,KAAK,EAAE;QACd,OAAO,KAAK;MACd;IACF;IAEA,OAAO,IAAI;EACb,CAAC,CAAC;EAEF,IAAI,CAACkB,cAAc,EAAE;IACnB,MAAM,IAAI7D,gBAAgB,CACxB,iGACF,CAAC;EACH;EAEA,OAAO;IACLyD,mBAAmB;IACnBC;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMY,kCAAmE,GAC9EA,CAAClB,eAAe,EAAEmB,iBAAiB,EAAEvD,WAAW,KAAK;EAAA,IAAAwD,sBAAA;EACnD,IAAI,EAACpB,eAAe,aAAfA,eAAe,gBAAAoB,sBAAA,GAAfpB,eAAe,CAAEG,WAAW,cAAAiB,sBAAA,eAA5BA,sBAAA,CAA8BhB,MAAM,GAAE;IACzC;IACA,OAAO;MACLC,mBAAmB,EAAE,EAAE;MACvBC,mBAAmB,EAAE;IACvB,CAAC;EACH;EACA,MAAMD,mBAA0C,GAAG,EAAE;EACrD,MAAMC,mBAA0C,GAAG,EAAE;;EAErD;EACA,MAAMe,oBAAoB,GAAG1D,sBAAsB,CAACC,WAAW,CAAC;;EAEhE;EACA;EACA,MAAM6C,cAAc,GAAGT,eAAe,CAACG,WAAW,CAACC,MAAM,CAACM,KAAK,CAAEC,KAAK,IAAK;IACzE;IACA;IACA;IACA,IAAI,CAAC5B,WAAW,EAAEC,YAAY,CAAC,GAAGJ,gBAAgB,CAChD+B,KAAK,CAACvB,IAAI,EACViC,oBACF,CAAC;IAED,IAAI,CAACtC,WAAW,EAAE;MAChB,CAACA,WAAW,EAAEC,YAAY,CAAC,GAAGJ,gBAAgB,CAC5C+B,KAAK,CAACvB,IAAI,EACV+B,iBACF,CAAC;MAED,IAAI,CAACpC,WAAW,EAAE;QAChB;QACA,OAAO4B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,QAAQ;MACxB;IACF,CAAC,MAAM;MACL;MACA,MAAMvD,SAAS,GAAGkC,gBAAgB,CAACT,WAAW,CAAC;MAC/C,IAAIzB,SAAS,EAAE;QACb,CAACqD,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEE,QAAQ,GAAGP,mBAAmB,GAAGD,mBAAmB,EAAES,IAAI,CAAC;UACjEpD,KAAK,EAAEsB,YAAY;UACnBvB,IAAI,EAAEH;QACR,CAAC,CAAC;MACJ;IACF;;IAEA;IACA;IACA,IAAIqD,KAAK,CAACI,MAAM,EAAE;MAChB,IAAI;QACF,MAAMC,cAAc,GAAG9D,GAAG,CAAC+D,OAAO,CAACN,KAAK,CAACI,MAAM,CAAC;QAChD,IAAI,CAACC,cAAc,CAAChC,YAAY,CAAC,EAAE;UACjC,MAAM,IAAIpC,gBAAgB,CACvB,gBAAeoC,YAAa,eAAcD,WAAY,4CACzD,CAAC;QACH;MACF,CAAC,CAAC,OAAOQ,KAAK,EAAE;QACd,OAAO,KAAK;MACd;IACF;IACA;IACA;;IAEA,OAAO,IAAI;EACb,CAAC,CAAC;EAEF,IAAI,CAACkB,cAAc,EAAE;IACnB,MAAM,IAAI7D,gBAAgB,CACxB,iGACF,CAAC;EACH;EAEA,OAAO;IACLyD,mBAAmB;IACnBC;EACF,CAAC;AACH,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMgB,mBAAmB,GAAGA,CACjCtB,eAAgC,EAChCuB,uBAAiD,KAK9C;EACH,KAAK,MAAM;IACTC,MAAM;IACNC,UAAU;IACVC,KAAK;IACL9D;EACF,CAAC,IAAI2D,uBAAuB,EAAE;IAC5B,IAAI;MACF,MAAMI,mBAAmB,GAAGT,kCAAkC,CAC5DlB,eAAe,EACf0B,KAAK,CAAC5C,OAAO,EACblB,WACF,CAAC;MAED,OAAO;QACLgE,iBAAiB,EAAED,mBAAmB;QACtCE,aAAa,EAAEL,MAAM;QACrBM,iBAAiB,EAAEL;MACrB,CAAC;IACH,CAAC,CAAC,MAAM;MACN;MACA;IACF;EACF;EAEA,MAAM,IAAI5E,uBAAuB,CAC/B,6DACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMkF,kBAAkB,GAAGA,CAChC/B,eAAgC,EAChCgC,sBAA+C,KAK5C;EACH,KAAK,MAAM;IAAER,MAAM;IAAEC,UAAU;IAAExB;EAAa,CAAC,IAAI+B,sBAAsB,EAAE;IACzE,IAAI;MACF,MAAML,mBAAmB,GAAG5B,8BAA8B,CACxDC,eAAe,EACfC,YACF,CAAC;MAED,OAAO;QACL2B,iBAAiB,EAAED,mBAAmB;QACtCE,aAAa,EAAEL,MAAM;QACrBM,iBAAiB,EAAEL;MACrB,CAAC;IACH,CAAC,CAAC,MAAM;MACN;MACA;IACF;EACF;EAEA,MAAM,IAAI5E,uBAAuB,CAC/B,4DACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMoF,wBAAkD,GAAG,MAAAA,CAChEC,gBAAgB,EAChBC,gBAAgB,EAChBC,eAAe,KACZ;EACH;EACA,MAAMb,uBAAuB,GAC3B,CAAAY,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAE3D,GAAG,CAAC6D,KAAA,IAA0B;IAAA,IAAzB,CAACb,MAAM,EAAEC,UAAU,CAAC,GAAAY,KAAA;IACzC,MAAM;MAAEX,KAAK;MAAE9D;IAAY,CAAC,GAAGpB,MAAM,CAACiF,UAAU,CAAC;IACjD,OAAO;MAAED,MAAM;MAAEC,UAAU;MAAEC,KAAK;MAAE9D;IAAY,CAAC;EACnD,CAAC,CAAC,KAAI,EAAE;;EAEV;EACA,MAAM0E,sBAAsB,GAC1B,CAAC,MAAMC,OAAO,CAACC,GAAG,CAChBJ,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE5D,GAAG,CAAC,MAAAiE,KAAA,IAAgC;IAAA,IAAzB,CAACjB,MAAM,EAAEC,UAAU,CAAC,GAAAgB,KAAA;IAC9C,MAAMxC,YAAY,GAAG,MAAMlD,IAAI,CAAC2F,kBAAkB,CAACjB,UAAU,CAAC;IAC9D,IAAI,CAACxB,YAAY,EAAE;MACjB,MAAM,IAAIpD,uBAAuB,CAC/B,qCACF,CAAC;IACH;IACA,OAAO;MAAE2E,MAAM;MAAEC,UAAU;MAAExB;IAAa,CAAC;EAC7C,CAAC,CACH,CAAC,KAAK,EAAE;EAEV,MAAM0C,OAAO,GAAGJ,OAAO,CAACC,GAAG,CACzBN,gBAAgB,CAAC1D,GAAG,CAAC,MAAOoE,UAAU,IAAK;IAAA,IAAAC,kBAAA,EAAAC,mBAAA;IACzC,KAAAD,kBAAA,GAAID,UAAU,CAACG,MAAM,cAAAF,kBAAA,eAAjBA,kBAAA,CAAmBG,QAAQ,EAAE;MAC/B,IAAI,CAACZ,eAAe,CAAC9C,MAAM,EAAE;QAC3B,MAAM,IAAIzC,uBAAuB,CAC/B,uCACF,CAAC;MACH;MAEA,MAAM;QAAE+E,iBAAiB;QAAEC,aAAa;QAAEC;MAAkB,CAAC,GAC3DC,kBAAkB,CAACa,UAAU,EAAEN,sBAAsB,CAAC;MAExD,OAAO;QACLX,mBAAmB,EAAEC,iBAAiB;QACtC5B,eAAe,EAAE4C,UAAU;QAC3BnB,UAAU,EAAEK,iBAAiB;QAC7BN,MAAM,EAAEK;MACV,CAAC;IACH;IAEA,KAAAiB,mBAAA,GAAIF,UAAU,CAACG,MAAM,cAAAD,mBAAA,eAAjBA,mBAAA,CAAoB,WAAW,CAAC,EAAE;MACpC,IAAI,CAACvB,uBAAuB,CAACjC,MAAM,EAAE;QACnC,MAAM,IAAIzC,uBAAuB,CAC/B,wCACF,CAAC;MACH;MAEA,MAAM;QAAE+E,iBAAiB;QAAEC,aAAa;QAAEC;MAAkB,CAAC,GAC3DR,mBAAmB,CAACsB,UAAU,EAAErB,uBAAuB,CAAC;MAE1D,OAAO;QACLI,mBAAmB,EAAEC,iBAAiB;QACtC5B,eAAe,EAAE4C,UAAU;QAC3BnB,UAAU,EAAEK,iBAAiB;QAC7BN,MAAM,EAAEK;MACV,CAAC;IACH;IAEA,MAAM,IAAIhF,uBAAuB,CAC9B,GAAE+F,UAAU,CAACG,MAAO,2BACvB,CAAC;EACH,CAAC,CACH,CAAC;EAED,OAAOJ,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,0BAAsD,GAAG,MAAAA,CACpEC,wBAAwB,EACxBC,iBAAiB,KACd;EACH;EACA,MAAMC,cAAc,GAAGnG,gCAAgC,CAAC,EAAE,CAAC;EAE3D,MAAMoG,aAAa,GAAG,MAAMd,OAAO,CAACC,GAAG,CACrCU,wBAAwB,CAAC1E,GAAG,CAAC,MAAO8E,IAAI,IAAK;IAAA,IAAAC,mBAAA,EAAAC,mBAAA;IAC3C,MAAMZ,UAAU,GAAGU,IAAI,CAACtD,eAAe;IAEvC,KAAAuD,mBAAA,GAAIX,UAAU,CAACG,MAAM,cAAAQ,mBAAA,eAAjBA,mBAAA,CAAmBP,QAAQ,EAAE;MAC/B,MAAM;QAAES;MAAS,CAAC,GAAG,MAAMzG,kBAAkB,CAC3CmG,iBAAiB,CAACO,KAAK,EACvBN,cAAc,EACdD,iBAAiB,CAACQ,QAAQ,EAC1BR,iBAAiB,CAACS,WAAW,EAC7BhB,UAAU,CAACiB,EAAE,EACbP,IAAI,CAAC9B,MAAM,EACX,CACE8B,IAAI,CAAC7B,UAAU,EACf6B,IAAI,CAACQ,eAAe,EACpBpH,sBAAsB,CAAC4G,IAAI,CAAC9B,MAAM,CAAC,CAEvC,CAAC;MAED,OAAO;QACLsC,eAAe,EAAER,IAAI,CAACQ,eAAe;QACrC9D,eAAe,EAAE4C,UAAU;QAC3BmB,OAAO,EAAEN,QAAQ;QACjBV,MAAM,EAAE;MACV,CAAC;IACH;IAEA,KAAAS,mBAAA,GAAIZ,UAAU,CAACG,MAAM,cAAAS,mBAAA,eAAjBA,mBAAA,CAAoB,WAAW,CAAC,EAAE;MACpC,MAAM;QAAEC;MAAS,CAAC,GAAG,MAAMhH,cAAc,CACvC0G,iBAAiB,CAACO,KAAK,EACvBP,iBAAiB,CAACQ,QAAQ,EAC1B,CACEL,IAAI,CAAC7B,UAAU,EACf6B,IAAI,CAACQ,eAAe,EACpBpH,sBAAsB,CAAC4G,IAAI,CAAC9B,MAAM,CAAC,CAEvC,CAAC;MAED,OAAO;QACLsC,eAAe,EAAER,IAAI,CAACQ,eAAe;QACrC9D,eAAe,EAAE4C,UAAU;QAC3BmB,OAAO,EAAEN,QAAQ;QACjBV,MAAM,EAAE;MACV,CAAC;IACH;IAEA,MAAM,IAAIlG,uBAAuB,CAC9B,GAAE+F,UAAU,CAACG,MAAO,2BACvB,CAAC;EACH,CAAC,CACH,CAAC;EAED,OAAO;IACLM,aAAa;IACbD;EACF,CAAC;AACH,CAAC"}
@@ -3,6 +3,7 @@ import uuid from "react-native-uuid";
3
3
  import { NoSuitableKeysFoundInEntityConfiguration } from "./errors";
4
4
  import { hasStatusOrThrow } from "../../utils/misc";
5
5
  import * as z from "zod";
6
+ import { Base64 } from "js-base64";
6
7
  export const AuthorizationResponse = z.object({
7
8
  status: z.string().optional(),
8
9
  response_code: z.string() /**
@@ -40,7 +41,9 @@ export const choosePublicKeyToEncrypt = rpJwkKeys => {
40
41
  */
41
42
  export const buildDirectPostBody = async (requestObject, payload) => {
42
43
  const formUrlEncodedBody = new URLSearchParams({
43
- state: requestObject.state,
44
+ ...(requestObject.state ? {
45
+ state: requestObject.state
46
+ } : {}),
44
47
  ...Object.fromEntries(Object.entries(payload).map(_ref => {
45
48
  let [key, value] = _ref;
46
49
  return [key, Array.isArray(value) || typeof value === "object" ? JSON.stringify(value) : value];
@@ -55,10 +58,11 @@ export const buildDirectPostBody = async (requestObject, payload) => {
55
58
  * @param jwkKeys - Array of JWKs from the Relying Party for encryption.
56
59
  * @param requestObject - Contains state, nonce, and other relevant info.
57
60
  * @param payload - Object that contains either the VP token to encrypt and the mapping of the credential disclosures or the error code
61
+ * @param generatedNonce - Optional nonce for the `apu` claim in the JWE header, it is used during ISO 18013-7.
58
62
  * @returns A URL-encoded string for an `application/x-www-form-urlencoded` POST body,
59
63
  * where `response` contains the encrypted JWE.
60
64
  */
61
- export const buildDirectPostJwtBody = async (jwkKeys, requestObject, payload) => {
65
+ export const buildDirectPostJwtBody = async (jwkKeys, requestObject, payload, generatedNonce) => {
62
66
  // Prepare the authorization response payload to be encrypted
63
67
  const authzResponsePayload = JSON.stringify({
64
68
  state: requestObject.state,
@@ -67,7 +71,6 @@ export const buildDirectPostJwtBody = async (jwkKeys, requestObject, payload) =>
67
71
 
68
72
  // Choose a suitable RSA public key for encryption
69
73
  const encPublicJwk = choosePublicKeyToEncrypt(jwkKeys);
70
-
71
74
  // Encrypt the authorization payload
72
75
  const {
73
76
  client_metadata
@@ -75,13 +78,20 @@ export const buildDirectPostJwtBody = async (jwkKeys, requestObject, payload) =>
75
78
  const encryptedResponse = await new EncryptJwe(authzResponsePayload, {
76
79
  alg: (client_metadata === null || client_metadata === void 0 ? void 0 : client_metadata.authorization_encrypted_response_alg) || "RSA-OAEP-256",
77
80
  enc: (client_metadata === null || client_metadata === void 0 ? void 0 : client_metadata.authorization_encrypted_response_enc) || "A256CBC-HS512",
78
- kid: encPublicJwk.kid
81
+ kid: encPublicJwk.kid,
82
+ /* ISO 18013-7 */
83
+ apv: Base64.encodeURI(requestObject.nonce),
84
+ ...(generatedNonce ? {
85
+ apu: Base64.encodeURI(generatedNonce)
86
+ } : {})
79
87
  }).encrypt(encPublicJwk);
80
88
 
81
89
  // Build the x-www-form-urlencoded form body
82
90
  const formBody = new URLSearchParams({
83
91
  response: encryptedResponse,
84
- state: requestObject.state
92
+ ...(requestObject.state ? {
93
+ state: requestObject.state
94
+ } : {})
85
95
  });
86
96
  return formBody.toString();
87
97
  };
@@ -102,21 +112,25 @@ export const buildDirectPostJwtBody = async (jwkKeys, requestObject, payload) =>
102
112
  * @param context - Contains optional custom fetch implementation.
103
113
  * @returns Parsed and validated authorization response from the Relying Party.
104
114
  */
105
- export const sendAuthorizationResponse = async function (requestObject, presentationDefinitionId, jwkKeys, remotePresentations) {
106
- var _remotePresentations$;
115
+ export const sendAuthorizationResponse = async function (requestObject, presentationDefinitionId, jwkKeys, remotePresentation) {
116
+ var _presentations$;
107
117
  let {
108
118
  appFetch = fetch
109
119
  } = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
120
+ const {
121
+ generatedNonce,
122
+ presentations
123
+ } = remotePresentation;
110
124
  /**
111
125
  * 1. Prepare the VP token and presentation submission
112
126
  * If there is only one credential, `vpToken` is a single string.
113
127
  * If there are multiple credential, `vpToken` is an array of string.
114
128
  **/
115
- const vp_token = (remotePresentations === null || remotePresentations === void 0 ? void 0 : remotePresentations.length) === 1 ? (_remotePresentations$ = remotePresentations[0]) === null || _remotePresentations$ === void 0 ? void 0 : _remotePresentations$.vpToken : remotePresentations.map(remotePresentation => remotePresentation.vpToken);
116
- const descriptor_map = remotePresentations.map((remotePresentation, index) => ({
117
- id: remotePresentation.inputDescriptor.id,
118
- path: remotePresentations.length === 1 ? `$` : `$[${index}]`,
119
- format: remotePresentation.format
129
+ const vp_token = (presentations === null || presentations === void 0 ? void 0 : presentations.length) === 1 ? (_presentations$ = presentations[0]) === null || _presentations$ === void 0 ? void 0 : _presentations$.vpToken : presentations.map(presentation => presentation.vpToken);
130
+ const descriptor_map = presentations.map((presentation, index) => ({
131
+ id: presentation.inputDescriptor.id,
132
+ path: (presentations === null || presentations === void 0 ? void 0 : presentations.length) === 1 ? `$` : `$[${index}]`,
133
+ format: presentation.format
120
134
  }));
121
135
  const presentation_submission = {
122
136
  id: uuid.v4(),
@@ -128,19 +142,22 @@ export const sendAuthorizationResponse = async function (requestObject, presenta
128
142
  const requestBody = requestObject.response_mode === "direct_post.jwt" ? await buildDirectPostJwtBody(jwkKeys, requestObject, {
129
143
  vp_token,
130
144
  presentation_submission
131
- }) : await buildDirectPostBody(requestObject, {
145
+ }, generatedNonce) : await buildDirectPostBody(requestObject, {
132
146
  vp_token,
133
147
  presentation_submission: presentation_submission
134
148
  });
135
149
 
136
150
  // 3. Send the authorization response via HTTP POST and validate the response
137
- return await appFetch(requestObject.response_uri, {
151
+ const authResponse = await appFetch(requestObject.response_uri, {
138
152
  method: "POST",
139
153
  headers: {
140
154
  "Content-Type": "application/x-www-form-urlencoded"
141
155
  },
142
156
  body: requestBody
143
- }).then(hasStatusOrThrow(200)).then(res => res.json()).then(AuthorizationResponse.parse);
157
+ }).then(hasStatusOrThrow(200)).then(res => res.json()).then(AuthorizationResponse.safeParse);
158
+
159
+ // Some Relying Parties may return an empty body.
160
+ return authResponse.success ? authResponse.data : {};
144
161
  };
145
162
 
146
163
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["EncryptJwe","uuid","NoSuitableKeysFoundInEntityConfiguration","hasStatusOrThrow","z","AuthorizationResponse","object","status","string","optional","response_code","redirect_uri","choosePublicKeyToEncrypt","rpJwkKeys","encKey","filter","jwk","use","buildDirectPostBody","requestObject","payload","formUrlEncodedBody","URLSearchParams","state","Object","fromEntries","entries","map","_ref","key","value","Array","isArray","JSON","stringify","toString","buildDirectPostJwtBody","jwkKeys","authzResponsePayload","encPublicJwk","client_metadata","encryptedResponse","alg","authorization_encrypted_response_alg","enc","authorization_encrypted_response_enc","kid","encrypt","formBody","response","sendAuthorizationResponse","presentationDefinitionId","remotePresentations","_remotePresentations$","appFetch","fetch","arguments","length","undefined","vp_token","vpToken","remotePresentation","descriptor_map","index","id","inputDescriptor","path","format","presentation_submission","v4","definition_id","requestBody","response_mode","response_uri","method","headers","body","then","res","json","parse","sendAuthorizationErrorResponse","error"],"sourceRoot":"../../../../src","sources":["credential/presentation/08-send-authorization-response.ts"],"mappings":"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"}
1
+ {"version":3,"names":["EncryptJwe","uuid","NoSuitableKeysFoundInEntityConfiguration","hasStatusOrThrow","z","Base64","AuthorizationResponse","object","status","string","optional","response_code","redirect_uri","choosePublicKeyToEncrypt","rpJwkKeys","encKey","filter","jwk","use","buildDirectPostBody","requestObject","payload","formUrlEncodedBody","URLSearchParams","state","Object","fromEntries","entries","map","_ref","key","value","Array","isArray","JSON","stringify","toString","buildDirectPostJwtBody","jwkKeys","generatedNonce","authzResponsePayload","encPublicJwk","client_metadata","encryptedResponse","alg","authorization_encrypted_response_alg","enc","authorization_encrypted_response_enc","kid","apv","encodeURI","nonce","apu","encrypt","formBody","response","sendAuthorizationResponse","presentationDefinitionId","remotePresentation","_presentations$","appFetch","fetch","arguments","length","undefined","presentations","vp_token","vpToken","presentation","descriptor_map","index","id","inputDescriptor","path","format","presentation_submission","v4","definition_id","requestBody","response_mode","authResponse","response_uri","method","headers","body","then","res","json","safeParse","success","data","sendAuthorizationErrorResponse","error","parse"],"sourceRoot":"../../../../src","sources":["credential/presentation/08-send-authorization-response.ts"],"mappings":"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"}
@@ -78,7 +78,7 @@ export const RequestObject = z.object({
78
78
  //optional by RFC 7519, mandatory for Potential
79
79
  iat: UnixTime.optional(),
80
80
  exp: UnixTime.optional(),
81
- state: z.string(),
81
+ state: z.string().optional(),
82
82
  nonce: z.string(),
83
83
  response_uri: z.string(),
84
84
  response_type: z.literal("vp_token"),