@sphereon/ssi-sdk.siopv2-oid4vp-op-auth 0.32.1-next.54 → 0.33.1-feature.vcdm2.4

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.
Files changed (63) hide show
  1. package/dist/agent/DidAuthSiopOpAuthenticator.d.ts +6 -1
  2. package/dist/agent/DidAuthSiopOpAuthenticator.d.ts.map +1 -1
  3. package/dist/agent/DidAuthSiopOpAuthenticator.js +325 -277
  4. package/dist/agent/DidAuthSiopOpAuthenticator.js.map +1 -1
  5. package/dist/index.js +7 -27
  6. package/dist/index.js.map +1 -1
  7. package/dist/link-handler/index.js +35 -47
  8. package/dist/link-handler/index.js.map +1 -1
  9. package/dist/localization/Localization.js +38 -43
  10. package/dist/localization/Localization.js.map +1 -1
  11. package/dist/machine/CallbackStateListener.js +9 -22
  12. package/dist/machine/CallbackStateListener.js.map +1 -1
  13. package/dist/machine/Siopv2Machine.js +129 -131
  14. package/dist/machine/Siopv2Machine.js.map +1 -1
  15. package/dist/services/IdentifierService.js +11 -24
  16. package/dist/services/IdentifierService.js.map +1 -1
  17. package/dist/services/Siopv2MachineService.d.ts +4 -2
  18. package/dist/services/Siopv2MachineService.d.ts.map +1 -1
  19. package/dist/services/Siopv2MachineService.js +193 -98
  20. package/dist/services/Siopv2MachineService.js.map +1 -1
  21. package/dist/session/OID4VP.d.ts +4 -4
  22. package/dist/session/OID4VP.d.ts.map +1 -1
  23. package/dist/session/OID4VP.js +184 -194
  24. package/dist/session/OID4VP.js.map +1 -1
  25. package/dist/session/OpSession.d.ts.map +1 -1
  26. package/dist/session/OpSession.js +252 -288
  27. package/dist/session/OpSession.js.map +1 -1
  28. package/dist/session/functions.js +95 -111
  29. package/dist/session/functions.js.map +1 -1
  30. package/dist/session/index.js +3 -19
  31. package/dist/session/index.js.map +1 -1
  32. package/dist/types/IDidAuthSiopOpAuthenticator.d.ts +11 -7
  33. package/dist/types/IDidAuthSiopOpAuthenticator.d.ts.map +1 -1
  34. package/dist/types/IDidAuthSiopOpAuthenticator.js +4 -7
  35. package/dist/types/IDidAuthSiopOpAuthenticator.js.map +1 -1
  36. package/dist/types/error/index.js +1 -2
  37. package/dist/types/identifier/index.js +1 -4
  38. package/dist/types/identifier/index.js.map +1 -1
  39. package/dist/types/index.js +5 -21
  40. package/dist/types/index.js.map +1 -1
  41. package/dist/types/machine/index.js +10 -13
  42. package/dist/types/machine/index.js.map +1 -1
  43. package/dist/types/siop-service/index.d.ts +4 -2
  44. package/dist/types/siop-service/index.d.ts.map +1 -1
  45. package/dist/types/siop-service/index.js +4 -7
  46. package/dist/types/siop-service/index.js.map +1 -1
  47. package/dist/utils/CredentialUtils.d.ts +23 -0
  48. package/dist/utils/CredentialUtils.d.ts.map +1 -0
  49. package/dist/utils/CredentialUtils.js +55 -0
  50. package/dist/utils/CredentialUtils.js.map +1 -0
  51. package/dist/utils/dcql.d.ts +5 -0
  52. package/dist/utils/dcql.d.ts.map +1 -0
  53. package/dist/utils/dcql.js +34 -0
  54. package/dist/utils/dcql.js.map +1 -0
  55. package/package.json +26 -23
  56. package/src/agent/DidAuthSiopOpAuthenticator.ts +122 -42
  57. package/src/services/Siopv2MachineService.ts +130 -20
  58. package/src/session/OID4VP.ts +8 -8
  59. package/src/session/OpSession.ts +5 -4
  60. package/src/types/IDidAuthSiopOpAuthenticator.ts +20 -7
  61. package/src/types/siop-service/index.ts +9 -6
  62. package/src/utils/CredentialUtils.ts +71 -0
  63. package/src/utils/dcql.ts +36 -0
