@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.
@@ -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;IAoChC,MAAM,CAAC,8BAA8B,CACnC,qBAAqB,EAAE,4BAA4B,EAAE,EACrD,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,2BAA2B,EAAE;IAIhC,MAAM,CAAC,6BAA6B,CAClC,oBAAoB,EAAE,4BAA4B,EAClD,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,2BAA2B;WAuBhB,YAAY,CAAC,QAAQ,EAAE,4BAA4B,GAAG,8BAA8B;IAIlG,OAAO,CAAC,MAAM,CAAC,gBAAgB;WAIjB,sBAAsB,CAAC,QAAQ,EAAE,4BAA4B,GAAG,OAAO;WAIvE,wBAAwB,CAAC,QAAQ,EAAE,8BAA8B,GAAG,OAAO;IAIzF,MAAM,CAAC,2CAA2C,CAChD,GAAG,EAAE,MAAM,EACX,sBAAsB,GAAE,OAAc,EACtC,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,aAAa;IAIhB,MAAM,CAAC,2CAA2C,CAChD,OAAO,EAAE,gCAAgC,EACzC,sBAAsB,GAAE,OAAc,EACtC,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,uBAAuB;IAsC1B,MAAM,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,4BAA4B,EAAE,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,qBAAqB;IAc1I,MAAM,CAAC,qBAAqB,CAC1B,YAAY,EAAE,8BAA8B,EAC5C,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GACjE,uBAAuB;IAqB1B,MAAM,CAAC,uCAAuC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,qBAAqB;IAIvH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,8BAA8B,EACvC,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,qBAAqB;IA2ExB,MAAM,CAAC,8BAA8B,CAAC,oBAAoB,EAAE,GAAG,GAAG,qBAAqB;IAsCvF,MAAM,CAAC,gCAAgC,CAAC,UAAU,EAAE,uBAAuB,GAAG,uBAAuB;IAYrG,MAAM,CAAC,kCAAkC,CAAC,YAAY,EAAE,yBAAyB,GAAG,yBAAyB;IAY7G,MAAM,CAAC,YAAY,CACjB,WAAW,EAAE,uBAAuB,GAAG,8BAA8B,GAAG,yBAAyB,GAAG,gCAAgC,GACnI,MAAM;IAqBT,MAAM,CAAC,kBAAkB,CACvB,QAAQ,EAAE,uBAAuB,GAAG,yBAAyB,GAAG,8BAA8B,GAAG,gCAAgC,GAChI,cAAc;CAclB"}
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 original = originalPresentation;
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
- const original = verifiableCredential;
92
- const decoded = CredentialMapper.decodeVerifiableCredential(verifiableCredential);
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 presentation = Object.assign({}, decoded.vp);
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 (!decoded.vp.verifiableCredential) {
147
+ if (!vp.verifiableCredential) {
127
148
  throw Error('Verifiable Presentation should have a verifiable credential at this point');
128
149
  }
129
- presentation.verifiableCredential = decoded.vp.verifiableCredential.map((vc) => CredentialMapper.toUniformCredential(vc, opts));
150
+ presentation.verifiableCredential = vp.verifiableCredential.map((vc) => CredentialMapper.toUniformCredential(vc, opts));
130
151
  }
