@sphereon/ssi-types 0.30.2-next.129 → 0.30.2-next.133

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.
@@ -1 +1 @@
1
- {"version":3,"file":"sd-jwt-vc.d.ts","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-jwt-vc.d.ts","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.ts"],"names":[],"mappings":"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"}
@@ -84,16 +84,10 @@ function decodeSdJwtVcAsync(compactSdJwtVc, hasher) {
84
84
  }));
85
85
  });
86
86
  }
87
- // TODO naive implementation of mapping a sd-jwt onto a IVerifiableCredential. Needs some fixes and further implementation and needs to be moved out of ssi-types
88
87
  const sdJwtDecodedCredentialToUniformCredential = (decoded, opts) => {
89
88
  var _a, _b, _c;
90
- const { decodedPayload } = decoded; // fixme: other params and proof
89
+ const { decodedPayload } = decoded;
91
90
  const { exp, nbf, iss, iat, vct, cnf, status, sub, jti } = decodedPayload;
92
- const credentialSubject = decoded.disclosures.reduce((acc, item) => {
93
- const key = item.decoded[1];
94
- acc[key] = item.decoded[2];
95
- return acc;
96
- }, {});
97
91
  const maxSkewInMS = (_a = opts === null || opts === void 0 ? void 0 : opts.maxTimeSkewInMS) !== null && _a !== void 0 ? _a : 1500;
98
92
  const expirationDate = jwtDateToISOString({ jwtClaim: exp, claimName: 'exp' });
99
93
  let issuanceDateStr = jwtDateToISOString({ jwtClaim: iat, claimName: 'iat' });
@@ -112,6 +106,17 @@ const sdJwtDecodedCredentialToUniformCredential = (decoded, opts) => {
112
106
  if (!issuanceDate) {
113
107
  throw Error(`JWT issuance date is required but was not present`);
114
108
  }
109
+ // Filter out the fields we don't want in credentialSubject
110
+ const excludedFields = new Set(['vct', 'cnf', 'iss', 'iat', 'exp', 'nbf', 'jti', 'sub']);
111
+ const credentialSubject = Object.entries(decodedPayload).reduce((acc, [key, value]) => {
112
+ if (!excludedFields.has(key) &&
113
+ value !== undefined &&
114
+ value !== '' &&
115
+ !(typeof value === 'object' && value !== null && Object.keys(value).length === 0)) {
116
+ acc[key] = value;
117
+ }
118
+ return acc;
119
+ }, {});
115
120
  const credential = Object.assign(Object.assign(Object.assign({ type: [vct], '@context': [], credentialSubject: Object.assign(Object.assign({}, credentialSubject), { id: (_c = (_b = credentialSubject.id) !== null && _b !== void 0 ? _b : sub) !== null && _c !== void 0 ? _c : jti }), issuanceDate,
116
121
  expirationDate, issuer: iss }, (cnf && { cnf })), (status && { status })), { proof: {
117
122
  type: did_1.IProofType.SdJwtProof2024,
@@ -1 +1 @@
1
- {"version":3,"file":"sd-jwt-vc.js","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-jwt-vc.js","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.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.30.2-next.129+85479f8a",
4
+ "version": "0.30.2-next.133+782b177c",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
@@ -46,5 +46,5 @@
46
46
  "DIDs"
47
47
  ],
48
48
  "nx": {},
49
- "gitHead": "85479f8ad18e6eef981de750c81cd9be5b6d9c53"
49
+ "gitHead": "782b177c21f5733e0f2b5a69f58307d060ecc266"
50
50
  }
@@ -282,28 +282,13 @@ export async function decodeSdJwtVcAsync(compactSdJwtVc: CompactSdJwtVc, hasher:
282
282
  }
283
283
  }
284
284
 
285
- // TODO naive implementation of mapping a sd-jwt onto a IVerifiableCredential. Needs some fixes and further implementation and needs to be moved out of ssi-types
286
285
  export const sdJwtDecodedCredentialToUniformCredential = (
287
286
  decoded: SdJwtDecodedVerifiableCredential,
288
- opts?: { maxTimeSkewInMS?: number },
287
+ opts?: { maxTimeSkewInMS?: number }
289
288
  ): IVerifiableCredential => {
290
- const { decodedPayload } = decoded // fixme: other params and proof
289
+ const { decodedPayload } = decoded
291
290
  const { exp, nbf, iss, iat, vct, cnf, status, sub, jti } = decodedPayload
292
291
 
293
- type DisclosuresAccumulator = {
294
- [key: string]: any
295
- }
296
-
297
- const credentialSubject = decoded.disclosures.reduce(
298
- (acc: DisclosuresAccumulator, item: { decoded: Array<any>; digest: string; encoded: string }) => {
299
- const key = item.decoded[1]
300
- acc[key] = item.decoded[2]
301
-
302
- return acc
303
- },
304
- {},
305
- )
306
-
307
292
  const maxSkewInMS = opts?.maxTimeSkewInMS ?? 1500
308
293
 
309
294
  const expirationDate = jwtDateToISOString({ jwtClaim: exp, claimName: 'exp' })
@@ -325,6 +310,20 @@ export const sdJwtDecodedCredentialToUniformCredential = (
325
310
  throw Error(`JWT issuance date is required but was not present`)
326
311
  }
327
312
 
313
+ // Filter out the fields we don't want in credentialSubject
314
+ const excludedFields = new Set(['vct', 'cnf', 'iss', 'iat', 'exp', 'nbf', 'jti', 'sub'])
315
+ const credentialSubject = Object.entries(decodedPayload).reduce((acc, [key, value]) => {
316
+ if (
317
+ !excludedFields.has(key) &&
318
+ value !== undefined &&
319
+ value !== '' &&
320
+ !(typeof value === 'object' && value !== null && Object.keys(value).length === 0)
321
+ ) {
322
+ acc[key] = value
323
+ }
324
+ return acc
325
+ }, {} as Record<string, any>)
326
+
328
327
  const credential: Omit<IVerifiableCredential, 'issuer' | 'issuanceDate'> = {
329
328
  type: [vct], // SDJwt is not a W3C VC, so no VerifiableCredential
330
329
  '@context': [], // SDJwt has no JSON-LD by default. Certainly not the VC DM1 default context for JSON-LD