@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.
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +69 -35
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js +181 -0
- package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js.map +1 -0
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +3 -67
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/commonjs/credential/presentation/08-send-authorization-response.js +98 -2
- package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
- package/lib/commonjs/credential/presentation/index.js +14 -1
- package/lib/commonjs/credential/presentation/index.js.map +1 -1
- package/lib/commonjs/credential/presentation/types.js +9 -2
- package/lib/commonjs/credential/presentation/types.js.map +1 -1
- package/lib/commonjs/mdoc/index.js +1 -1
- package/lib/commonjs/mdoc/index.js.map +1 -1
- package/lib/commonjs/sd-jwt/__test__/index.test.js +24 -21
- package/lib/commonjs/sd-jwt/__test__/index.test.js.map +1 -1
- package/lib/commonjs/sd-jwt/__test__/types.test.js +3 -0
- package/lib/commonjs/sd-jwt/__test__/types.test.js.map +1 -1
- package/lib/commonjs/sd-jwt/types.js +4 -1
- package/lib/commonjs/sd-jwt/types.js.map +1 -1
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +469 -0
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +1 -0
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +90 -0
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -0
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js +67 -35
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/module/credential/presentation/07-evaluate-dcql-query.js +175 -0
- package/lib/module/credential/presentation/07-evaluate-dcql-query.js.map +1 -0
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +3 -66
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/module/credential/presentation/08-send-authorization-response.js +97 -2
- package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
- package/lib/module/credential/presentation/index.js +4 -3
- package/lib/module/credential/presentation/index.js.map +1 -1
- package/lib/module/credential/presentation/types.js +9 -2
- package/lib/module/credential/presentation/types.js.map +1 -1
- package/lib/module/mdoc/index.js +1 -1
- package/lib/module/mdoc/index.js.map +1 -1
- package/lib/module/sd-jwt/__test__/index.test.js +24 -21
- package/lib/module/sd-jwt/__test__/index.test.js.map +1 -1
- package/lib/module/sd-jwt/__test__/types.test.js +3 -0
- package/lib/module/sd-jwt/__test__/types.test.js.map +1 -1
- package/lib/module/sd-jwt/types.js +4 -1
- package/lib/module/sd-jwt/types.js.map +1 -1
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +462 -0
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +1 -0
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +83 -0
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -0
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts +12 -0
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts +27 -0
- package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts.map +1 -0
- package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts +2 -28
- package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts +23 -1
- package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/index.d.ts +6 -4
- package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/types.d.ts +26 -7
- package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
- package/lib/typescript/sd-jwt/index.d.ts +12 -0
- package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
- package/lib/typescript/sd-jwt/types.d.ts +15 -0
- package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
- package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts +3 -0
- package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts.map +1 -0
- package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts +42 -0
- package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts.map +1 -0
- package/package.json +3 -2
- package/src/credential/issuance/07-verify-and-parse-credential.ts +35 -3
- package/src/credential/presentation/07-evaluate-dcql-query.ts +228 -0
- package/src/credential/presentation/07-evaluate-input-descriptor.ts +6 -103
- package/src/credential/presentation/08-send-authorization-response.ts +137 -2
- package/src/credential/presentation/index.ts +12 -2
- package/src/credential/presentation/types.ts +33 -3
- package/src/mdoc/index.ts +1 -1
- package/src/sd-jwt/__test__/index.test.ts +45 -36
- package/src/sd-jwt/__test__/types.test.ts +3 -0
- package/src/sd-jwt/types.ts +3 -0
- package/src/utils/credential/issuance/07-verify-and-parse-credentials-inputs.ts +615 -0
- 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(
|
76
|
+
.map(_ref6 => {
|
71
77
|
let [attrKey, {
|
72
78
|
display,
|
73
79
|
...definition
|
74
|
-
}] =
|
80
|
+
}] = _ref6;
|
75
81
|
return [attrKey, {
|
76
82
|
...definition,
|
77
|
-
name: display.reduce((names,
|
83
|
+
name: display.reduce((names, _ref7) => {
|
78
84
|
let {
|
79
85
|
locale,
|
80
86
|
name
|
81
|
-
} =
|
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(
|
93
|
-
let [, key, value] =
|
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
|
-
|
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
|
-
} =
|
110
|
-
let
|
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(
|
123
|
-
let [namespace, claimName] =
|
124
|
-
return Object.entries(claimName).map(
|
125
|
-
let [claimNameKey, definition] =
|
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(
|
133
|
-
let [namespace, values] =
|
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(
|
168
|
+
.map(_ref15 => {
|
141
169
|
var _flatNamespaces$find;
|
142
|
-
let [attrDefNamespace, attrKey, definition] =
|
170
|
+
let [attrDefNamespace, attrKey, definition] = _ref15;
|
143
171
|
return [attrKey, {
|
144
172
|
...definition,
|
145
|
-
value: (_flatNamespaces$find = flatNamespaces.find(
|
146
|
-
let [namespace, name] =
|
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(
|
186
|
+
.map(_ref18 => {
|
154
187
|
let [attrKey, {
|
155
188
|
display,
|
156
189
|
...definition
|
157
|
-
}] =
|
190
|
+
}] = _ref18;
|
158
191
|
return [attrKey, {
|
159
192
|
...definition,
|
160
|
-
name: display.reduce((names,
|
193
|
+
name: display.reduce((names, _ref19) => {
|
161
194
|
let {
|
162
195
|
locale,
|
163
196
|
name
|
164
|
-
} =
|
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(
|
175
|
-
let [, key] =
|
207
|
+
const undefinedValues = Object.fromEntries(flatNamespaces.filter(_ref20 => {
|
208
|
+
let [, key] = _ref20;
|
176
209
|
return !Object.keys(definedValues).includes(key);
|
177
|
-
}).map(
|
178
|
-
let [, key, value] =
|
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, _, __,
|
300
|
+
const verifyAndParseCredentialSdJwt = async (issuerConf, credential, _, __, _ref22) => {
|
267
301
|
let {
|
268
302
|
credentialCryptoContext,
|
269
303
|
ignoreMissingAttributes,
|
270
304
|
includeUndefinedAttributes
|
271
|
-
} =
|
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,
|
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
|
-
} =
|
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.
|
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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"}
|