@sphereon/ssi-types 0.9.1-unstable.87 → 0.10.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/dist/mapper/credential-mapper.d.ts +2 -0
- package/dist/mapper/credential-mapper.d.ts.map +1 -1
- package/dist/mapper/credential-mapper.js +89 -45
- package/dist/mapper/credential-mapper.js.map +1 -1
- package/package.json +2 -2
- package/src/mapper/credential-mapper.ts +108 -48
- package/src/types/vc.ts +1 -1
|
@@ -39,5 +39,7 @@ export declare class CredentialMapper {
|
|
|
39
39
|
static storedPresentationToOriginalFormat(presentation: W3CVerifiablePresentation): W3CVerifiablePresentation;
|
|
40
40
|
static toCompactJWT(jwtDocument: W3CVerifiableCredential | JwtDecodedVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiablePresentation): string;
|
|
41
41
|
static detectDocumentType(document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation): DocumentFormat;
|
|
42
|
+
private static hasJWTProofType;
|
|
43
|
+
private static getFirstProof;
|
|
42
44
|
}
|
|
43
45
|
//# sourceMappingURL=credential-mapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-mapper.d.ts","sourceRoot":"","sources":["../../src/mapper/credential-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,aAAa,EAIb,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,gCAAgC,EAEhC,4BAA4B,EAC5B,8BAA8B,EAG9B,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,UAAU,CAAA;AAIjB,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,4BAA4B,CAAC,YAAY,EAAE,8BAA8B,GAAG,gCAAgC,GAAG,uBAAuB;IAsB7I,MAAM,CAAC,0BAA0B,CAAC,UAAU,EAAE,4BAA4B,GAAG,8BAA8B,GAAG,qBAAqB;IAqBnI,MAAM,CAAC,+BAA+B,CACpC,oBAAoB,EAAE,8BAA8B,EACpD,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,6BAA6B;
|
|
1
|
+
{"version":3,"file":"credential-mapper.d.ts","sourceRoot":"","sources":["../../src/mapper/credential-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
15
|
};
|
|
@@ -57,12 +68,16 @@ class CredentialMapper {
|
|
|
57
68
|
}
|
|
58
69
|
}
|
|
59
70
|
static toWrappedVerifiablePresentation(originalPresentation, opts) {
|
|
60
|
-
const
|
|
71
|
+
const proof = CredentialMapper.getFirstProof(originalPresentation);
|
|
72
|
+
const original = typeof originalPresentation !== 'string' && CredentialMapper.hasJWTProofType(originalPresentation) ? proof === null || proof === void 0 ? void 0 : proof.jwt : originalPresentation;
|
|
73
|
+
if (!original) {
|
|
74
|
+
throw Error('Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof');
|
|
75
|
+
}
|
|
76
|
+
const decoded = CredentialMapper.decodeVerifiablePresentation(original);
|
|
61
77
|
const isJwtEncoded = CredentialMapper.isJwtEncoded(original);
|
|
62
78
|
const isJwtDecoded = CredentialMapper.isJwtDecodedPresentation(original);
|
|
63
79
|
const type = isJwtEncoded ? types_1.OriginalType.JWT_ENCODED : isJwtDecoded ? types_1.OriginalType.JWT_DECODED : types_1.OriginalType.JSONLD;
|
|
64
80
|
const format = isJwtDecoded || isJwtEncoded ? 'jwt_vp' : 'ldp_vp';
|
|
65
|
-
const decoded = CredentialMapper.decodeVerifiablePresentation(original);
|
|
66
81
|
let vp;
|
|
67
82
|
if (isJwtEncoded || isJwtDecoded) {
|
|
68
83
|
vp = CredentialMapper.jwtDecodedPresentationToUniformPresentation(decoded, false, opts);
|
|
@@ -88,8 +103,13 @@ class CredentialMapper {
|
|
|
88
103
|
return verifiableCredentials.map((vc) => CredentialMapper.toWrappedVerifiableCredential(vc, opts));
|
|
89
104
|
}
|
|
90
105
|
static toWrappedVerifiableCredential(verifiableCredential, opts) {
|
|
91
|
-
|
|
92
|
-
const
|
|
106
|
+
var _a;
|
|
107
|
+
const proof = CredentialMapper.getFirstProof(verifiableCredential);
|
|
108
|
+
const original = CredentialMapper.hasJWTProofType(verifiableCredential) && proof ? (_a = proof.jwt) !== null && _a !== void 0 ? _a : verifiableCredential : verifiableCredential;
|
|
109
|
+
if (!original) {
|
|
110
|
+
throw Error('Could not determine original credential, probably it was a converted JWT credential, that is now missing the JWT value in the proof');
|
|
111
|
+
}
|
|
112
|
+
const decoded = CredentialMapper.decodeVerifiableCredential(original);
|
|
93
113
|
const isJwtEncoded = CredentialMapper.isJwtEncoded(original);
|
|
94
114
|
const isJwtDecoded = CredentialMapper.isJwtDecodedCredential(original);
|
|
95
115
|
const type = isJwtEncoded ? types_1.OriginalType.JWT_ENCODED : isJwtDecoded ? types_1.OriginalType.JWT_DECODED : types_1.OriginalType.JSONLD;
|
|
@@ -121,43 +141,50 @@ class CredentialMapper {
|
|
|
121
141
|
return CredentialMapper.jwtDecodedPresentationToUniformPresentation((0, jwt_decode_1.default)(jwt), makeCredentialsUniform, opts);
|
|
122
142
|
}
|
|
123
143
|
static jwtDecodedPresentationToUniformPresentation(decoded, makeCredentialsUniform = true, opts) {
|
|
124
|
-
const
|
|
144
|
+
const { iss, aud, jti, vp } = decoded, rest = __rest(decoded, ["iss", "aud", "jti", "vp"]);
|
|
145
|
+
const presentation = Object.assign(Object.assign({}, rest), vp);
|
|
125
146
|
if (makeCredentialsUniform) {
|
|
126
|
-
if (!
|
|
147
|
+
if (!vp.verifiableCredential) {
|
|
127
148
|
throw Error('Verifiable Presentation should have a verifiable credential at this point');
|
|
128
149
|
}
|
|
129
|
-
presentation.verifiableCredential =
|
|
150
|
+
presentation.verifiableCredential = vp.verifiableCredential.map((vc) => CredentialMapper.toUniformCredential(vc, opts));
|
|
130
151
|
}
|
|
131
|
-
if (
|
|
152
|
+
if (iss) {
|
|
132
153
|
const holder = presentation.holder;
|
|
133
154
|
if (holder) {
|
|
134
|
-
if (holder !==
|
|
135
|
-
throw new Error(`Inconsistent holders between JWT claim (${
|
|
155
|
+
if (holder !== iss) {
|
|
156
|
+
throw new Error(`Inconsistent holders between JWT claim (${iss}) and VC value (${holder})`);
|
|
136
157
|
}
|
|
137
158
|
}
|
|
138
|
-
presentation.holder =
|
|
159
|
+
presentation.holder = iss;
|
|
139
160
|
}
|
|
140
|
-
if (
|
|
161
|
+
if (aud) {
|
|
141
162
|
const verifier = presentation.verifier;
|
|
142
163
|
if (verifier) {
|
|
143
|
-
if (verifier !==
|
|
144
|
-
throw new Error(`Inconsistent holders between JWT claim (${
|
|
164
|
+
if (verifier !== aud) {
|
|
165
|
+
throw new Error(`Inconsistent holders between JWT claim (${aud}) and VC value (${verifier})`);
|
|
145
166
|
}
|
|
146
167
|
}
|
|
147
|
-
presentation.verifier =
|
|
168
|
+
presentation.verifier = aud;
|
|
148
169
|
}
|
|
149
|
-
if (
|
|
170
|
+
if (jti) {
|
|
150
171
|
const id = presentation.id;
|
|
151
|
-
if (id && id !==
|
|
152
|
-
throw new Error(`Inconsistent VP ids between JWT claim (${
|
|
172
|
+
if (id && id !== jti) {
|
|
173
|
+
throw new Error(`Inconsistent VP ids between JWT claim (${jti}) and VP value (${id})`);
|
|
153
174
|
}
|
|
154
|
-
presentation.id =
|
|
175
|
+
presentation.id = jti;
|
|
155
176
|
}
|
|
156
177
|
return presentation;
|
|
157
178
|
}
|
|
158
179
|
static toUniformCredential(verifiableCredential, opts) {
|
|
159
|
-
|
|
160
|
-
const
|
|
180
|
+
var _a;
|
|
181
|
+
const original = typeof verifiableCredential !== 'string' && CredentialMapper.hasJWTProofType(verifiableCredential)
|
|
182
|
+
? (_a = CredentialMapper.getFirstProof(verifiableCredential)) === null || _a === void 0 ? void 0 : _a.jwt
|
|
183
|
+
: verifiableCredential;
|
|
184
|
+
if (!original) {
|
|
185
|
+
throw Error('Could not determine original credential from passed in credential. Probably because a JWT proof type was present, but now is not available anymore');
|
|
186
|
+
}
|
|
187
|
+
const decoded = CredentialMapper.decodeVerifiableCredential(original);
|
|
161
188
|
const isJwtEncoded = CredentialMapper.isJwtEncoded(original);
|
|
162
189
|
const isJwtDecoded = CredentialMapper.isJwtDecodedCredential(original);
|
|
163
190
|
if (isJwtDecoded || isJwtEncoded) {
|
|
@@ -169,7 +196,11 @@ class CredentialMapper {
|
|
|
169
196
|
}
|
|
170
197
|
static toUniformPresentation(presentation, opts) {
|
|
171
198
|
var _a;
|
|
172
|
-
const
|
|
199
|
+
const proof = CredentialMapper.getFirstProof(presentation);
|
|
200
|
+
const original = typeof presentation !== 'string' && CredentialMapper.hasJWTProofType(presentation) ? proof === null || proof === void 0 ? void 0 : proof.jwt : presentation;
|
|
201
|
+
if (!original) {
|
|
202
|
+
throw Error('Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof');
|
|
203
|
+
}
|
|
173
204
|
const decoded = CredentialMapper.decodeVerifiablePresentation(original);
|
|
174
205
|
const isJwtEncoded = CredentialMapper.isJwtEncoded(original);
|
|
175
206
|
const isJwtDecoded = CredentialMapper.isJwtDecodedPresentation(original);
|
|
@@ -187,11 +218,12 @@ class CredentialMapper {
|
|
|
187
218
|
return CredentialMapper.jwtDecodedCredentialToUniformCredential((0, jwt_decode_1.default)(jwt), opts);
|
|
188
219
|
}
|
|
189
220
|
static jwtDecodedCredentialToUniformCredential(decoded, opts) {
|
|
190
|
-
const
|
|
221
|
+
const { exp, nbf, iss, vc, sub, jti } = decoded, rest = __rest(decoded, ["exp", "nbf", "iss", "vc", "sub", "jti"]);
|
|
222
|
+
const credential = Object.assign(Object.assign({}, rest), vc);
|
|
191
223
|
const maxSkewInMS = (opts === null || opts === void 0 ? void 0 : opts.maxTimeSkewInMS) !== undefined ? opts.maxTimeSkewInMS : 999;
|
|
192
|
-
if (
|
|
224
|
+
if (exp) {
|
|
193
225
|
const expDate = credential.expirationDate;
|
|
194
|
-
const jwtExp = parseInt(
|
|
226
|
+
const jwtExp = parseInt(exp.toString());
|
|
195
227
|
// fix seconds to millisecond for the date
|
|
196
228
|
const expDateAsStr = jwtExp < 9999999999 ? new Date(jwtExp * 1000).toISOString().replace(/\.000Z/, 'Z') : new Date(jwtExp).toISOString();
|
|
197
229
|
if (expDate && expDate !== expDateAsStr) {
|
|
@@ -202,9 +234,9 @@ class CredentialMapper {
|
|
|
202
234
|
}
|
|
203
235
|
credential.expirationDate = expDateAsStr;
|
|
204
236
|
}
|
|
205
|
-
if (
|
|
237
|
+
if (nbf) {
|
|
206
238
|
const issuanceDate = credential.issuanceDate;
|
|
207
|
-
const jwtNbf = parseInt(
|
|
239
|
+
const jwtNbf = parseInt(nbf.toString());
|
|
208
240
|
// fix seconds to millisecs for the date
|
|
209
241
|
const nbfDateAsStr = jwtNbf < 9999999999 ? new Date(jwtNbf * 1000).toISOString().replace(/\.000Z/, 'Z') : new Date(jwtNbf).toISOString();
|
|
210
242
|
if (issuanceDate && issuanceDate !== nbfDateAsStr) {
|
|
@@ -215,42 +247,40 @@ class CredentialMapper {
|
|
|
215
247
|
}
|
|
216
248
|
credential.issuanceDate = nbfDateAsStr;
|
|
217
249
|
}
|
|
218
|
-
if (
|
|
250
|
+
if (iss) {
|
|
219
251
|
const issuer = credential.issuer;
|
|
220
252
|
if (issuer) {
|
|
221
253
|
if (typeof issuer === 'string') {
|
|
222
|
-
if (issuer !==
|
|
223
|
-
throw new Error(`Inconsistent issuers between JWT claim (${
|
|
254
|
+
if (issuer !== iss) {
|
|
255
|
+
throw new Error(`Inconsistent issuers between JWT claim (${iss}) and VC value (${issuer})`);
|
|
224
256
|
}
|
|
225
257
|
}
|
|
226
258
|
else {
|
|
227
|
-
if (issuer.id !==
|
|
228
|
-
throw new Error(`Inconsistent issuers between JWT claim (${
|
|
259
|
+
if (issuer.id !== iss) {
|
|
260
|
+
throw new Error(`Inconsistent issuers between JWT claim (${iss}) and VC value (${issuer.id})`);
|
|
229
261
|
}
|
|
230
262
|
}
|
|
231
263
|
}
|
|
232
264
|
else {
|
|
233
|
-
credential.issuer =
|
|
265
|
+
credential.issuer = iss;
|
|
234
266
|
}
|
|
235
267
|
}
|
|
236
|
-
if (
|
|
268
|
+
if (sub) {
|
|
237
269
|
const subjects = Array.isArray(credential.credentialSubject) ? credential.credentialSubject : [credential.credentialSubject];
|
|
238
270
|
for (let i = 0; i < subjects.length; i++) {
|
|
239
271
|
const csId = subjects[i].id;
|
|
240
|
-
if (csId && csId !==
|
|
241
|
-
throw new Error(`Inconsistent credential subject ids between JWT claim (${
|
|
272
|
+
if (csId && csId !== sub) {
|
|
273
|
+
throw new Error(`Inconsistent credential subject ids between JWT claim (${sub}) and VC value (${csId})`);
|
|
242
274
|
}
|
|
243
|
-
Array.isArray(credential.credentialSubject)
|
|
244
|
-
? (credential.credentialSubject[i].id = decoded.sub)
|
|
245
|
-
: (credential.credentialSubject.id = decoded.sub);
|
|
275
|
+
Array.isArray(credential.credentialSubject) ? (credential.credentialSubject[i].id = sub) : (credential.credentialSubject.id = sub);
|
|
246
276
|
}
|
|
247
277
|
}
|
|
248
|
-
if (
|
|
278
|
+
if (jti) {
|
|
249
279
|
const id = credential.id;
|
|
250
|
-
if (id && id !==
|
|
251
|
-
throw new Error(`Inconsistent credential ids between JWT claim (${
|
|
280
|
+
if (id && id !== jti) {
|
|
281
|
+
throw new Error(`Inconsistent credential ids between JWT claim (${jti}) and VC value (${id})`);
|
|
252
282
|
}
|
|
253
|
-
credential.id =
|
|
283
|
+
credential.id = jti;
|
|
254
284
|
}
|
|
255
285
|
return credential;
|
|
256
286
|
}
|
|
@@ -329,14 +359,28 @@ class CredentialMapper {
|
|
|
329
359
|
}
|
|
330
360
|
const proofs = 'vc' in document ? document.vc.proof : 'vp' in document ? document.vp.proof : document.proof;
|
|
331
361
|
const proof = Array.isArray(proofs) ? proofs[0] : proofs;
|
|
332
|
-
if (proof.jwt) {
|
|
362
|
+
if (proof === null || proof === void 0 ? void 0 : proof.jwt) {
|
|
333
363
|
return 0 /* DocumentFormat.JWT */;
|
|
334
364
|
}
|
|
335
|
-
else if (proof.type === 'EthereumEip712Signature2021') {
|
|
365
|
+
else if ((proof === null || proof === void 0 ? void 0 : proof.type) === 'EthereumEip712Signature2021') {
|
|
336
366
|
return 2 /* DocumentFormat.EIP712 */;
|
|
337
367
|
}
|
|
338
368
|
return 1 /* DocumentFormat.JSONLD */;
|
|
339
369
|
}
|
|
370
|
+
static hasJWTProofType(document) {
|
|
371
|
+
var _a;
|
|
372
|
+
if (typeof document === 'string') {
|
|
373
|
+
return false;
|
|
374
|
+
}
|
|
375
|
+
return !!((_a = CredentialMapper.getFirstProof(document)) === null || _a === void 0 ? void 0 : _a.jwt);
|
|
376
|
+
}
|
|
377
|
+
static getFirstProof(document) {
|
|
378
|
+
if (typeof document === 'string') {
|
|
379
|
+
return undefined;
|
|
380
|
+
}
|
|
381
|
+
const proofs = 'vc' in document ? document.vc.proof : 'vp' in document ? document.vp.proof : document.proof;
|
|
382
|
+
return Array.isArray(proofs) ? proofs[0] : proofs;
|
|
383
|
+
}
|
|
340
384
|
}
|
|
341
385
|
exports.CredentialMapper = CredentialMapper;
|
|
342
386
|
//# sourceMappingURL=credential-mapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-mapper.js","sourceRoot":"","sources":["../../src/mapper/credential-mapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"credential-mapper.js","sourceRoot":"","sources":["../../src/mapper/credential-mapper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-types",
|
|
3
3
|
"description": "SSI Common Types",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.10.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
"Verifiable Credentials",
|
|
39
39
|
"DIDs"
|
|
40
40
|
],
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "134e3ba941e7f9574c2e11c6d5088ab5e8581955"
|
|
42
42
|
}
|
|
@@ -69,13 +69,21 @@ export class CredentialMapper {
|
|
|
69
69
|
originalPresentation: OriginalVerifiablePresentation,
|
|
70
70
|
opts?: { maxTimeSkewInMS?: number }
|
|
71
71
|
): WrappedVerifiablePresentation {
|
|
72
|
-
const
|
|
72
|
+
const proof = CredentialMapper.getFirstProof(originalPresentation)
|
|
73
|
+
const original =
|
|
74
|
+
typeof originalPresentation !== 'string' && CredentialMapper.hasJWTProofType(originalPresentation) ? proof?.jwt : originalPresentation
|
|
75
|
+
if (!original) {
|
|
76
|
+
throw Error(
|
|
77
|
+
'Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof'
|
|
78
|
+
)
|
|
79
|
+
}
|
|
80
|
+
const decoded = CredentialMapper.decodeVerifiablePresentation(original)
|
|
73
81
|
const isJwtEncoded: boolean = CredentialMapper.isJwtEncoded(original)
|
|
74
82
|
const isJwtDecoded: boolean = CredentialMapper.isJwtDecodedPresentation(original)
|
|
75
83
|
|
|
76
84
|
const type = isJwtEncoded ? OriginalType.JWT_ENCODED : isJwtDecoded ? OriginalType.JWT_DECODED : OriginalType.JSONLD
|
|
77
85
|
const format: PresentationFormat = isJwtDecoded || isJwtEncoded ? 'jwt_vp' : 'ldp_vp'
|
|
78
|
-
|
|
86
|
+
|
|
79
87
|
let vp: OriginalVerifiablePresentation
|
|
80
88
|
if (isJwtEncoded || isJwtDecoded) {
|
|
81
89
|
vp = CredentialMapper.jwtDecodedPresentationToUniformPresentation(decoded as JwtDecodedVerifiablePresentation, false, opts)
|
|
@@ -92,7 +100,7 @@ export class CredentialMapper {
|
|
|
92
100
|
|
|
93
101
|
const presentation = {
|
|
94
102
|
...vp,
|
|
95
|
-
verifiableCredential: vcs, // We overwrite the
|
|
103
|
+
verifiableCredential: vcs, // We overwrite the verifiableCredentials with wrapped versions, making it an InternalVerifiablePresentation. Note: we keep the singular key name of the vc data model
|
|
96
104
|
} as UniformVerifiablePresentation
|
|
97
105
|
return {
|
|
98
106
|
type,
|
|
@@ -115,8 +123,14 @@ export class CredentialMapper {
|
|
|
115
123
|
verifiableCredential: OriginalVerifiableCredential,
|
|
116
124
|
opts?: { maxTimeSkewInMS?: number }
|
|
117
125
|
): WrappedVerifiableCredential {
|
|
118
|
-
const
|
|
119
|
-
const
|
|
126
|
+
const proof = CredentialMapper.getFirstProof(verifiableCredential)
|
|
127
|
+
const original = CredentialMapper.hasJWTProofType(verifiableCredential) && proof ? proof.jwt ?? verifiableCredential : verifiableCredential
|
|
128
|
+
if (!original) {
|
|
129
|
+
throw Error(
|
|
130
|
+
'Could not determine original credential, probably it was a converted JWT credential, that is now missing the JWT value in the proof'
|
|
131
|
+
)
|
|
132
|
+
}
|
|
133
|
+
const decoded = CredentialMapper.decodeVerifiableCredential(original)
|
|
120
134
|
|
|
121
135
|
const isJwtEncoded = CredentialMapper.isJwtEncoded(original)
|
|
122
136
|
const isJwtDecoded = CredentialMapper.isJwtDecodedCredential(original)
|
|
@@ -166,46 +180,62 @@ export class CredentialMapper {
|
|
|
166
180
|
makeCredentialsUniform: boolean = true,
|
|
167
181
|
opts?: { maxTimeSkewInMS?: number }
|
|
168
182
|
): IVerifiablePresentation {
|
|
183
|
+
const { iss, aud, jti, vp, ...rest } = decoded
|
|
184
|
+
|
|
169
185
|
const presentation: IVerifiablePresentation = {
|
|
170
|
-
...
|
|
186
|
+
...rest,
|
|
187
|
+
...vp,
|
|
171
188
|
}
|
|
172
189
|
if (makeCredentialsUniform) {
|
|
173
|
-
if (!
|
|
190
|
+
if (!vp.verifiableCredential) {
|
|
174
191
|
throw Error('Verifiable Presentation should have a verifiable credential at this point')
|
|
175
192
|
}
|
|
176
|
-
presentation.verifiableCredential =
|
|
193
|
+
presentation.verifiableCredential = vp.verifiableCredential.map((vc) => CredentialMapper.toUniformCredential(vc, opts))
|
|
177
194
|
}
|
|
178
|
-
if (
|
|
195
|
+
if (iss) {
|
|
179
196
|
const holder = presentation.holder
|
|
180
197
|
if (holder) {
|
|
181
|
-
if (holder !==
|
|
182
|
-
throw new Error(`Inconsistent holders between JWT claim (${
|
|
198
|
+
if (holder !== iss) {
|
|
199
|
+
throw new Error(`Inconsistent holders between JWT claim (${iss}) and VC value (${holder})`)
|
|
183
200
|
}
|
|
184
201
|
}
|
|
185
|
-
presentation.holder =
|
|
202
|
+
presentation.holder = iss
|
|
186
203
|
}
|
|
187
|
-
if (
|
|
204
|
+
if (aud) {
|
|
188
205
|
const verifier = presentation.verifier
|
|
189
206
|
if (verifier) {
|
|
190
|
-
if (verifier !==
|
|
191
|
-
throw new Error(`Inconsistent holders between JWT claim (${
|
|
207
|
+
if (verifier !== aud) {
|
|
208
|
+
throw new Error(`Inconsistent holders between JWT claim (${aud}) and VC value (${verifier})`)
|
|
192
209
|
}
|
|
193
210
|
}
|
|
194
|
-
presentation.verifier =
|
|
211
|
+
presentation.verifier = aud
|
|
195
212
|
}
|
|
196
|
-
if (
|
|
213
|
+
if (jti) {
|
|
197
214
|
const id = presentation.id
|
|
198
|
-
if (id && id !==
|
|
199
|
-
throw new Error(`Inconsistent VP ids between JWT claim (${
|
|
215
|
+
if (id && id !== jti) {
|
|
216
|
+
throw new Error(`Inconsistent VP ids between JWT claim (${jti}) and VP value (${id})`)
|
|
200
217
|
}
|
|
201
|
-
presentation.id =
|
|
218
|
+
presentation.id = jti
|
|
202
219
|
}
|
|
203
220
|
return presentation
|
|
204
221
|
}
|
|
205
222
|
|
|
206
|
-
static toUniformCredential(
|
|
207
|
-
|
|
208
|
-
|
|
223
|
+
static toUniformCredential(
|
|
224
|
+
verifiableCredential: OriginalVerifiableCredential,
|
|
225
|
+
opts?: {
|
|
226
|
+
maxTimeSkewInMS?: number
|
|
227
|
+
}
|
|
228
|
+
): IVerifiableCredential {
|
|
229
|
+
const original =
|
|
230
|
+
typeof verifiableCredential !== 'string' && CredentialMapper.hasJWTProofType(verifiableCredential)
|
|
231
|
+
? CredentialMapper.getFirstProof(verifiableCredential)?.jwt
|
|
232
|
+
: verifiableCredential
|
|
233
|
+
if (!original) {
|
|
234
|
+
throw Error(
|
|
235
|
+
'Could not determine original credential from passed in credential. Probably because a JWT proof type was present, but now is not available anymore'
|
|
236
|
+
)
|
|
237
|
+
}
|
|
238
|
+
const decoded = CredentialMapper.decodeVerifiableCredential(original)
|
|
209
239
|
|
|
210
240
|
const isJwtEncoded: boolean = CredentialMapper.isJwtEncoded(original)
|
|
211
241
|
const isJwtDecoded: boolean = CredentialMapper.isJwtDecodedCredential(original)
|
|
@@ -221,7 +251,13 @@ export class CredentialMapper {
|
|
|
221
251
|
presentation: OriginalVerifiablePresentation,
|
|
222
252
|
opts?: { maxTimeSkewInMS?: number; addContextIfMissing?: boolean }
|
|
223
253
|
): IVerifiablePresentation {
|
|
224
|
-
const
|
|
254
|
+
const proof = CredentialMapper.getFirstProof(presentation)
|
|
255
|
+
const original = typeof presentation !== 'string' && CredentialMapper.hasJWTProofType(presentation) ? proof?.jwt : presentation
|
|
256
|
+
if (!original) {
|
|
257
|
+
throw Error(
|
|
258
|
+
'Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof'
|
|
259
|
+
)
|
|
260
|
+
}
|
|
225
261
|
const decoded = CredentialMapper.decodeVerifiablePresentation(original)
|
|
226
262
|
const isJwtEncoded: boolean = CredentialMapper.isJwtEncoded(original)
|
|
227
263
|
const isJwtDecoded: boolean = CredentialMapper.isJwtDecodedPresentation(original)
|
|
@@ -241,7 +277,12 @@ export class CredentialMapper {
|
|
|
241
277
|
return uniformPresentation
|
|
242
278
|
}
|
|
243
279
|
|
|
244
|
-
static jwtEncodedCredentialToUniformCredential(
|
|
280
|
+
static jwtEncodedCredentialToUniformCredential(
|
|
281
|
+
jwt: string,
|
|
282
|
+
opts?: {
|
|
283
|
+
maxTimeSkewInMS?: number
|
|
284
|
+
}
|
|
285
|
+
): IVerifiableCredential {
|
|
245
286
|
return CredentialMapper.jwtDecodedCredentialToUniformCredential(jwt_decode(jwt), opts)
|
|
246
287
|
}
|
|
247
288
|
|
|
@@ -249,15 +290,17 @@ export class CredentialMapper {
|
|
|
249
290
|
decoded: JwtDecodedVerifiableCredential,
|
|
250
291
|
opts?: { maxTimeSkewInMS?: number }
|
|
251
292
|
): IVerifiableCredential {
|
|
293
|
+
const { exp, nbf, iss, vc, sub, jti, ...rest } = decoded
|
|
252
294
|
const credential: IVerifiableCredential = {
|
|
253
|
-
...
|
|
295
|
+
...rest,
|
|
296
|
+
...vc,
|
|
254
297
|
}
|
|
255
298
|
|
|
256
299
|
const maxSkewInMS = opts?.maxTimeSkewInMS !== undefined ? opts.maxTimeSkewInMS : 999
|
|
257
300
|
|
|
258
|
-
if (
|
|
301
|
+
if (exp) {
|
|
259
302
|
const expDate = credential.expirationDate
|
|
260
|
-
const jwtExp = parseInt(
|
|
303
|
+
const jwtExp = parseInt(exp.toString())
|
|
261
304
|
// fix seconds to millisecond for the date
|
|
262
305
|
const expDateAsStr = jwtExp < 9999999999 ? new Date(jwtExp * 1000).toISOString().replace(/\.000Z/, 'Z') : new Date(jwtExp).toISOString()
|
|
263
306
|
if (expDate && expDate !== expDateAsStr) {
|
|
@@ -269,9 +312,9 @@ export class CredentialMapper {
|
|
|
269
312
|
credential.expirationDate = expDateAsStr
|
|
270
313
|
}
|
|
271
314
|
|
|
272
|
-
if (
|
|
315
|
+
if (nbf) {
|
|
273
316
|
const issuanceDate = credential.issuanceDate
|
|
274
|
-
const jwtNbf = parseInt(
|
|
317
|
+
const jwtNbf = parseInt(nbf.toString())
|
|
275
318
|
// fix seconds to millisecs for the date
|
|
276
319
|
const nbfDateAsStr = jwtNbf < 9999999999 ? new Date(jwtNbf * 1000).toISOString().replace(/\.000Z/, 'Z') : new Date(jwtNbf).toISOString()
|
|
277
320
|
if (issuanceDate && issuanceDate !== nbfDateAsStr) {
|
|
@@ -283,41 +326,39 @@ export class CredentialMapper {
|
|
|
283
326
|
credential.issuanceDate = nbfDateAsStr
|
|
284
327
|
}
|
|
285
328
|
|
|
286
|
-
if (
|
|
329
|
+
if (iss) {
|
|
287
330
|
const issuer = credential.issuer
|
|
288
331
|
if (issuer) {
|
|
289
332
|
if (typeof issuer === 'string') {
|
|
290
|
-
if (issuer !==
|
|
291
|
-
throw new Error(`Inconsistent issuers between JWT claim (${
|
|
333
|
+
if (issuer !== iss) {
|
|
334
|
+
throw new Error(`Inconsistent issuers between JWT claim (${iss}) and VC value (${issuer})`)
|
|
292
335
|
}
|
|
293
336
|
} else {
|
|
294
|
-
if (issuer.id !==
|
|
295
|
-
throw new Error(`Inconsistent issuers between JWT claim (${
|
|
337
|
+
if (issuer.id !== iss) {
|
|
338
|
+
throw new Error(`Inconsistent issuers between JWT claim (${iss}) and VC value (${issuer.id})`)
|
|
296
339
|
}
|
|
297
340
|
}
|
|
298
341
|
} else {
|
|
299
|
-
credential.issuer =
|
|
342
|
+
credential.issuer = iss
|
|
300
343
|
}
|
|
301
344
|
}
|
|
302
345
|
|
|
303
|
-
if (
|
|
346
|
+
if (sub) {
|
|
304
347
|
const subjects = Array.isArray(credential.credentialSubject) ? credential.credentialSubject : [credential.credentialSubject]
|
|
305
348
|
for (let i = 0; i < subjects.length; i++) {
|
|
306
349
|
const csId = subjects[i].id
|
|
307
|
-
if (csId && csId !==
|
|
308
|
-
throw new Error(`Inconsistent credential subject ids between JWT claim (${
|
|
350
|
+
if (csId && csId !== sub) {
|
|
351
|
+
throw new Error(`Inconsistent credential subject ids between JWT claim (${sub}) and VC value (${csId})`)
|
|
309
352
|
}
|
|
310
|
-
Array.isArray(credential.credentialSubject)
|
|
311
|
-
? (credential.credentialSubject[i].id = decoded.sub)
|
|
312
|
-
: (credential.credentialSubject.id = decoded.sub)
|
|
353
|
+
Array.isArray(credential.credentialSubject) ? (credential.credentialSubject[i].id = sub) : (credential.credentialSubject.id = sub)
|
|
313
354
|
}
|
|
314
355
|
}
|
|
315
|
-
if (
|
|
356
|
+
if (jti) {
|
|
316
357
|
const id = credential.id
|
|
317
|
-
if (id && id !==
|
|
318
|
-
throw new Error(`Inconsistent credential ids between JWT claim (${
|
|
358
|
+
if (id && id !== jti) {
|
|
359
|
+
throw new Error(`Inconsistent credential ids between JWT claim (${jti}) and VC value (${id})`)
|
|
319
360
|
}
|
|
320
|
-
credential.id =
|
|
361
|
+
credential.id = jti
|
|
321
362
|
}
|
|
322
363
|
|
|
323
364
|
return credential
|
|
@@ -417,11 +458,30 @@ export class CredentialMapper {
|
|
|
417
458
|
const proofs = 'vc' in document ? document.vc.proof : 'vp' in document ? document.vp.proof : (<IVerifiableCredential>document).proof
|
|
418
459
|
const proof: IProof = Array.isArray(proofs) ? proofs[0] : proofs
|
|
419
460
|
|
|
420
|
-
if (proof
|
|
461
|
+
if (proof?.jwt) {
|
|
421
462
|
return DocumentFormat.JWT
|
|
422
|
-
} else if (proof
|
|
463
|
+
} else if (proof?.type === 'EthereumEip712Signature2021') {
|
|
423
464
|
return DocumentFormat.EIP712
|
|
424
465
|
}
|
|
425
466
|
return DocumentFormat.JSONLD
|
|
426
467
|
}
|
|
468
|
+
|
|
469
|
+
private static hasJWTProofType(
|
|
470
|
+
document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation
|
|
471
|
+
): boolean {
|
|
472
|
+
if (typeof document === 'string') {
|
|
473
|
+
return false
|
|
474
|
+
}
|
|
475
|
+
return !!CredentialMapper.getFirstProof(document)?.jwt
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
private static getFirstProof(
|
|
479
|
+
document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation
|
|
480
|
+
): IProof | undefined {
|
|
481
|
+
if (typeof document === 'string') {
|
|
482
|
+
return undefined
|
|
483
|
+
}
|
|
484
|
+
const proofs = 'vc' in document ? document.vc.proof : 'vp' in document ? document.vp.proof : (<IVerifiableCredential>document).proof
|
|
485
|
+
return Array.isArray(proofs) ? proofs[0] : proofs
|
|
486
|
+
}
|
|
427
487
|
}
|
package/src/types/vc.ts
CHANGED
|
@@ -9,7 +9,7 @@ export interface ICredential {
|
|
|
9
9
|
'@context': ICredentialContextType | ICredentialContextType[]
|
|
10
10
|
type: string[]
|
|
11
11
|
credentialSchema?: undefined | ICredentialSchemaType | ICredentialSchemaType[]
|
|
12
|
-
// If iss is present, the value MUST be used to set the issuer property of the new credential JSON object or the
|
|
12
|
+
// If iss is present, the value MUST be used to set the issuer property of the new credential JSON object or the holderDID property of the new presentation JSON object.
|
|
13
13
|
issuer: IIssuerId | IIssuer
|
|
14
14
|
// If nbf is present, the UNIX timestamp MUST be converted to an [XMLSCHEMA11-2] date-time, and MUST be used to set the value of the issuanceDate property of the new JSON object.
|
|
15
15
|
issuanceDate: string
|