@@ -1,223 +1,213 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.OID4VP = void 0;
13
- const did_auth_siop_1 = require("@sphereon/did-auth-siop");
14
- const pex_1 = require("@sphereon/pex");
15
- const ssi_sdk_ext_identifier_resolution_1 = require("@sphereon/ssi-sdk-ext.identifier-resolution");
16
- const ssi_sdk_credential_store_1 = require("@sphereon/ssi-sdk.credential-store");
17
- const types_1 = require("../types");
18
- const functions_1 = require("./functions");
19
- class OID4VP {
1
+ import { PresentationExchange } from '@sphereon/did-auth-siop';
2
+ import { Status } from '@sphereon/pex';
3
+ import { isManagedIdentifierDidResult, isOID4VCIssuerIdentifier, } from '@sphereon/ssi-sdk-ext.identifier-resolution';
4
+ import { defaultHasher } from '@sphereon/ssi-sdk.core';
5
+ import { verifiableCredentialForRoleFilter } from '@sphereon/ssi-sdk.credential-store';
6
+ import { DEFAULT_JWT_PROOF_TYPE, } from '../types';
7
+ import { createOID4VPPresentationSignCallback } from './functions';
8
+ export class OID4VP {
9
+ session;
10
+ allIdentifiers;
11
+ hasher;
20
12
  constructor(args) {
21
- const { session, allIdentifiers, hasher } = args;
13
+ const { session, allIdentifiers, hasher = defaultHasher } = args;
22
14
  this.session = session;
23
- this.allIdentifiers = allIdentifiers !== null && allIdentifiers !== void 0 ? allIdentifiers : [];
15
+ this.allIdentifiers = allIdentifiers ?? [];
24
16
  this.hasher = hasher;
25
17
  }
26
- static init(session, allIdentifiers, hasher) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- return new OID4VP({ session, allIdentifiers: allIdentifiers !== null && allIdentifiers !== void 0 ? allIdentifiers : (yield session.getSupportedDIDs()), hasher });
29
- });
18
+ static async init(session, allIdentifiers, hasher) {
19
+ return new OID4VP({ session, allIdentifiers: allIdentifiers ?? (await session.getSupportedDIDs()), hasher });
30
20
  }
31
- getPresentationDefinitions() {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const definitions = yield this.session.getPresentationDefinitions();
34
- if (definitions) {
35
- did_auth_siop_1.PresentationExchange.assertValidPresentationDefinitionWithLocations(definitions);
36
- }
37
- return definitions;
38
- });
21
+ async getPresentationDefinitions() {
22
+ const definitions = await this.session.getPresentationDefinitions();
23
+ if (definitions) {
24
+ PresentationExchange.assertValidPresentationDefinitionWithLocations(definitions);
25
+ }
26
+ return definitions;
39
27
  }
