@pagopa/io-react-native-wallet 1.7.1 → 1.8.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.
- package/lib/commonjs/client/generated/wallet-provider.js +37 -11
- package/lib/commonjs/client/generated/wallet-provider.js.map +1 -1
- package/lib/commonjs/credential/issuance/02-get-issuer-config.js +83 -3
- package/lib/commonjs/credential/issuance/02-get-issuer-config.js.map +1 -1
- package/lib/commonjs/credential/issuance/03-start-user-authorization.js +5 -7
- package/lib/commonjs/credential/issuance/03-start-user-authorization.js.map +1 -1
- package/lib/commonjs/credential/issuance/06-obtain-credential.js +27 -10
- package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +50 -46
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/README.md +1 -1
- package/lib/commonjs/credential/issuance/const.js +1 -1
- package/lib/commonjs/credential/issuance/const.js.map +1 -1
- package/lib/commonjs/credential/issuance/index.js +6 -0
- package/lib/commonjs/credential/issuance/index.js.map +1 -1
- package/lib/commonjs/credential/issuance/types.js +19 -10
- package/lib/commonjs/credential/issuance/types.js.map +1 -1
- package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js +10 -3
- package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +11 -4
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/commonjs/credential/presentation/08-send-authorization-response.js +3 -3
- package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
- package/lib/commonjs/credential/presentation/types.js.map +1 -1
- package/lib/commonjs/entity/openid-connect/issuer/types.js +2 -2
- package/lib/commonjs/entity/openid-connect/issuer/types.js.map +1 -1
- package/lib/commonjs/entity/trust/types.js +19 -30
- package/lib/commonjs/entity/trust/types.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mdoc/index.js +3 -3
- package/lib/commonjs/mdoc/index.js.map +1 -1
- package/lib/commonjs/sd-jwt/index.js +2 -2
- package/lib/commonjs/sd-jwt/index.js.map +1 -1
- package/lib/commonjs/sd-jwt/types.js +1 -1
- package/lib/commonjs/sd-jwt/types.js.map +1 -1
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +3 -2
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -1
- package/lib/commonjs/utils/pop.js +1 -1
- package/lib/commonjs/utils/pop.js.map +1 -1
- package/lib/commonjs/wallet-instance-attestation/issuing.js +11 -7
- package/lib/commonjs/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/commonjs/wallet-instance-attestation/types.js +14 -19
- package/lib/commonjs/wallet-instance-attestation/types.js.map +1 -1
- package/lib/module/client/generated/wallet-provider.js +29 -7
- package/lib/module/client/generated/wallet-provider.js.map +1 -1
- package/lib/module/credential/issuance/02-get-issuer-config.js +80 -1
- package/lib/module/credential/issuance/02-get-issuer-config.js.map +1 -1
- package/lib/module/credential/issuance/03-start-user-authorization.js +5 -7
- package/lib/module/credential/issuance/03-start-user-authorization.js.map +1 -1
- package/lib/module/credential/issuance/06-obtain-credential.js +28 -11
- package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js +50 -46
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/module/credential/issuance/README.md +1 -1
- package/lib/module/credential/issuance/const.js +1 -1
- package/lib/module/credential/issuance/const.js.map +1 -1
- package/lib/module/credential/issuance/index.js +2 -2
- package/lib/module/credential/issuance/index.js.map +1 -1
- package/lib/module/credential/issuance/types.js +15 -8
- package/lib/module/credential/issuance/types.js.map +1 -1
- package/lib/module/credential/presentation/07-evaluate-dcql-query.js +10 -3
- package/lib/module/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +11 -4
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/module/credential/presentation/08-send-authorization-response.js +3 -3
- package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
- package/lib/module/credential/presentation/types.js.map +1 -1
- package/lib/module/entity/openid-connect/issuer/types.js +2 -2
- package/lib/module/entity/openid-connect/issuer/types.js.map +1 -1
- package/lib/module/entity/trust/types.js +19 -30
- package/lib/module/entity/trust/types.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/mdoc/index.js +3 -3
- package/lib/module/mdoc/index.js.map +1 -1
- package/lib/module/sd-jwt/index.js +2 -2
- package/lib/module/sd-jwt/index.js.map +1 -1
- package/lib/module/sd-jwt/types.js +1 -1
- package/lib/module/sd-jwt/types.js.map +1 -1
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +3 -2
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -1
- package/lib/module/utils/pop.js +1 -1
- package/lib/module/utils/pop.js.map +1 -1
- package/lib/module/wallet-instance-attestation/issuing.js +13 -9
- package/lib/module/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/module/wallet-instance-attestation/types.js +12 -17
- package/lib/module/wallet-instance-attestation/types.js.map +1 -1
- package/lib/typescript/client/generated/wallet-provider.d.ts +146 -17
- package/lib/typescript/client/generated/wallet-provider.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/02-get-issuer-config.d.ts +15 -0
- package/lib/typescript/credential/issuance/02-get-issuer-config.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts +7 -2
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/const.d.ts +1 -1
- package/lib/typescript/credential/issuance/const.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/index.d.ts +2 -2
- package/lib/typescript/credential/issuance/index.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/types.d.ts +52 -21
- package/lib/typescript/credential/issuance/types.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts.map +1 -1
- 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 +1 -1
- package/lib/typescript/credential/presentation/types.d.ts +4 -2
- package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
- package/lib/typescript/entity/openid-connect/issuer/types.d.ts +17 -17
- package/lib/typescript/entity/openid-connect/issuer/types.d.ts.map +1 -1
- package/lib/typescript/entity/trust/index.d.ts +150 -140
- package/lib/typescript/entity/trust/index.d.ts.map +1 -1
- package/lib/typescript/entity/trust/types.d.ts +540 -344
- package/lib/typescript/entity/trust/types.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/pid/sd-jwt/types.d.ts +2 -2
- package/lib/typescript/sd-jwt/index.d.ts +12 -12
- package/lib/typescript/sd-jwt/types.d.ts +14 -14
- package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/issuing.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/types.d.ts +50 -102
- package/lib/typescript/wallet-instance-attestation/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client/generated/wallet-provider.ts +39 -7
- package/src/credential/issuance/02-get-issuer-config.ts +117 -0
- package/src/credential/issuance/03-start-user-authorization.ts +7 -8
- package/src/credential/issuance/06-obtain-credential.ts +41 -14
- package/src/credential/issuance/07-verify-and-parse-credential.ts +7 -3
- package/src/credential/issuance/README.md +1 -1
- package/src/credential/issuance/const.ts +1 -0
- package/src/credential/issuance/index.ts +6 -1
- package/src/credential/issuance/types.ts +21 -8
- package/src/credential/presentation/07-evaluate-dcql-query.ts +15 -5
- package/src/credential/presentation/07-evaluate-input-descriptor.ts +21 -4
- package/src/credential/presentation/08-send-authorization-response.ts +3 -3
- package/src/credential/presentation/types.ts +3 -0
- package/src/entity/openid-connect/issuer/types.ts +2 -1
- package/src/entity/trust/types.ts +22 -20
- package/src/index.ts +2 -0
- package/src/mdoc/index.ts +3 -3
- package/src/sd-jwt/index.ts +2 -2
- package/src/sd-jwt/types.ts +1 -1
- package/src/utils/credential/issuance/07-verify-and-parse-credentials-utils.ts +3 -2
- package/src/utils/pop.ts +1 -1
- package/src/wallet-instance-attestation/issuing.ts +14 -8
- package/src/wallet-instance-attestation/types.ts +16 -22
@@ -16,13 +16,17 @@ var _converters2 = require("../../mdoc/converters");
|
|
16
16
|
|
17
17
|
//Exported for testing purposes
|
18
18
|
const parseCredentialSdJwt = function (credentials_supported, _ref) {
|
19
|
+
var _Object$entries$find;
|
19
20
|
let {
|
20
21
|
sdJwt,
|
21
22
|
disclosures
|
22
23
|
} = _ref;
|
23
24
|
let ignoreMissingAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
24
25
|
let includeUndefinedAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
25
|
-
const credentialSubject = credentials_supported
|
26
|
+
const credentialSubject = (_Object$entries$find = Object.entries(credentials_supported).find(_ref2 => {
|
27
|
+
let [, vl] = _ref2;
|
28
|
+
return vl.vct === sdJwt.payload.vct;
|
29
|
+
})) === null || _Object$entries$find === void 0 ? void 0 : _Object$entries$find[1];
|
26
30
|
if (!credentialSubject) {
|
27
31
|
throw new _errors.IoWalletError("Credential type not supported by the issuer");
|
28
32
|
}
|
@@ -39,10 +43,10 @@ const parseCredentialSdJwt = function (credentials_supported, _ref) {
|
|
39
43
|
const attrDefinitions = Object.entries(claims);
|
40
44
|
|
41
45
|
// the key of the attribute defintion must match the disclosure's name
|
42
|
-
const attrsNotInDisclosures = attrDefinitions.filter(
|
43
|
-
let [attrKey, definition] =
|
44
|
-
return !disclosures.some(
|
45
|
-
let [, name] =
|
46
|
+
const attrsNotInDisclosures = attrDefinitions.filter(_ref3 => {
|
47
|
+
let [attrKey, definition] = _ref3;
|
48
|
+
return !disclosures.some(_ref4 => {
|
49
|
+
let [, name] = _ref4;
|
46
50
|
return name === attrKey;
|
47
51
|
}) && definition.mandatory;
|
48
52
|
});
|
@@ -58,33 +62,33 @@ const parseCredentialSdJwt = function (credentials_supported, _ref) {
|
|
58
62
|
// and are present in the disclosure set
|
59
63
|
const definedValues = Object.fromEntries(attrDefinitions
|
60
64
|
// retrieve the value from the disclosure set
|
61
|
-
.map(
|
65
|
+
.map(_ref5 => {
|
62
66
|
var _disclosures$find;
|
63
|
-
let [attrKey, definition] =
|
67
|
+
let [attrKey, definition] = _ref5;
|
64
68
|
return [attrKey, {
|
65
69
|
...definition,
|
66
70
|
value: (_disclosures$find = disclosures.find(_ => _[1 /* name */] === attrKey)) === null || _disclosures$find === void 0 ? void 0 : _disclosures$find[2 /* value */]
|
67
71
|
}];
|
68
72
|
})
|
69
73
|
//filter the not found elements
|
70
|
-
.filter(
|
71
|
-
let [_, definition] =
|
74
|
+
.filter(_ref6 => {
|
75
|
+
let [_, definition] = _ref6;
|
72
76
|
return definition.value !== undefined;
|
73
77
|
})
|
74
78
|
// add a human readable attribute name, with i18n, in the form { locale: name }
|
75
79
|
// example: { "it-IT": "Nome", "en-EN": "Name", "es-ES": "Nombre" }
|
76
|
-
.map(
|
80
|
+
.map(_ref7 => {
|
77
81
|
let [attrKey, {
|
78
82
|
display,
|
79
83
|
...definition
|
80
|
-
}] =
|
84
|
+
}] = _ref7;
|
81
85
|
return [attrKey, {
|
82
86
|
...definition,
|
83
|
-
name: display.reduce((names,
|
87
|
+
name: display.reduce((names, _ref8) => {
|
84
88
|
let {
|
85
89
|
locale,
|
86
90
|
name
|
87
|
-
} =
|
91
|
+
} = _ref8;
|
88
92
|
return {
|
89
93
|
...names,
|
90
94
|
[locale]: name
|
@@ -95,8 +99,8 @@ const parseCredentialSdJwt = function (credentials_supported, _ref) {
|
|
95
99
|
if (includeUndefinedAttributes) {
|
96
100
|
// attributes that are in the disclosure set
|
97
101
|
// but are not defined in the issuer configuration
|
98
|
-
const undefinedValues = Object.fromEntries(disclosures.filter(_ => !Object.keys(definedValues).includes(_[1])).map(
|
99
|
-
let [, key, value] =
|
102
|
+
const undefinedValues = Object.fromEntries(disclosures.filter(_ => !Object.keys(definedValues).includes(_[1])).map(_ref9 => {
|
103
|
+
let [, key, value] = _ref9;
|
100
104
|
return [key, {
|
101
105
|
value,
|
102
106
|
name: key
|
@@ -112,10 +116,10 @@ const parseCredentialSdJwt = function (credentials_supported, _ref) {
|
|
112
116
|
|
113
117
|
//Exported for testing purposes
|
114
118
|
exports.parseCredentialSdJwt = parseCredentialSdJwt;
|
115
|
-
const parseCredentialMDoc = function (credentials_supported, credential_type,
|
119
|
+
const parseCredentialMDoc = function (credentials_supported, credential_type, _ref10) {
|
116
120
|
let {
|
117
121
|
issuerSigned
|
118
|
-
} =
|
122
|
+
} = _ref10;
|
119
123
|
let ignoreMissingAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
120
124
|
let includeUndefinedAttributes = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
121
125
|
const credentialSubject = credentials_supported[credential_type];
|
@@ -129,27 +133,27 @@ const parseCredentialMDoc = function (credentials_supported, credential_type, _r
|
|
129
133
|
}
|
130
134
|
|
131
135
|
const claims = credentialSubject.claims;
|
132
|
-
const attrDefinitions = Object.entries(claims).flatMap(
|
133
|
-
let [namespace, claimName] =
|
134
|
-
return Object.entries(claimName).map(
|
135
|
-
let [claimNameKey, definition] =
|
136
|
+
const attrDefinitions = Object.entries(claims).flatMap(_ref11 => {
|
137
|
+
let [namespace, claimName] = _ref11;
|
138
|
+
return Object.entries(claimName).map(_ref12 => {
|
139
|
+
let [claimNameKey, definition] = _ref12;
|
136
140
|
return [namespace, claimNameKey, definition];
|
137
141
|
});
|
138
142
|
});
|
139
143
|
if (!issuerSigned.nameSpaces) {
|
140
144
|
throw new _errors.IoWalletError("Missing claims in the credential");
|
141
145
|
}
|
142
|
-
const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(
|
143
|
-
let [namespace, values] =
|
146
|
+
const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(_ref13 => {
|
147
|
+
let [namespace, values] = _ref13;
|
144
148
|
return values.map(v => [namespace, v.elementIdentifier, v.elementValue]);
|
145
149
|
});
|
146
150
|
|
147
151
|
// Check that all mandatory attributes defined in the issuer configuration are present in the disclosure set
|
148
152
|
// and filter the non present ones
|
149
|
-
const attrsNotInDisclosures = attrDefinitions.filter(
|
150
|
-
let [attrDefNamespace, attrKey, definition] =
|
151
|
-
const isClaimPresent = flatNamespaces.find(
|
152
|
-
let [namespace, name] =
|
153
|
+
const attrsNotInDisclosures = attrDefinitions.filter(_ref14 => {
|
154
|
+
let [attrDefNamespace, attrKey, definition] = _ref14;
|
155
|
+
const isClaimPresent = flatNamespaces.find(_ref15 => {
|
156
|
+
let [namespace, name] = _ref15;
|
153
157
|
return attrDefNamespace === namespace && name === attrKey;
|
154
158
|
});
|
155
159
|
return isClaimPresent === undefined && definition.mandatory;
|
@@ -165,36 +169,36 @@ const parseCredentialMDoc = function (credentials_supported, credential_type, _r
|
|
165
169
|
// Attributes defined in the issuer configuration and present in the disclosure set
|
166
170
|
const definedValues = Object.fromEntries(attrDefinitions
|
167
171
|
// Retrieve the value from the corresponding disclosure
|
168
|
-
.map(
|
172
|
+
.map(_ref16 => {
|
169
173
|
var _flatNamespaces$find;
|
170
|
-
let [attrDefNamespace, attrKey, definition] =
|
174
|
+
let [attrDefNamespace, attrKey, definition] = _ref16;
|
171
175
|
return [attrKey, {
|
172
176
|
...definition,
|
173
|
-
value: (_flatNamespaces$find = flatNamespaces.find(
|
174
|
-
let [namespace, name] =
|
177
|
+
value: (_flatNamespaces$find = flatNamespaces.find(_ref17 => {
|
178
|
+
let [namespace, name] = _ref17;
|
175
179
|
return attrDefNamespace === namespace && name === attrKey;
|
176
180
|
})) === null || _flatNamespaces$find === void 0 ? void 0 : _flatNamespaces$find[2]
|
177
181
|
}];
|
178
182
|
})
|
179
183
|
//filter the not found elements
|
180
|
-
.filter(
|
181
|
-
let [_, definition] =
|
184
|
+
.filter(_ref18 => {
|
185
|
+
let [_, definition] = _ref18;
|
182
186
|
return definition.value !== undefined;
|
183
187
|
})
|
184
188
|
// Add a human-readable attribute name, with i18n, in the form { locale: name }
|
185
189
|
// Example: { "it-IT": "Nome", "en-EN": "Name", "es-ES": "Nombre" }
|
186
|
-
.map(
|
190
|
+
.map(_ref19 => {
|
187
191
|
let [attrKey, {
|
188
192
|
display,
|
189
193
|
...definition
|
190
|
-
}] =
|
194
|
+
}] = _ref19;
|
191
195
|
return [attrKey, {
|
192
196
|
...definition,
|
193
|
-
name: display.reduce((names,
|
197
|
+
name: display.reduce((names, _ref20) => {
|
194
198
|
let {
|
195
199
|
locale,
|
196
200
|
name
|
197
|
-
} =
|
201
|
+
} = _ref20;
|
198
202
|
return {
|
199
203
|
...names,
|
200
204
|
[locale]: name
|
@@ -204,11 +208,11 @@ const parseCredentialMDoc = function (credentials_supported, credential_type, _r
|
|
204
208
|
}));
|
205
209
|
if (includeUndefinedAttributes) {
|
206
210
|
// Attributes that are present in the disclosure set but not defined in the issuer configuration
|
207
|
-
const undefinedValues = Object.fromEntries(flatNamespaces.filter(
|
208
|
-
let [, key] =
|
211
|
+
const undefinedValues = Object.fromEntries(flatNamespaces.filter(_ref21 => {
|
212
|
+
let [, key] = _ref21;
|
209
213
|
return !Object.keys(definedValues).includes(key);
|
210
|
-
}).map(
|
211
|
-
let [, key, value] =
|
214
|
+
}).map(_ref22 => {
|
215
|
+
let [, key, value] = _ref22;
|
212
216
|
return [key, {
|
213
217
|
value,
|
214
218
|
name: key
|
@@ -297,12 +301,12 @@ async function verifyCredentialMDoc(rawCredential, issuerKeys, holderBindingCont
|
|
297
301
|
|
298
302
|
// utility type that specialize VerifyAndParseCredential for given format
|
299
303
|
|
300
|
-
const verifyAndParseCredentialSdJwt = async (issuerConf, credential, _, __,
|
304
|
+
const verifyAndParseCredentialSdJwt = async (issuerConf, credential, _, __, _ref23) => {
|
301
305
|
let {
|
302
306
|
credentialCryptoContext,
|
303
307
|
ignoreMissingAttributes,
|
304
308
|
includeUndefinedAttributes
|
305
|
-
} =
|
309
|
+
} = _ref23;
|
306
310
|
const decoded = await verifyCredentialSdJwt(credential, issuerConf.keys, credentialCryptoContext);
|
307
311
|
const parsedCredential = parseCredentialSdJwt(issuerConf.credential_configurations_supported, decoded, ignoreMissingAttributes, includeUndefinedAttributes);
|
308
312
|
const maybeIssuedAt = (0, _converters.getValueFromDisclosures)(decoded.disclosures, "iat");
|
@@ -312,12 +316,12 @@ const verifyAndParseCredentialSdJwt = async (issuerConf, credential, _, __, _ref
|
|
312
316
|
issuedAt: typeof maybeIssuedAt === "number" ? new Date(maybeIssuedAt * 1000) : undefined
|
313
317
|
};
|
314
318
|
};
|
315
|
-
const verifyAndParseCredentialMDoc = async (issuerConf, credential, _, credentialType,
|
319
|
+
const verifyAndParseCredentialMDoc = async (issuerConf, credential, _, credentialType, _ref24) => {
|
316
320
|
var _parsedCredential$exp, _parsedCredential$iss;
|
317
321
|
let {
|
318
322
|
credentialCryptoContext,
|
319
323
|
ignoreMissingAttributes
|
320
|
-
} =
|
324
|
+
} = _ref24;
|
321
325
|
const decoded = await verifyCredentialMDoc(credential, issuerConf.keys, credentialCryptoContext);
|
322
326
|
const parsedCredential = parseCredentialMDoc(issuerConf.credential_configurations_supported, credentialType, decoded, undefined, ignoreMissingAttributes);
|
323
327
|
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);
|
@@ -348,7 +352,7 @@ const verifyAndParseCredentialMDoc = async (issuerConf, credential, _, credentia
|
|
348
352
|
* @throws {IoWalletError} If the credential data fail to parse
|
349
353
|
*/
|
350
354
|
const verifyAndParseCredential = async (issuerConf, credential, format, credentialType, context) => {
|
351
|
-
if (format === "vc+sd-jwt") {
|
355
|
+
if (format === "vc+sd-jwt" || format === "dc+sd-jwt") {
|
352
356
|
return verifyAndParseCredentialSdJwt(issuerConf, credential, format, credentialType, context);
|
353
357
|
}
|
354
358
|
if (format === "mso_mdoc") {
|
@@ -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","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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"}
|
1
|
+
{"version":3,"names":["_errors","require","_types","_sdJwt","_mdoc","_converters","_converters2","parseCredentialSdJwt","credentials_supported","_ref","_Object$entries$find","sdJwt","disclosures","ignoreMissingAttributes","arguments","length","undefined","includeUndefinedAttributes","credentialSubject","Object","entries","find","_ref2","vl","vct","payload","IoWalletError","format","header","typ","claims","attrDefinitions","attrsNotInDisclosures","filter","_ref3","attrKey","definition","some","_ref4","name","mandatory","missing","map","_","join","received","definedValues","fromEntries","_ref5","_disclosures$find","value","_ref6","_ref7","display","reduce","names","_ref8","locale","undefinedValues","keys","includes","_ref9","key","exports","parseCredentialMDoc","credential_type","_ref10","issuerSigned","flatMap","_ref11","namespace","claimName","_ref12","claimNameKey","nameSpaces","flatNamespaces","_ref13","values","v","elementIdentifier","elementValue","_ref14","attrDefNamespace","isClaimPresent","_ref15","_ref16","_flatNamespaces$find","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","verifySdJwt","SdJwt4VC","getPublicKey","cnf","jwk","kid","verifyCredentialMDoc","verifyMdoc","verifyAndParseCredentialSdJwt","issuerConf","credential","__","_ref23","credentialCryptoContext","decoded","parsedCredential","credential_configurations_supported","maybeIssuedAt","getValueFromDisclosures","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","credentialType","_ref24","_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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"}
|
@@ -248,7 +248,7 @@ const credentialCryptoContext = createCryptoContextFor(credentialKeyTag);
|
|
248
248
|
// Start the issuance flow
|
249
249
|
const startFlow: Credential.Issuance.StartFlow = () => ({
|
250
250
|
issuerUrl: WALLET_EID_PROVIDER_BASE_URL,
|
251
|
-
credentialType: "
|
251
|
+
credentialType: "dc_sd_jwt_PersonIdentificationData",
|
252
252
|
appFetch,
|
253
253
|
});
|
254
254
|
|
@@ -9,6 +9,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
9
9
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
10
10
|
const ASSERTION_TYPE = "urn:ietf:params:oauth:client-assertion-type:jwt-client-attestation";
|
11
11
|
exports.ASSERTION_TYPE = ASSERTION_TYPE;
|
12
|
-
const SupportedCredentialFormat = z.union([z.literal("vc+sd-jwt"), z.literal("mso_mdoc")]);
|
12
|
+
const SupportedCredentialFormat = z.union([z.literal("vc+sd-jwt"), z.literal("dc+sd-jwt"), z.literal("mso_mdoc")]);
|
13
13
|
exports.SupportedCredentialFormat = SupportedCredentialFormat;
|
14
14
|
//# sourceMappingURL=const.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["z","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ASSERTION_TYPE","exports","SupportedCredentialFormat","union","literal"],"sourceRoot":"../../../../src","sources":["credential/issuance/const.ts"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyB,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAClB,MAAMW,cAAc,GACzB,oEAAoE;AAACC,OAAA,CAAAD,cAAA,GAAAA,cAAA;AAKhE,MAAME,yBAAyB,GAAG3B,CAAC,CAAC4B,KAAK,CAAC,CAC/C5B,CAAC,CAAC6B,OAAO,CAAC,WAAW,CAAC,EACtB7B,CAAC,CAAC6B,OAAO,CAAC,UAAU,CAAC,CACtB,CAAC;AAACH,OAAA,CAAAC,yBAAA,GAAAA,yBAAA"}
|
1
|
+
{"version":3,"names":["z","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ASSERTION_TYPE","exports","SupportedCredentialFormat","union","literal"],"sourceRoot":"../../../../src","sources":["credential/issuance/const.ts"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyB,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAClB,MAAMW,cAAc,GACzB,oEAAoE;AAACC,OAAA,CAAAD,cAAA,GAAAA,cAAA;AAKhE,MAAME,yBAAyB,GAAG3B,CAAC,CAAC4B,KAAK,CAAC,CAC/C5B,CAAC,CAAC6B,OAAO,CAAC,WAAW,CAAC,EACtB7B,CAAC,CAAC6B,OAAO,CAAC,WAAW,CAAC,EACtB7B,CAAC,CAAC6B,OAAO,CAAC,UAAU,CAAC,CACtB,CAAC;AAACH,OAAA,CAAAC,yBAAA,GAAAA,yBAAA"}
|
@@ -34,6 +34,12 @@ Object.defineProperty(exports, "getIssuerConfig", {
|
|
34
34
|
return _getIssuerConfig.getIssuerConfig;
|
35
35
|
}
|
36
36
|
});
|
37
|
+
Object.defineProperty(exports, "getIssuerConfigOIDFED", {
|
38
|
+
enumerable: true,
|
39
|
+
get: function () {
|
40
|
+
return _getIssuerConfig.getIssuerConfigOIDFED;
|
41
|
+
}
|
42
|
+
});
|
37
43
|
Object.defineProperty(exports, "getRequestedCredentialToBePresented", {
|
38
44
|
enumerable: true,
|
39
45
|
get: function () {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_getIssuerConfig","require","_startUserAuthorization","_completeUserAuthorization","_authorizeAccess","_obtainCredential","_verifyAndParseCredential","Errors","_interopRequireWildcard","exports","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sourceRoot":"../../../../src","sources":["credential/issuance/index.ts"],"mappings":"
|
1
|
+
{"version":3,"names":["_getIssuerConfig","require","_startUserAuthorization","_completeUserAuthorization","_authorizeAccess","_obtainCredential","_verifyAndParseCredential","Errors","_interopRequireWildcard","exports","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sourceRoot":"../../../../src","sources":["credential/issuance/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,gBAAA,GAAAC,OAAA;AAKA,IAAAC,uBAAA,GAAAD,OAAA;AAIA,IAAAE,0BAAA,GAAAF,OAAA;AAWA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AAIA,IAAAK,yBAAA,GAAAL,OAAA;AAIA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAAmCQ,OAAA,CAAAF,MAAA,GAAAA,MAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
|
@@ -3,26 +3,31 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.TokenResponse = exports.ResponseUriResultShape = exports.CredentialResponse = void 0;
|
7
|
-
var _par = require("../../utils/par");
|
6
|
+
exports.TokenResponse = exports.ResponseUriResultShape = exports.NonceResponse = exports.CredentialResponse = exports.AuthorizationDetail = void 0;
|
8
7
|
var z = _interopRequireWildcard(require("zod"));
|
9
|
-
var _const = require("./const");
|
10
8
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
11
9
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
10
|
+
const AuthorizationDetail = z.object({
|
11
|
+
type: z.literal("openid_credential"),
|
12
|
+
credential_configuration_id: z.string(),
|
13
|
+
credential_identifiers: z.array(z.string())
|
14
|
+
});
|
15
|
+
exports.AuthorizationDetail = AuthorizationDetail;
|
12
16
|
const TokenResponse = z.object({
|
13
17
|
access_token: z.string(),
|
14
|
-
authorization_details: z.array(
|
15
|
-
c_nonce
|
16
|
-
|
18
|
+
authorization_details: z.array(AuthorizationDetail),
|
19
|
+
// IT Wallet 1.0 remove c_nonce from token, mantain optional for compatibility with Potential
|
20
|
+
c_nonce: z.string().optional(),
|
21
|
+
c_nonce_expires_in: z.number().optional(),
|
17
22
|
expires_in: z.number(),
|
18
23
|
token_type: z.string()
|
19
24
|
});
|
20
25
|
exports.TokenResponse = TokenResponse;
|
21
26
|
const CredentialResponse = z.object({
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
27
|
+
credentials: z.array(z.object({
|
28
|
+
credential: z.string()
|
29
|
+
})),
|
30
|
+
notification_id: z.string().optional()
|
26
31
|
});
|
27
32
|
|
28
33
|
/**
|
@@ -33,4 +38,8 @@ const ResponseUriResultShape = z.object({
|
|
33
38
|
redirect_uri: z.string()
|
34
39
|
});
|
35
40
|
exports.ResponseUriResultShape = ResponseUriResultShape;
|
41
|
+
const NonceResponse = z.object({
|
42
|
+
c_nonce: z.string()
|
43
|
+
});
|
44
|
+
exports.NonceResponse = NonceResponse;
|
36
45
|
//# sourceMappingURL=types.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["z","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AuthorizationDetail","object","type","literal","credential_configuration_id","string","credential_identifiers","array","exports","TokenResponse","access_token","authorization_details","c_nonce","optional","c_nonce_expires_in","number","expires_in","token_type","CredentialResponse","credentials","credential","notification_id","ResponseUriResultShape","redirect_uri","NonceResponse"],"sourceRoot":"../../../../src","sources":["credential/issuance/types.ts"],"mappings":"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"}
|
@@ -10,6 +10,7 @@ var _sdJwt = require("../../sd-jwt");
|
|
10
10
|
var _errors = require("../../utils/errors");
|
11
11
|
var _errors2 = require("./errors");
|
12
12
|
var _ioReactNativeCbor = require("@pagopa/io-react-native-cbor");
|
13
|
+
var _jsrsasign = require("jsrsasign");
|
13
14
|
/**
|
14
15
|
* The purpose for the credential request by the RP.
|
15
16
|
*/
|
@@ -42,7 +43,7 @@ const mapCredentialSdJwtToObj = credentials => credentials.map(_ref => {
|
|
42
43
|
const mapCredentialsMdocToObj = async credentialsMdoc => {
|
43
44
|
return await Promise.all(credentialsMdoc === null || credentialsMdoc === void 0 ? void 0 : credentialsMdoc.map(async _ref2 => {
|
44
45
|
let [type, _, credential] = _ref2;
|
45
|
-
const issuerSigned = credential ? await _ioReactNativeCbor.CBOR.decodeIssuerSigned(credential) : undefined;
|
46
|
+
const issuerSigned = credential ? await _ioReactNativeCbor.CBOR.decodeIssuerSigned((0, _jsrsasign.b64utob64)(credential)) : undefined;
|
46
47
|
if (!issuerSigned) {
|
47
48
|
throw new _errors2.CredentialNotFoundError("mso_mdoc credential is not present.");
|
48
49
|
}
|
@@ -100,7 +101,7 @@ const evaluateDcqlQuery = async (query, credentialsSdJwt, credentialsMdoc) => {
|
|
100
101
|
required: Boolean(credentialSet.required)
|
101
102
|
};
|
102
103
|
});
|
103
|
-
if (match.output.credential_format === "vc+sd-jwt") {
|
104
|
+
if (match.output.credential_format === "vc+sd-jwt" || match.output.credential_format === "dc+sd-jwt") {
|
104
105
|
const {
|
105
106
|
vct,
|
106
107
|
claims
|
@@ -109,7 +110,13 @@ const evaluateDcqlQuery = async (query, credentialsSdJwt, credentialsMdoc) => {
|
|
109
110
|
let [type] = _ref7;
|
110
111
|
return type === vct;
|
111
112
|
});
|
112
|
-
const requiredDisclosures = Object.values(claims)
|
113
|
+
const requiredDisclosures = Object.values(claims).map(item => {
|
114
|
+
const [_, name, value] = item;
|
115
|
+
return {
|
116
|
+
name,
|
117
|
+
value
|
118
|
+
};
|
119
|
+
});
|
113
120
|
return {
|
114
121
|
id,
|
115
122
|
vct,
|
@@ -1 +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","
|
1
|
+
{"version":3,"names":["_dcql","require","_valibot","_sdJwt","_errors","_errors2","_ioReactNativeCbor","_jsrsasign","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","b64utob64","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","item","name","value","format","_ref8","_ref9","_ref10","claimName","namespace","error","isValiError","ValidationFailed","message","reason","issues","issue","join","DcqlError","DcqlCredentialSetError","exports"],"sourceRoot":"../../../../src","sources":["credential/presentation/07-evaluate-dcql-query.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAOA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAEA,IAAAK,kBAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAEA;AACA;AACA;;AAiCA;AACA;AACA;AACA;AACA,MAAMO,uBAAuB,GAAIC,WAAuC,IACtEA,WAAW,CAACC,GAAG,CAACC,IAAA,IAAe;EAAA,IAAd,IAAKC,GAAG,CAAC,GAAAD,IAAA;EACxB,MAAM;IAAEE,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,aAAM,EAACH,GAAG,CAAC;EAC1C,MAAMI,gBAAgB,GAAGH,KAAK,CAACI,MAAM,CAACC,GAAG;EAEzC,OAAO;IACLC,GAAG,EAAEN,KAAK,CAACO,OAAO,CAACD,GAAG;IACtBE,iBAAiB,EAAEL,gBAAgB;IACnCM,MAAM,EAAER,WAAW,CAACS,MAAM,CACxB,CAACC,GAAG,EAAEC,UAAU,MAAM;MACpB,GAAGD,GAAG;MACN,CAACC,UAAU,CAACC,OAAO,CAAC,CAAC,CAAC,GAAGD,UAAU,CAACC;IACtC,CAAC,CAAC,EACF,CAAC,CACH;EACF,CAAC;AACH,CAAC,CAAC;;AAEJ;AACA;AACA;AACA;AACA,MAAMC,uBAAuB,GAAG,MAC9BC,eAA2C,IACxC;EACH,OAAO,MAAMC,OAAO,CAACC,GAAG,CACtBF,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAElB,GAAG,CAAC,MAAAqB,KAAA,IAAiC;IAAA,IAA1B,CAACC,IAAI,EAAEC,CAAC,EAAEC,UAAU,CAAC,GAAAH,KAAA;IAC/C,MAAMI,YAAY,GAAGD,UAAU,GAC3B,MAAME,uBAAI,CAACC,kBAAkB,CAAC,IAAAC,oBAAS,EAACJ,UAAU,CAAC,CAAC,GACpDK,SAAS;IACb,IAAI,CAACJ,YAAY,EAAE;MACjB,MAAM,IAAIK,gCAAuB,CAC/B,qCACF,CAAC;IACH;IAEA,MAAMC,UAAU,GAAGC,MAAM,CAACC,OAAO,CAACR,YAAY,CAACS,UAAU,CAAC,CAACrB,MAAM,CAC/D,CAACC,GAAG,EAAAqB,KAAA,KAAqB;MAAA,IAAnB,CAACC,EAAE,EAAEC,QAAQ,CAAC,GAAAF,KAAA;MAClB,MAAMG,eAAe,GAAGN,MAAM,CAACC,OAAO,CAACI,QAAQ,CAAC,CAACxB,MAAM,CACrD,CAAC0B,EAAE,EAAAC,KAAA;QAAA,IAAE,GAAGC,EAAE,CAAC,GAAAD,KAAA;QAAA,OAAM;UACf,GAAGD,EAAE;UACL,CAACE,EAAE,CAACC,iBAAiB,GAAGD,EAAE,CAACE;QAC7B,CAAC;MAAA,CAAC,EACF,CAAC,CACH,CAAC;MAED,OAAO;QACL,GAAG7B,GAAG;QACN,CAACsB,EAAE,GAAGE;MACR,CAAC;IACH,CAAC,EACD,CAAC,CACH,CAAC;IAED,OAAO;MACL3B,iBAAiB,EAAE,UAAU;MAC7BiC,OAAO,EAAEtB,IAAI;MACbS;IACF,CAAC;EACH,CAAC,CACH,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,MAAMc,mBAAmB,GAAIC,MAAuB,IAClDd,MAAM,CAACC,OAAO,CAACa,MAAM,CAACC,kBAAkB,CAAC,CAACC,MAAM,CAC9CC,KAAA;EAAA,IAAC,GAAGC,KAAK,CAAC,GAAAD,KAAA;EAAA,OAAKC,KAAK,CAACC,OAAO,KAAK,IAAI;AAAA,CACvC,CAAiC;AAE5B,MAAMC,iBAAoC,GAAG,MAAAA,CAClDC,KAAK,EACLC,gBAAgB,EAChBpC,eAAe,KACZ;EACH,MAAMnB,WAAW,GAAG,EAAsB;EAC1CA,WAAW,CAACwD,IAAI,CAAC,GAAGzD,uBAAuB,CAACwD,gBAAgB,CAAC,CAAC;EAC9DvD,WAAW,CAACwD,IAAI,CAAC,IAAI,MAAMtC,uBAAuB,CAACC,eAAe,CAAC,CAAC,CAAC;EAErE,IAAI;IACF;IACA,MAAMsC,WAAW,GAAGC,eAAS,CAACC,KAAK,CAACL,KAAK,CAAC;IAC1CI,eAAS,CAACE,QAAQ,CAACH,WAAW,CAAC;IAE/B,MAAMI,WAAW,GAAGH,eAAS,CAACJ,KAAK,CAACG,WAAW,EAAEzD,WAAW,CAAC;IAE7D,IAAI,CAAC6D,WAAW,CAACC,cAAc,EAAE;MAC/B,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;IACtE;IAEA,OAAOjB,mBAAmB,CAACe,WAAW,CAAC,CAAC5D,GAAG,CAAC+D,KAAA,IAAiB;MAAA,IAAAC,qBAAA;MAAA,IAAhB,CAACC,EAAE,EAAEf,KAAK,CAAC,GAAAa,KAAA;MACtD,MAAMG,QAAQ,IAAAF,qBAAA,GAAGJ,WAAW,CAACO,eAAe,cAAAH,qBAAA,gBAAAA,qBAAA,GAA3BA,qBAAA,CACbhB,MAAM,CAAEoB,GAAG;QAAA,IAAAC,qBAAA;QAAA,QAAAA,qBAAA,GAAKD,GAAG,CAACE,gBAAgB,cAAAD,qBAAA,uBAApBA,qBAAA,CAAsBE,IAAI,CAAC,CAAC,CAACC,QAAQ,CAACP,EAAE,CAAC;MAAA,EAAC,cAAAD,qBAAA,uBAD7CA,qBAAA,CAEbhE,GAAG,CAAqByE,aAAa;QAAA,IAAAC,qBAAA;QAAA,OAAM;UAC3CC,WAAW,GAAAD,qBAAA,GAAED,aAAa,CAACG,OAAO,cAAAF,qBAAA,uBAArBA,qBAAA,CAAuBG,QAAQ,CAAC,CAAC;UAC9CC,QAAQ,EAAEC,OAAO,CAACN,aAAa,CAACK,QAAQ;QAC1C,CAAC;MAAA,CAAC,CAAC;MAEL,IACE5B,KAAK,CAAC8B,MAAM,CAACrE,iBAAiB,KAAK,WAAW,IAC9CuC,KAAK,CAAC8B,MAAM,CAACrE,iBAAiB,KAAK,WAAW,EAC9C;QACA,MAAM;UAAEF,GAAG;UAAEG;QAAO,CAAC,GAAGsC,KAAK,CAAC8B,MAAM;QAEpC,MAAM,GAAGC,MAAM,EAAEzD,UAAU,CAAC,GAAG8B,gBAAgB,CAAC4B,IAAI,CAClDC,KAAA;UAAA,IAAC,CAAC7D,IAAI,CAAC,GAAA6D,KAAA;UAAA,OAAK7D,IAAI,KAAKb,GAAG;QAAA,CAC1B,CAAE;QAEF,MAAM2E,mBAAmB,GAAGpD,MAAM,CAACqD,MAAM,CAACzE,MAAM,CAAC,CAACZ,GAAG,CAAEsF,IAAI,IAAK;UAC9D,MAAM,CAAC/D,CAAC,EAAEgE,IAAI,EAAEC,KAAK,CAAC,GAAGF,IAAgC;UACzD,OAAO;YACLC,IAAI;YACJC;UACF,CAAC;QACH,CAAC,CAA0B;QAE3B,OAAO;UACLvB,EAAE;UACFxD,GAAG;UACHwE,MAAM;UACNQ,MAAM,EAAEvC,KAAK,CAAC8B,MAAM,CAACrE,iBAAiB;UACtCa,UAAU;UACV4D,mBAAmB;UACnB;UACA;UACAlB,QAAQ,EAAEA,QAAQ,IAAI,CAAC;YAAEY,QAAQ,EAAE;UAAK,CAAC;QAC3C,CAAC;MACH;MAEA,IAAI5B,KAAK,CAAC8B,MAAM,CAACrE,iBAAiB,KAAK,UAAU,EAAE;QACjD,MAAM;UAAEiC,OAAO;UAAEb;QAAW,CAAC,GAAGmB,KAAK,CAAC8B,MAAM;QAE5C,MAAM,GAAGC,MAAM,EAAEzD,UAAU,CAAC,GAAGN,eAAe,CAACgE,IAAI,CACjDQ,KAAA;UAAA,IAAC,CAACpE,IAAI,CAAC,GAAAoE,KAAA;UAAA,OAAKpE,IAAI,KAAKsB,OAAO;QAAA,CAC9B,CAAE;QACF,MAAMwC,mBAAmB,GAAGpD,MAAM,CAACC,OAAO,CAACF,UAAU,CAAC,CAAClB,MAAM,CAC3D,CAACC,GAAG,EAAA6E,KAAA;UAAA,IAAE,CAACvD,EAAE,EAAEC,QAAQ,CAAC,GAAAsD,KAAA;UAAA,OAAK,CACvB,GAAG7E,GAAG,EACN,GAAGkB,MAAM,CAACC,OAAO,CAACI,QAAQ,CAAC,CAACrC,GAAG,CAAC4F,MAAA;YAAA,IAAC,CAACC,SAAS,CAAC,GAAAD,MAAA;YAAA,OAAM;cAChDE,SAAS,EAAE1D,EAAE;cACbmD,IAAI,EAAEM,SAAS;cACfL,KAAK,EAAEnD,QAAQ,CAACwD,SAAS;YAC3B,CAAC;UAAA,CAAC,CAAC,CACJ;QAAA,GACD,EACF,CAAC;QAED,OAAO;UACL5B,EAAE;UACFgB,MAAM;UACNQ,MAAM,EAAEvC,KAAK,CAAC8B,MAAM,CAACrE,iBAAiB;UACtCa,UAAU;UACV4D,mBAAmB;UACnB;UACA;UACAlB,QAAQ,EAAEA,QAAQ,IAAI,CAAC;YAAEY,QAAQ,EAAE;UAAK,CAAC,CAAC;UAC1ClC;QACF,CAAC;MACH;MAEA,MAAM,IAAIkB,KAAK,CACZ,kCAAiCZ,KAAK,CAAC8B,MAAM,CAACrE,iBAAkB,EACnE,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOoF,KAAK,EAAE;IACd;IACA,IAAI,IAAAC,oBAAW,EAACD,KAAK,CAAC,EAAE;MACtB,MAAM,IAAIE,wBAAgB,CAAC;QACzBC,OAAO,EAAE,oBAAoB;QAC7BC,MAAM,EAAEJ,KAAK,CAACK,MAAM,CAACpG,GAAG,CAAEqG,KAAK,IAAKA,KAAK,CAACH,OAAO,CAAC,CAACI,IAAI,CAAC,IAAI;MAC9D,CAAC,CAAC;IACJ;IAEA,IAAIP,KAAK,YAAYQ,eAAS,EAAE;MAC9B;IAAA;IAEF,IAAIR,KAAK,YAAYS,4BAAsB,EAAE;MAC3C;IAAA;IAEF,MAAMT,KAAK;EACb;AACF,CAAC;AAACU,OAAA,CAAArD,iBAAA,GAAAA,iBAAA"}
|
@@ -9,6 +9,7 @@ var _jsonpathPlus = require("jsonpath-plus");
|
|
9
9
|
var _errors = require("./errors");
|
10
10
|
var _ajv = _interopRequireDefault(require("ajv"));
|
11
11
|
var _ioReactNativeCbor = require("@pagopa/io-react-native-cbor");
|
12
|
+
var _jsrsasign = require("jsrsasign");
|
12
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
14
|
const ajv = new _ajv.default({
|
14
15
|
allErrors: true
|
@@ -181,6 +182,9 @@ const evaluateInputDescriptorForMdoc = (inputDescriptor, issuerSigned) => {
|
|
181
182
|
if (!allFieldsValid) {
|
182
183
|
throw new _errors.MissingDataError("Credential validation failed: Required fields are missing or do not match the input descriptor.");
|
183
184
|
}
|
185
|
+
if (requiredDisclosures.length === 0 && optionalDisclosures.length === 0) {
|
186
|
+
throw new _errors.MissingDataError("Credential validation failed: No required fields were requested and no optional field has been requested or found.");
|
187
|
+
}
|
184
188
|
return {
|
185
189
|
requiredDisclosures,
|
186
190
|
optionalDisclosures
|
@@ -263,6 +267,9 @@ const evaluateInputDescriptorForSdJwt4VC = (inputDescriptor, payloadCredential,
|
|
263
267
|
if (!allFieldsValid) {
|
264
268
|
throw new _errors.MissingDataError("Credential validation failed: Required fields are missing or do not match the input descriptor.");
|
265
269
|
}
|
270
|
+
if (requiredDisclosures.length === 0 && optionalDisclosures.length === 0) {
|
271
|
+
throw new _errors.MissingDataError("Credential validation failed: No required fields were requested and no optional field has been requested or found.");
|
272
|
+
}
|
266
273
|
return {
|
267
274
|
requiredDisclosures,
|
268
275
|
optionalDisclosures
|
@@ -361,7 +368,7 @@ const evaluateInputDescriptors = async (inputDescriptors, credentialsSdJwt, cred
|
|
361
368
|
// We need decode Mdoc credentials for evaluation
|
362
369
|
const decodedMdocCredentials = (await Promise.all(credentialsMdoc === null || credentialsMdoc === void 0 ? void 0 : credentialsMdoc.map(async _ref4 => {
|
363
370
|
let [, keyTag, credential] = _ref4;
|
364
|
-
const issuerSigned = await _ioReactNativeCbor.CBOR.decodeIssuerSigned(credential);
|
371
|
+
const issuerSigned = await _ioReactNativeCbor.CBOR.decodeIssuerSigned((0, _jsrsasign.b64utob64)(credential));
|
365
372
|
if (!issuerSigned) {
|
366
373
|
throw new _errors.CredentialNotFoundError("mso_mdoc credential is not present.");
|
367
374
|
}
|
@@ -372,7 +379,7 @@ const evaluateInputDescriptors = async (inputDescriptors, credentialsSdJwt, cred
|
|
372
379
|
};
|
373
380
|
}))) || [];
|
374
381
|
const results = Promise.all(inputDescriptors.map(async descriptor => {
|
375
|
-
var _descriptor$format, _descriptor$format2;
|
382
|
+
var _descriptor$format, _descriptor$format2, _descriptor$format3;
|
376
383
|
if ((_descriptor$format = descriptor.format) !== null && _descriptor$format !== void 0 && _descriptor$format.mso_mdoc) {
|
377
384
|
if (!credentialsMdoc.length) {
|
378
385
|
throw new _errors.CredentialNotFoundError("mso_mdoc credential is not supported.");
|
@@ -389,9 +396,9 @@ const evaluateInputDescriptors = async (inputDescriptors, credentialsSdJwt, cred
|
|
389
396
|
keyTag: matchedKeyTag
|
390
397
|
};
|
391
398
|
}
|
392
|
-
if ((_descriptor$format2 = descriptor.format) !== null && _descriptor$format2 !== void 0 && _descriptor$format2["vc+sd-jwt"]) {
|
399
|
+
if ((_descriptor$format2 = descriptor.format) !== null && _descriptor$format2 !== void 0 && _descriptor$format2["vc+sd-jwt"] || (_descriptor$format3 = descriptor.format) !== null && _descriptor$format3 !== void 0 && _descriptor$format3["dc+sd-jwt"]) {
|
393
400
|
if (!decodedSdJwtCredentials.length) {
|
394
|
-
throw new _errors.CredentialNotFoundError("vc+sd-jwt credential is not supported.");
|
401
|
+
throw new _errors.CredentialNotFoundError("vc+sd-jwt or dc+sd-jwt credential is not supported.");
|
395
402
|
}
|
396
403
|
const {
|
397
404
|
matchedEvaluation,
|