131
- if (decoded.iss) {
152
+ if (iss) {
132
153
  const holder = presentation.holder;
133
154
  if (holder) {
134
- if (holder !== decoded.iss) {
135
- throw new Error(`Inconsistent holders between JWT claim (${decoded.iss}) and VC value (${holder})`);
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 = decoded.iss;
159
+ presentation.holder = iss;
139
160
  }
140
- if (decoded.aud) {
161
+ if (aud) {
141
162
  const verifier = presentation.verifier;
142
163
  if (verifier) {
143
- if (verifier !== decoded.aud) {
144
- throw new Error(`Inconsistent holders between JWT claim (${decoded.iss}) and VC value (${verifier})`);
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 = decoded.aud;
168
+ presentation.verifier = aud;
148
169
  }
149
- if (decoded.jti) {
170
+ if (jti) {
150
171
  const id = presentation.id;
151
- if (id && id !== decoded.jti) {
152
- throw new Error(`Inconsistent VP ids between JWT claim (${decoded.jti}) and VP value (${id})`);
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 = decoded.jti;
175
+ presentation.id = jti;
155
176
  }
156
177
  return presentation;
157
178
  }
158
179
  static toUniformCredential(verifiableCredential, opts) {
159
- const original = verifiableCredential;
160
- const decoded = CredentialMapper.decodeVerifiableCredential(verifiableCredential);
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 original = presentation;
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 credential = Object.assign({}, decoded.vc);
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 (decoded.exp) {
224
+ if (exp) {
193
225
  const expDate = credential.expirationDate;
194
- const jwtExp = parseInt(decoded.exp.toString());
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 (decoded.nbf) {
237
+ if (nbf) {
206
238
  const issuanceDate = credential.issuanceDate;
207
- const jwtNbf = parseInt(decoded.nbf.toString());
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 (decoded.iss) {
250
+ if (iss) {
219
251
  const issuer = credential.issuer;
220
252
  if (issuer) {
221
253
  if (typeof issuer === 'string') {
222
- if (issuer !== decoded.iss) {
223
- throw new Error(`Inconsistent issuers between JWT claim (${decoded.iss}) and VC value (${issuer})`);
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 !== decoded.iss) {
228
- throw new Error(`Inconsistent issuers between JWT claim (${decoded.iss}) and VC value (${issuer.id})`);
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 = decoded.iss;
265
+ credential.issuer = iss;
234
266
  }
235
267
  }
236
- if (decoded.sub) {
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 !== decoded.sub) {
241
- throw new Error(`Inconsistent credential subject ids between JWT claim (${decoded.sub}) and VC value (${csId})`);
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 (decoded.jti) {
278
+ if (jti) {
249
279
  const id = credential.id;
250
- if (id && id !== decoded.jti) {
251
- throw new Error(`Inconsistent credential ids between JWT claim (${decoded.jti}) and VC value (${id})`);
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 = decoded.jti;
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.9.1-unstable.87+fcacce8",
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": "fcacce8a15dc0d1555c57afa143c25116bda8224"
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 original = originalPresentation
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
- const decoded = CredentialMapper.decodeVerifiablePresentation(original)
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 credentials with wrapped versions, making it an InternalVerifiablePresentation. Note: we keep the singular key name of the vc data model
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 original = verifiableCredential
119
- const decoded = CredentialMapper.decodeVerifiableCredential(verifiableCredential)
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
- ...decoded.vp,
186
+ ...rest,
187
+ ...vp,
171
188
  }
172
189
  if (makeCredentialsUniform) {
173
- if (!decoded.vp.verifiableCredential) {
190
+ if (!vp.verifiableCredential) {
174
191
  throw Error('Verifiable Presentation should have a verifiable credential at this point')
175
192
  }
176
- presentation.verifiableCredential = decoded.vp.verifiableCredential.map((vc) => CredentialMapper.toUniformCredential(vc, opts))
193
+ presentation.verifiableCredential = vp.verifiableCredential.map((vc) => CredentialMapper.toUniformCredential(vc, opts))
177
194
  }
178
- if (decoded.iss) {
195
+ if (iss) {
179
196
  const holder = presentation.holder
180
197
  if (holder) {
181
- if (holder !== decoded.iss) {
182
- throw new Error(`Inconsistent holders between JWT claim (${decoded.iss}) and VC value (${holder})`)
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 = decoded.iss
202
+ presentation.holder = iss
186
203
  }
187
- if (decoded.aud) {
204
+ if (aud) {
188
205
  const verifier = presentation.verifier
189
206
  if (verifier) {
190
- if (verifier !== decoded.aud) {
191
- throw new Error(`Inconsistent holders between JWT claim (${decoded.iss}) and VC value (${verifier})`)
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 = decoded.aud
211
+ presentation.verifier = aud
195
212
  }
196
- if (decoded.jti) {
213
+ if (jti) {
197
214
  const id = presentation.id
198
- if (id && id !== decoded.jti) {
199
- throw new Error(`Inconsistent VP ids between JWT claim (${decoded.jti}) and VP value (${id})`)
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 = decoded.jti
218
+ presentation.id = jti
202
219
  }
203
220
  return presentation
204
221
  }
205
222
 
206
- static toUniformCredential(verifiableCredential: OriginalVerifiableCredential, opts?: { maxTimeSkewInMS?: number }): IVerifiableCredential {
207
- const original = verifiableCredential
208
- const decoded = CredentialMapper.decodeVerifiableCredential(verifiableCredential)
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 original = presentation
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(jwt: string, opts?: { maxTimeSkewInMS?: number }): IVerifiableCredential {
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
- ...decoded.vc,
295
+ ...rest,
296
+ ...vc,
254
297
  }
255
298
 
256
299
  const maxSkewInMS = opts?.maxTimeSkewInMS !== undefined ? opts.maxTimeSkewInMS : 999
257
300
 
258
- if (decoded.exp) {
301
+ if (exp) {
259
302
  const expDate = credential.expirationDate
260
- const jwtExp = parseInt(decoded.exp.toString())
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 (decoded.nbf) {
315
+ if (nbf) {
273
316
  const issuanceDate = credential.issuanceDate
274
- const jwtNbf = parseInt(decoded.nbf.toString())
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 (decoded.iss) {
329
+ if (iss) {
287
330
  const issuer = credential.issuer
288
331
  if (issuer) {
289
332
  if (typeof issuer === 'string') {
290
- if (issuer !== decoded.iss) {
291
- throw new Error(`Inconsistent issuers between JWT claim (${decoded.iss}) and VC value (${issuer})`)
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 !== decoded.iss) {
295
- throw new Error(`Inconsistent issuers between JWT claim (${decoded.iss}) and VC value (${issuer.id})`)
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 = decoded.iss
342
+ credential.issuer = iss
300
343
  }
301
344
  }
302
345
 
303
- if (decoded.sub) {
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 !== decoded.sub) {
308
- throw new Error(`Inconsistent credential subject ids between JWT claim (${decoded.sub}) and VC value (${csId})`)
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 (decoded.jti) {
356
+ if (jti) {
316
357
  const id = credential.id
317
- if (id && id !== decoded.jti) {
318
- throw new Error(`Inconsistent credential ids between JWT claim (${decoded.jti}) and VC value (${id})`)
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 = decoded.jti
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.jwt) {
461
+ if (proof?.jwt) {
421
462
  return DocumentFormat.JWT
422
- } else if (proof.type === 'EthereumEip712Signature2021') {
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 holder property of the new presentation JSON object.
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