40
28
  getPresentationExchange(args) {
41
29
  const { verifiableCredentials, allIdentifiers, hasher } = args;
42
- return new did_auth_siop_1.PresentationExchange({
43
- allDIDs: allIdentifiers !== null && allIdentifiers !== void 0 ? allIdentifiers : this.allIdentifiers,
30
+ return new PresentationExchange({
31
+ allDIDs: allIdentifiers ?? this.allIdentifiers,
44
32
  allVerifiableCredentials: verifiableCredentials,
45
- hasher: hasher !== null && hasher !== void 0 ? hasher : this.hasher,
33
+ hasher: hasher ?? this.hasher,
46
34
  });
47
35
  }
48
- createVerifiablePresentations(credentialRole, credentialsWithDefinitions, opts) {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- return yield Promise.all(credentialsWithDefinitions.map((cred) => this.createVerifiablePresentation(credentialRole, cred, opts)));
51
- });
36
+ async createVerifiablePresentations(credentialRole, credentialsWithDefinitions, opts) {
37
+ return await Promise.all(credentialsWithDefinitions.map((cred) => this.createVerifiablePresentation(credentialRole, cred, opts)));
52
38
  }
53
- createVerifiablePresentation(credentialRole, selectedVerifiableCredentials, opts) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- var _a, _b, _c, _d, _e, _f, _g, _h;
56
- const { subjectIsHolder, holder, forceNoCredentialsInVP = false } = Object.assign({}, opts);
57
- if (subjectIsHolder && holder) {
58
- throw Error('Cannot both have subject is holder and a holderDID value at the same time (programming error)');
59
- }
60
- if (forceNoCredentialsInVP) {
61
- selectedVerifiableCredentials.credentials = [];
62
- }
63
- else if (!(selectedVerifiableCredentials === null || selectedVerifiableCredentials === void 0 ? void 0 : selectedVerifiableCredentials.credentials) || selectedVerifiableCredentials.credentials.length === 0) {
64
- throw Error('No verifiable verifiableCredentials provided for presentation definition');
65
- }
66
- const proofOptions = Object.assign(Object.assign({}, opts === null || opts === void 0 ? void 0 : opts.proofOpts), { challenge: (_d = (_b = (_a = opts === null || opts === void 0 ? void 0 : opts.proofOpts) === null || _a === void 0 ? void 0 : _a.nonce) !== null && _b !== void 0 ? _b : (_c = opts === null || opts === void 0 ? void 0 : opts.proofOpts) === null || _c === void 0 ? void 0 : _c.challenge) !== null && _d !== void 0 ? _d : this.session.nonce, domain: (_f = (_e = opts === null || opts === void 0 ? void 0 : opts.proofOpts) === null || _e === void 0 ? void 0 : _e.domain) !== null && _f !== void 0 ? _f : (yield this.session.getRedirectUri()) });
67
- let idOpts = opts === null || opts === void 0 ? void 0 : opts.idOpts;
68
- if (!idOpts) {
69
- if (opts === null || opts === void 0 ? void 0 : opts.subjectIsHolder) {
70
- if (forceNoCredentialsInVP) {
71
- return Promise.reject(Error(`Cannot have subject is holder, when force no credentials is being used, as we could never determine the holder then. Please provide holderDID`));
72
- }
73
- const firstUniqueDC = selectedVerifiableCredentials.credentials[0];
74
- // const firstVC = firstUniqueDC.uniformVerifiableCredential!
75
- if (typeof firstUniqueDC !== 'object' || !('digitalCredential' in firstUniqueDC)) {
76
- return Promise.reject(Error('If no opts provided, credentials should be of type UniqueDigitalCredential'));
77
- }
78
- idOpts = (0, ssi_sdk_ext_identifier_resolution_1.isOID4VCIssuerIdentifier)(firstUniqueDC.digitalCredential.kmsKeyRef)
79
- ? yield this.session.context.agent.identifierManagedGetByIssuer({
80
- identifier: firstUniqueDC.digitalCredential.kmsKeyRef,
81
- })
82
- : yield this.session.context.agent.identifierManagedGetByKid({
83
- identifier: firstUniqueDC.digitalCredential.kmsKeyRef,
84
- kmsKeyRef: firstUniqueDC.digitalCredential.kmsKeyRef,
85
- });
86
- /*
87
- const holder = CredentialMapper.isSdJwtDecodedCredential(firstVC)
88
- ? firstVC.decodedPayload.cnf?.jwk
89
- ? //TODO SDK-19: convert the JWK to hex and search for the appropriate key and associated DID
90
- //doesn't apply to did:jwk only, as you can represent any DID key as a JWK. So whenever you encounter a JWK it doesn't mean it had to come from a did:jwk in the system. It just can always be represented as a did:jwk
91
- `did:jwk:${encodeJoseBlob(firstVC.decodedPayload.cnf?.jwk)}#0`
92
- : firstVC.decodedPayload.sub
93
- : Array.isArray(firstVC.credentialSubject)
94
- ? firstVC.credentialSubject[0].id
95
- : firstVC.credentialSubject.id
96
- if (holder) {
97
- idOpts = { identifier: holder }
98
- }
99
- */
39
+ async createVerifiablePresentation(credentialRole, selectedVerifiableCredentials, opts) {
40
+ const { subjectIsHolder, holder, forceNoCredentialsInVP = false } = { ...opts };
41
+ if (subjectIsHolder && holder) {
42
+ throw Error('Cannot both have subject is holder and a holderDID value at the same time (programming error)');
43
+ }
44
+ if (forceNoCredentialsInVP) {
45
+ selectedVerifiableCredentials.credentials = [];
46
+ }
47
+ else if (!selectedVerifiableCredentials?.credentials || selectedVerifiableCredentials.credentials.length === 0) {
48
+ throw Error('No verifiable verifiableCredentials provided for presentation definition');
49
+ }
50
+ const proofOptions = {
51
+ ...opts?.proofOpts,
52
+ challenge: opts?.proofOpts?.nonce ?? opts?.proofOpts?.challenge ?? this.session.nonce,
53
+ domain: opts?.proofOpts?.domain ?? (await this.session.getRedirectUri()),
54
+ };
55
+ let idOpts = opts?.idOpts;
56
+ if (!idOpts) {
57
+ if (opts?.subjectIsHolder) {
58
+ if (forceNoCredentialsInVP) {
59
+ return Promise.reject(Error(`Cannot have subject is holder, when force no credentials is being used, as we could never determine the holder then. Please provide holderDID`));
100
60
  }
101
- else if (opts === null || opts === void 0 ? void 0 : opts.holder) {
102
- idOpts = { identifier: opts.holder };
61
+ const firstUniqueDC = selectedVerifiableCredentials.credentials[0];
62
+ // const firstVC = firstUniqueDC.uniformVerifiableCredential!
63
+ if (typeof firstUniqueDC !== 'object' || !('digitalCredential' in firstUniqueDC)) {
64
+ return Promise.reject(Error('If no opts provided, credentials should be of type UniqueDigitalCredential'));
103
65
  }
104
- }
105
- // We are making sure to filter, in case the user submitted all verifiableCredentials in the wallet/agent. We also make sure to get original formats back
106
- const vcs = forceNoCredentialsInVP
107
- ? selectedVerifiableCredentials
108
- : (opts === null || opts === void 0 ? void 0 : opts.applyFilter)
109
- ? yield this.filterCredentials(credentialRole, selectedVerifiableCredentials.definition, {
110
- restrictToFormats: opts === null || opts === void 0 ? void 0 : opts.restrictToFormats,
111
- restrictToDIDMethods: opts === null || opts === void 0 ? void 0 : opts.restrictToDIDMethods,
112
- filterOpts: {
113
- verifiableCredentials: selectedVerifiableCredentials.credentials,
114
- },
66
+ idOpts = isOID4VCIssuerIdentifier(firstUniqueDC.digitalCredential.kmsKeyRef)
67
+ ? await this.session.context.agent.identifierManagedGetByIssuer({
68
+ identifier: firstUniqueDC.digitalCredential.kmsKeyRef,
115
69
  })
116
- : {
117
- definition: selectedVerifiableCredentials.definition,
118
- credentials: selectedVerifiableCredentials.credentials,
119
- };
120
- if (!idOpts) {
121
- return Promise.reject(Error(`No identifier options present at this point`));
122
- }
123
- const signCallback = yield (0, functions_1.createOID4VPPresentationSignCallback)({
124
- presentationSignCallback: this.session.options.presentationSignCallback,
125
- idOpts,
126
- context: this.session.context,
127
- domain: proofOptions.domain,
128
- challenge: proofOptions.challenge,
129
- format: (_g = opts === null || opts === void 0 ? void 0 : opts.restrictToFormats) !== null && _g !== void 0 ? _g : selectedVerifiableCredentials.definition.definition.format,
130
- skipDidResolution: (_h = opts === null || opts === void 0 ? void 0 : opts.skipDidResolution) !== null && _h !== void 0 ? _h : false,
131
- });
132
- const identifier = yield this.session.context.agent.identifierManagedGet(idOpts);
133
- const verifiableCredentials = vcs.credentials.map((credential) => typeof credential === 'object' && 'digitalCredential' in credential ? credential.originalVerifiableCredential : credential);
134
- const presentationResult = yield this.getPresentationExchange({
135
- verifiableCredentials: verifiableCredentials,
136
- allIdentifiers: this.allIdentifiers,
137
- hasher: opts === null || opts === void 0 ? void 0 : opts.hasher,
138
- }).createVerifiablePresentation(vcs.definition.definition, verifiableCredentials, signCallback, Object.assign({ proofOptions }, (identifier && (0, ssi_sdk_ext_identifier_resolution_1.isManagedIdentifierDidResult)(identifier) && { holderDID: identifier.did })));
139
- const verifiablePresentations = presentationResult.verifiablePresentations.map((verifiablePresentation) => typeof verifiablePresentation !== 'string' &&
140
- 'proof' in verifiablePresentation &&
141
- 'jwt' in verifiablePresentation.proof &&
142
- verifiablePresentation.proof.jwt
143
- ? verifiablePresentation.proof.jwt
144
- : verifiablePresentation);
145
- return Object.assign(Object.assign({}, presentationResult), { verifiablePresentations, verifiableCredentials: verifiableCredentials, definition: selectedVerifiableCredentials.definition, idOpts });
146
- });
147
- }
148
- filterCredentialsAgainstAllDefinitions(credentialRole, opts) {
149
- return __awaiter(this, void 0, void 0, function* () {
150
- const defs = yield this.getPresentationDefinitions();
151
- const result = [];
152
- if (defs) {
153
- for (const definition of defs) {
154
- result.push(yield this.filterCredentials(credentialRole, definition, opts));
70
+ : await this.session.context.agent.identifierManagedGetByKid({
71
+ identifier: firstUniqueDC.digitalCredential.kmsKeyRef,
72
+ kmsKeyRef: firstUniqueDC.digitalCredential.kmsKeyRef,
73
+ });
74
+ /*
75
+ const holder = CredentialMapper.isSdJwtDecodedCredential(firstVC)
76
+ ? firstVC.decodedPayload.cnf?.jwk
77
+ ? //TODO SDK-19: convert the JWK to hex and search for the appropriate key and associated DID
78
+ //doesn't apply to did:jwk only, as you can represent any DID key as a JWK. So whenever you encounter a JWK it doesn't mean it had to come from a did:jwk in the system. It just can always be represented as a did:jwk
79
+ `did:jwk:${encodeJoseBlob(firstVC.decodedPayload.cnf?.jwk)}#0`
80
+ : firstVC.decodedPayload.sub
81
+ : Array.isArray(firstVC.credentialSubject)
82
+ ? firstVC.credentialSubject[0].id
83
+ : firstVC.credentialSubject.id
84
+ if (holder) {
85
+ idOpts = { identifier: holder }
155
86
  }
87
+ */
88
+ }
89
+ else if (opts?.holder) {
90
+ idOpts = { identifier: opts.holder };
156
91
  }
157
- return result;
92
+ }
93
+ // We are making sure to filter, in case the user submitted all verifiableCredentials in the wallet/agent. We also make sure to get original formats back
94
+ const vcs = forceNoCredentialsInVP
95
+ ? selectedVerifiableCredentials
96
+ : opts?.applyFilter
97
+ ? await this.filterCredentials(credentialRole, selectedVerifiableCredentials.definition, {
98
+ restrictToFormats: opts?.restrictToFormats,
99
+ restrictToDIDMethods: opts?.restrictToDIDMethods,
100
+ filterOpts: {
101
+ verifiableCredentials: selectedVerifiableCredentials.credentials,
102
+ },
103
+ })
104
+ : {
105
+ definition: selectedVerifiableCredentials.definition,
106
+ credentials: selectedVerifiableCredentials.credentials,
107
+ };
108
+ if (!idOpts) {
109
+ return Promise.reject(Error(`No identifier options present at this point`));
110
+ }
111
+ const signCallback = await createOID4VPPresentationSignCallback({
112
+ presentationSignCallback: this.session.options.presentationSignCallback,
113
+ idOpts,
114
+ context: this.session.context,
115
+ domain: proofOptions.domain,
116
+ challenge: proofOptions.challenge,
117
+ format: opts?.restrictToFormats ?? selectedVerifiableCredentials.definition.definition.format,
118
+ skipDidResolution: opts?.skipDidResolution ?? false,
158
119
  });
159
- }
160
- filterCredentials(credentialRole, presentationDefinition, opts) {
161
- return __awaiter(this, void 0, void 0, function* () {
162
- var _a, _b, _c, _d, _e;
163
- const udcMap = new Map();
164
- (_b = (_a = opts === null || opts === void 0 ? void 0 : opts.filterOpts) === null || _a === void 0 ? void 0 : _a.verifiableCredentials) === null || _b === void 0 ? void 0 : _b.forEach((credential) => {
165
- if (typeof credential === 'object' && 'digitalCredential' in credential) {
166
- udcMap.set(credential.originalVerifiableCredential, credential);
167
- }
168
- else {
169
- udcMap.set(credential, credential);
170
- }
171
- });
172
- const credentials = (yield this.filterCredentialsWithSelectionStatus(credentialRole, presentationDefinition, Object.assign(Object.assign({}, opts), { filterOpts: {
173
- verifiableCredentials: (_d = (_c = opts === null || opts === void 0 ? void 0 : opts.filterOpts) === null || _c === void 0 ? void 0 : _c.verifiableCredentials) === null || _d === void 0 ? void 0 : _d.map((credential) => {
174
- if (typeof credential === 'object' && 'digitalCredential' in credential) {
175
- return credential.originalVerifiableCredential;
176
- }
177
- else {
178
- return credential;
179
- }
180
- }),
181
- } }))).verifiableCredential;
182
- return {
183
- definition: presentationDefinition,
184
- credentials: (_e = credentials === null || credentials === void 0 ? void 0 : credentials.map((vc) => udcMap.get(vc))) !== null && _e !== void 0 ? _e : [],
185
- };
120
+ const identifier = await this.session.context.agent.identifierManagedGet(idOpts);
121
+ const verifiableCredentials = vcs.credentials.map((credential) => typeof credential === 'object' && 'digitalCredential' in credential ? credential.originalVerifiableCredential : credential);
122
+ const presentationResult = await this.getPresentationExchange({
123
+ verifiableCredentials: verifiableCredentials,
124
+ allIdentifiers: this.allIdentifiers,
125
+ hasher: opts?.hasher,
126
+ }).createVerifiablePresentation(vcs.definition.definition, verifiableCredentials, signCallback, {
127
+ proofOptions,
128
+ // fixme: Update to newer siop-vp to not require dids here. But when Veramo is creating the VP it's still looking at this field to pass into didManagerGet
129
+ ...(identifier && isManagedIdentifierDidResult(identifier) && { holderDID: identifier.did }),
186
130
  });
131
+ const verifiablePresentations = presentationResult.verifiablePresentations.map((verifiablePresentation) => typeof verifiablePresentation !== 'string' &&
132
+ 'proof' in verifiablePresentation &&
133
+ 'jwt' in verifiablePresentation.proof &&
134
+ verifiablePresentation.proof.jwt
135
+ ? verifiablePresentation.proof.jwt
136
+ : verifiablePresentation);
137
+ return {
138
+ ...presentationResult,
139
+ verifiablePresentations,
140
+ verifiableCredentials: verifiableCredentials,
141
+ definition: selectedVerifiableCredentials.definition,
142
+ idOpts,
143
+ };
187
144
  }
188
- filterCredentialsWithSelectionStatus(credentialRole, presentationDefinition, opts) {
189
- return __awaiter(this, void 0, void 0, function* () {
190
- const selectionResults = yield this.getPresentationExchange({
191
- verifiableCredentials: yield this.getCredentials(credentialRole, opts === null || opts === void 0 ? void 0 : opts.filterOpts),
192
- }).selectVerifiableCredentialsForSubmission(presentationDefinition.definition, opts);
193
- if (selectionResults.errors && selectionResults.errors.length > 0) {
194
- throw Error(JSON.stringify(selectionResults.errors));
145
+ async filterCredentialsAgainstAllDefinitions(credentialRole, opts) {
146
+ const defs = await this.getPresentationDefinitions();
147
+ const result = [];
148
+ if (defs) {
149
+ for (const definition of defs) {
150
+ result.push(await this.filterCredentials(credentialRole, definition, opts));
195
151
  }
196
- else if (selectionResults.areRequiredCredentialsPresent === pex_1.Status.ERROR) {
197
- throw Error(`Not all required credentials are available to satisfy the relying party's request`);
152
+ }
153
+ return result;
154
+ }
155
+ async filterCredentials(credentialRole, presentationDefinition, opts) {
156
+ const udcMap = new Map();
157
+ opts?.filterOpts?.verifiableCredentials?.forEach((credential) => {
158
+ if (typeof credential === 'object' && 'digitalCredential' in credential) {
159
+ udcMap.set(credential.originalVerifiableCredential, credential);
198
160
  }
199
- const matches = selectionResults.matches;
200
- if (!matches || matches.length === 0 || !selectionResults.verifiableCredential || selectionResults.verifiableCredential.length === 0) {
201
- throw Error(JSON.stringify(selectionResults.errors));
161
+ else {
162
+ udcMap.set(credential, credential);
202
163
  }
203
- return selectionResults;
204
164
  });
165
+ const credentials = (await this.filterCredentialsWithSelectionStatus(credentialRole, presentationDefinition, {
166
+ ...opts,
167
+ filterOpts: {
168
+ verifiableCredentials: opts?.filterOpts?.verifiableCredentials?.map((credential) => {
169
+ if (typeof credential === 'object' && 'digitalCredential' in credential) {
170
+ return credential.originalVerifiableCredential;
171
+ }
172
+ else {
173
+ return credential;
174
+ }
175
+ }),
176
+ },
177
+ })).verifiableCredential;
178
+ return {
179
+ definition: presentationDefinition,
180
+ credentials: credentials?.map((vc) => udcMap.get(vc)) ?? [],
181
+ };
205
182
  }
206
- getCredentials(credentialRole, filterOpts) {
207
- return __awaiter(this, void 0, void 0, function* () {
208
- if ((filterOpts === null || filterOpts === void 0 ? void 0 : filterOpts.verifiableCredentials) && filterOpts.verifiableCredentials.length > 0) {
209
- return filterOpts.verifiableCredentials;
210
- }
211
- const filter = (0, ssi_sdk_credential_store_1.verifiableCredentialForRoleFilter)(credentialRole, filterOpts === null || filterOpts === void 0 ? void 0 : filterOpts.filter);
212
- const uniqueCredentials = yield this.session.context.agent.crsGetUniqueCredentials({ filter });
213
- return uniqueCredentials.map((uniqueVC) => {
214
- const vc = uniqueVC.uniformVerifiableCredential;
215
- const proof = Array.isArray(vc.proof) ? vc.proof : [vc.proof];
216
- const jwtProof = proof.find((p) => (p === null || p === void 0 ? void 0 : p.type) === types_1.DEFAULT_JWT_PROOF_TYPE);
217
- return jwtProof ? jwtProof.jwt : vc;
218
- });
183
+ async filterCredentialsWithSelectionStatus(credentialRole, presentationDefinition, opts) {
184
+ const selectionResults = await this.getPresentationExchange({
185
+ verifiableCredentials: await this.getCredentials(credentialRole, opts?.filterOpts),
186
+ }).selectVerifiableCredentialsForSubmission(presentationDefinition.definition, opts);
187
+ if (selectionResults.errors && selectionResults.errors.length > 0) {
188
+ throw Error(JSON.stringify(selectionResults.errors));
189
+ }
190
+ else if (selectionResults.areRequiredCredentialsPresent === Status.ERROR) {
191
+ throw Error(`Not all required credentials are available to satisfy the relying party's request`);
192
+ }
193
+ const matches = selectionResults.matches;
194
+ if (!matches || matches.length === 0 || !selectionResults.verifiableCredential || selectionResults.verifiableCredential.length === 0) {
195
+ throw Error(JSON.stringify(selectionResults.errors));
196
+ }
197
+ return selectionResults;
198
+ }
199
+ async getCredentials(credentialRole, filterOpts) {
200
+ if (filterOpts?.verifiableCredentials && filterOpts.verifiableCredentials.length > 0) {
201
+ return filterOpts.verifiableCredentials;
202
+ }
203
+ const filter = verifiableCredentialForRoleFilter(credentialRole, filterOpts?.filter);
204
+ const uniqueCredentials = await this.session.context.agent.crsGetUniqueCredentials({ filter });
205
+ return uniqueCredentials.map((uniqueVC) => {
206
+ const vc = uniqueVC.uniformVerifiableCredential;
207
+ const proof = Array.isArray(vc.proof) ? vc.proof : [vc.proof];
208
+ const jwtProof = proof.find((p) => p?.type === DEFAULT_JWT_PROOF_TYPE);
209
+ return jwtProof ? jwtProof.jwt : vc;
219
210
  });
220
211
  }
221
212
  }
222
- exports.OID4VP = OID4VP;
223
213
  //# sourceMappingURL=OID4VP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OID4VP.js","sourceRoot":"","sources":["../../src/session/OID4VP.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OID4VP.js","sourceRoot":"","sources":["../../src/session/OID4VP.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpSession.d.ts","sourceRoot":"","sources":["../../src/session/OpSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kCAAkC,EAMlC,GAAG,EAEH,4BAA4B,EAC7B,MAAM,yBAAyB,CAAA;AAehC,OAAO,EAAE,WAAW,EAA2B,MAAM,cAAc,CAAA;AAGnE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,uBAAuB,EAAE,qCAAqC,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEvI,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAKjC,qBAAa,SAAS;IACpB,SAAgB,EAAE,SAAuB;IACzC,SAAgB,EAAE,EAAE,MAAM,CAAA;IAC1B,SAAgB,OAAO,EAAE,UAAU,CAAA;IACnC,SAAgB,OAAO,EAAE,gBAAgB,CAAA;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;IAC9C,OAAO,CAAC,4BAA4B,CAAC,CAA0C;IAC/E,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAsC;IAExF,OAAO;WAQa,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAIlE,uBAAuB,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAahE,0BAA0B,IAAI,OAAO,CAAC,GAAG,CAAC;IAIvD,IAAI,KAAK,WAKR;IAED,IAAI,KAAK,WAKR;IAEM,KAAK,IAAI,SAAS;IAOZ,sBAAsB,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0B3E,OAAO,CAAC,2BAA2B;YAMrB,8BAA8B;YAM9B,wBAAwB;IAiDzB,uBAAuB,CAAC,IAAI,CAAC,EAAE;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA6B5F,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC;IAK9C,0BAA0B,IAAI,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,GAAG,SAAS,CAAC;IAO5F,SAAS,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAItE,OAAO,CAAC,sCAAsC;YA6BhC,0BAA0B;IAyC3B,yBAAyB,CAAC,IAAI,EAAE,qCAAqC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwEtG,OAAO,CAAC,gBAAgB;CAoBzB"}
1
+ {"version":3,"file":"OpSession.d.ts","sourceRoot":"","sources":["../../src/session/OpSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kCAAkC,EAMlC,GAAG,EAEH,4BAA4B,EAC7B,MAAM,yBAAyB,CAAA;AAehC,OAAO,EAAE,WAAW,EAA2B,MAAM,cAAc,CAAA;AAGnE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,uBAAuB,EAAE,qCAAqC,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEvI,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAKjC,qBAAa,SAAS;IACpB,SAAgB,EAAE,SAAuB;IACzC,SAAgB,EAAE,EAAE,MAAM,CAAA;IAC1B,SAAgB,OAAO,EAAE,UAAU,CAAA;IACnC,SAAgB,OAAO,EAAE,gBAAgB,CAAA;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;IAC9C,OAAO,CAAC,4BAA4B,CAAC,CAA0C;IAC/E,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAsC;IAExF,OAAO;WAQa,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAIlE,uBAAuB,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAahE,0BAA0B,IAAI,OAAO,CAAC,GAAG,CAAC;IAIvD,IAAI,KAAK,WAKR;IAED,IAAI,KAAK,WAKR;IAEM,KAAK,IAAI,SAAS;IAOZ,sBAAsB,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0B3E,OAAO,CAAC,2BAA2B;YAMrB,8BAA8B;YAM9B,wBAAwB;IAiDzB,uBAAuB,CAAC,IAAI,CAAC,EAAE;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA6B5F,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC;IAK9C,0BAA0B,IAAI,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,GAAG,SAAS,CAAC;IAO5F,SAAS,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAItE,OAAO,CAAC,sCAAsC;YA6BhC,0BAA0B;IAyC3B,yBAAyB,CAAC,IAAI,EAAE,qCAAqC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyEtG,OAAO,CAAC,gBAAgB;CAoBzB"}