@credo-ts/openid4vc 0.6.0-pr-2195-20250223181657 → 0.6.0-pr-2195-20250225234342

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 (65) hide show
  1. package/build/openid4vc-holder/OpenId4VcHolderApi.d.ts +31 -28
  2. package/build/openid4vc-holder/OpenId4VcHolderApi.js +6 -4
  3. package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +1 -1
  4. package/build/openid4vc-holder/OpenId4VcHolderModule.js +1 -1
  5. package/build/openid4vc-holder/OpenId4VcHolderModule.js.map +1 -1
  6. package/build/openid4vc-holder/OpenId4VciHolderService.d.ts +3 -3
  7. package/build/openid4vc-holder/OpenId4VciHolderService.js +8 -8
  8. package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
  9. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +3 -3
  10. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js +2 -2
  11. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js.map +1 -1
  12. package/build/openid4vc-holder/OpenId4vcSiopHolderService.d.ts +24 -30
  13. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +46 -135
  14. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +1 -1
  15. package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +5 -10
  16. package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.ts +1 -1
  17. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +1 -1
  18. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +1 -1
  19. package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +5 -5
  20. package/build/openid4vc-issuer/OpenId4VcIssuerService.js +7 -7
  21. package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
  22. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +1 -1
  23. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +1 -1
  24. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +1 -1
  25. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +2 -2
  26. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +1 -1
  27. package/build/openid4vc-issuer/router/accessTokenEndpoint.js +1 -1
  28. package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +1 -1
  29. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js +1 -1
  30. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +1 -1
  31. package/build/openid4vc-issuer/router/credentialEndpoint.js +3 -3
  32. package/build/openid4vc-issuer/router/credentialEndpoint.js.map +1 -1
  33. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.d.ts +8 -8
  34. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +142 -101
  35. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +1 -1
  36. package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +11 -17
  37. package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.ts +2 -2
  38. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +1 -4
  39. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +1 -1
  40. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.ts +19 -10
  41. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +18 -6
  42. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +1 -1
  43. package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +1 -1
  44. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js +3 -16
  45. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js.map +1 -1
  46. package/build/shared/callbacks.d.ts +6 -9
  47. package/build/shared/callbacks.js +50 -56
  48. package/build/shared/callbacks.js.map +1 -1
  49. package/build/shared/issuerMetadataUtils.d.ts +1 -1
  50. package/build/shared/models/OpenId4VcJwtIssuer.d.ts +2 -3
  51. package/build/shared/models/index.d.ts +4 -4
  52. package/build/shared/models/index.js.map +1 -1
  53. package/build/shared/router/context.d.ts +1 -1
  54. package/build/shared/router/context.js +1 -1
  55. package/build/shared/router/context.js.map +1 -1
  56. package/build/shared/utils.d.ts +3 -5
  57. package/build/shared/utils.js +23 -21
  58. package/build/shared/utils.js.map +1 -1
  59. package/package.json +6 -7
  60. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.d.ts +0 -102
  61. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js +0 -273
  62. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js.map +0 -1
  63. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.d.ts +0 -49
  64. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js +0 -164
  65. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js.map +0 -1
@@ -11,23 +11,22 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
- var OpenId4VcSiopVerifierService_1;
15
14
  Object.defineProperty(exports, "__esModule", { value: true });
16
15
  exports.OpenId4VcSiopVerifierService = void 0;
17
16
  const core_1 = require("@credo-ts/core");
18
17
  const oauth2_1 = require("@openid4vc/oauth2");
19
- const oid4vp_1 = require("@openid4vc/oid4vp");
18
+ const openid4vp_1 = require("@openid4vc/openid4vp");
20
19
  const callbacks_1 = require("../shared/callbacks");
21
20
  const router_1 = require("../shared/router");
22
21
  const utils_1 = require("../shared/utils");
23
22
  const OpenId4VcVerificationSessionState_1 = require("./OpenId4VcVerificationSessionState");
23
+ const OpenId4VcVerifierEvents_1 = require("./OpenId4VcVerifierEvents");
24
24
  const OpenId4VcVerifierModuleConfig_1 = require("./OpenId4VcVerifierModuleConfig");
25
25
  const repository_1 = require("./repository");
26
- const OpenId4VcRelyingPartyEventEmitter_1 = require("./repository/OpenId4VcRelyingPartyEventEmitter");
27
26
  /**
28
27
  * @internal
29
28
  */
30
- let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId4VcSiopVerifierService {
29
+ let OpenId4VcSiopVerifierService = class OpenId4VcSiopVerifierService {
31
30
  constructor(logger, w3cCredentialService, openId4VcVerifierRepository, config, openId4VcVerificationSessionRepository) {
32
31
  this.logger = logger;
33
32
  this.w3cCredentialService = w3cCredentialService;
@@ -37,30 +36,37 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
37
36
  }
38
37
  getOpenid4vpVerifier(agentContext) {
39
38
  const callbacks = (0, callbacks_1.getOid4vcCallbacks)(agentContext);
40
- const openid4vpClient = new oid4vp_1.Oid4vcVerifier({ callbacks });
39
+ const openid4vpClient = new openid4vp_1.Openid4vpVerifier({ callbacks });
41
40
  return openid4vpClient;
42
41
  }
43
42
  async createAuthorizationRequest(agentContext, options) {
44
43
  const nonce = await agentContext.wallet.generateNonce();
45
44
  const state = await agentContext.wallet.generateNonce();
46
- // Correlation id will be the id of the verification session record
47
- const correlationId = core_1.utils.uuid();
45
+ const isDcApiRequest = options.responseMode === 'dc_api' || options.responseMode === 'dc_api.jwt';
46
+ const responseMode = options.responseMode ?? 'direct_post.jwt';
47
+ // No response url for DC API
48
48
  let authorizationResponseUrl = (0, core_1.joinUriParts)(this.config.baseUrl, [
49
49
  options.verifier.verifierId,
50
50
  this.config.authorizationEndpoint.endpointPath,
51
51
  ]);
52
- const jwtIssuer = options.requestSigner.method === 'x5c'
53
- ? await (0, utils_1.openIdTokenIssuerToJwtIssuer)(agentContext, {
54
- ...options.requestSigner,
55
- issuer: authorizationResponseUrl,
56
- })
57
- : await (0, utils_1.openIdTokenIssuerToJwtIssuer)(agentContext, options.requestSigner);
52
+ const jwtIssuer = options.requestSigner.method === 'none'
53
+ ? undefined
54
+ : options.requestSigner.method === 'x5c'
55
+ ? await (0, utils_1.requestSignerToJwtIssuer)(agentContext, {
56
+ ...options.requestSigner,
57
+ issuer: authorizationResponseUrl,
58
+ })
59
+ : await (0, utils_1.requestSignerToJwtIssuer)(agentContext, options.requestSigner);
58
60
  let clientIdScheme;
59
61
  let clientId;
60
- if (jwtIssuer.method === 'x5c') {
61
- if (jwtIssuer.issuer !== authorizationResponseUrl) {
62
- throw new core_1.CredoError(`The jwtIssuer's issuer field must match the verifier's authorizationResponseUrl '${authorizationResponseUrl}'.`);
62
+ if (!jwtIssuer) {
63
+ if (!isDcApiRequest) {
64
+ throw new Error("requestSigner method 'none' is only supported for response mode 'dc_api' and 'dc_api.jwt'");
63
65
  }
66
+ clientIdScheme = 'web-origin';
67
+ clientId = undefined;
68
+ }
69
+ else if (jwtIssuer?.method === 'x5c') {
64
70
  const leafCertificate = core_1.X509Service.getLeafCertificate(agentContext, { certificateChain: jwtIssuer.x5c });
65
71
  if (leafCertificate.sanDnsNames.includes((0, core_1.getDomainFromUrl)(jwtIssuer.issuer))) {
66
72
  clientIdScheme = 'x509_san_dns';
@@ -76,7 +82,7 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
76
82
  throw new core_1.CredoError(`With jwtIssuer 'method' 'x5c' the jwtIssuer's 'issuer' field must either match the match a sanDnsName (FQDN) or sanUriName in the leaf x509 chain's leaf certificate.`);
77
83
  }
78
84
  }
79
- else if (jwtIssuer.method === 'did') {
85
+ else if (jwtIssuer?.method === 'did') {
80
86
  clientId = jwtIssuer.didUrl.split('#')[0];
81
87
  clientIdScheme = 'did';
82
88
  }
@@ -84,50 +90,69 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
84
90
  throw new core_1.CredoError(`Unsupported jwt issuer method '${options.requestSigner.method}'. Only 'did' and 'x5c' are supported.`);
85
91
  }
86
92
  // We always use shortened URIs currently
87
- const hostedAuthorizationRequestUri = (0, core_1.joinUriParts)(this.config.baseUrl, [
88
- options.verifier.verifierId,
89
- this.config.authorizationRequestEndpoint.endpointPath,
90
- // It doesn't really matter what the url is, as long as it's unique
91
- core_1.utils.uuid(),
92
- ]);
93
- const transaction_data = (options.dcql?.transactionData ?? options.presentationExchange?.transactionData)?.map((tdEntry) => core_1.JsonEncoder.toBase64URL(tdEntry)) ?? undefined;
93
+ const hostedAuthorizationRequestUri = !isDcApiRequest
94
+ ? (0, core_1.joinUriParts)(this.config.baseUrl, [
95
+ options.verifier.verifierId,
96
+ this.config.authorizationRequestEndpoint.endpointPath,
97
+ // It doesn't really matter what the url is, as long as it's unique
98
+ core_1.utils.uuid(),
99
+ ])
100
+ : // No hosted request needed when using DC API
101
+ undefined;
94
102
  const client_id = clientIdScheme === 'did' || clientIdScheme === 'https' ? clientId : `${clientIdScheme}:${clientId}`;
95
- const client_metadata = {
96
- ...(await this.getClientMetadata(agentContext, {
97
- responseMode: options.responseMode ?? 'direct_post',
98
- verifier: options.verifier,
99
- clientId,
100
- authorizationResponseUrl,
101
- })),
103
+ const client_metadata = await this.getClientMetadata(agentContext, {
104
+ responseMode,
105
+ verifier: options.verifier,
106
+ authorizationResponseUrl,
107
+ });
108
+ const requestParamsBase = {
109
+ nonce,
110
+ presentation_definition: options.presentationExchange?.definition,
111
+ dcql_query: options.dcql?.query,
112
+ transaction_data: options.transactionData?.map((entry) => core_1.JsonEncoder.toBase64URL(entry)),
113
+ response_mode: responseMode,
114
+ response_type: 'vp_token',
115
+ client_metadata,
102
116
  };
103
- const openid4vpVerifier = this.getOpenid4vpVerifier(agentContext);
104
- const authorizationRequest = await openid4vpVerifier.createOpenId4vpAuthorizationRequest({
105
- jar: { jwtSigner: jwtIssuer, requestUri: hostedAuthorizationRequestUri },
106
- requestParams: {
107
- client_id,
108
- nonce,
117
+ const authorizationRequestPayload = requestParamsBase.response_mode === 'dc_api.jwt' || requestParamsBase.response_mode === 'dc_api'
118
+ ? {
119
+ ...requestParamsBase,
120
+ // No client_id for unsigned requests
121
+ client_id: jwtIssuer ? client_id : undefined,
122
+ response_mode: requestParamsBase.response_mode,
123
+ expected_origins: options.expectedOrigins,
124
+ }
125
+ : {
126
+ ...requestParamsBase,
127
+ client_id: client_id,
109
128
  state,
110
- presentation_definition: options.presentationExchange?.definition,
111
- dcql_query: options.dcql?.query,
112
- transaction_data,
113
129
  response_uri: authorizationResponseUrl,
114
- response_mode: options.responseMode ?? 'direct_post',
115
- response_type: 'vp_token',
116
- client_metadata,
117
- expected_origins: options.expectedOrigins,
118
- },
130
+ };
131
+ const openid4vpVerifier = this.getOpenid4vpVerifier(agentContext);
132
+ const authorizationRequest = await openid4vpVerifier.createOpenId4vpAuthorizationRequest({
133
+ jar: jwtIssuer
134
+ ? {
135
+ jwtSigner: jwtIssuer,
136
+ // FIXME: cast can be removed when PR 41 is merged in oid4vc-ts
137
+ requestUri: hostedAuthorizationRequestUri,
138
+ }
139
+ : undefined,
140
+ requestParams: authorizationRequestPayload,
119
141
  });
120
- const verificationSession = await agentContext.dependencyManager
121
- .resolve(OpenId4VcRelyingPartyEventEmitter_1.OpenId4VcRelyingPartyEventHandler)
122
- .authorizationRequestCreatedSuccess(agentContext, {
123
- verifierId: options.verifier.verifierId,
124
- correlationId,
142
+ const verificationSession = new repository_1.OpenId4VcVerificationSessionRecord({
143
+ // Only store payload for unsiged requests
144
+ authorizationRequestPayload: authorizationRequest.jar ? undefined : authorizationRequestPayload,
125
145
  authorizationRequestJwt: authorizationRequest.jar?.requestObjectJwt,
126
146
  authorizationRequestUri: authorizationRequest.jar?.requestUri,
147
+ state: OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestCreated,
148
+ verifierId: options.verifier.verifierId,
127
149
  });
150
+ await this.openId4VcVerificationSessionRepository.save(agentContext, verificationSession);
151
+ this.emitStateChangedEvent(agentContext, verificationSession, null);
128
152
  return {
129
153
  authorizationRequest: authorizationRequest.authRequest,
130
154
  verificationSession,
155
+ authorizationRequestObject: authorizationRequest.authRequestObject,
131
156
  };
132
157
  }
133
158
  getDcqlVerifiedResponse(agentContext, _dcqlQuery, presentation) {
@@ -151,47 +176,56 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
151
176
  let parsedAuthResponse;
152
177
  let rawResponsePayload = responsePayload;
153
178
  try {
154
- parsedAuthResponse = await (0, oid4vp_1.parseOpenid4vpAuthorizationResponse)({
179
+ parsedAuthResponse = await (0, openid4vp_1.parseOpenid4vpAuthorizationResponse)({
155
180
  responsePayload,
156
181
  callbacks: {
157
182
  ...(0, callbacks_1.getOid4vcCallbacks)(agentContext),
158
183
  getOpenid4vpAuthorizationRequest: async (responsePayload) => {
159
184
  const { state, nonce } = responsePayload;
160
185
  rawResponsePayload = responsePayload;
161
- const openId4VcVerifierService = agentContext.dependencyManager.resolve(OpenId4VcSiopVerifierService_1);
162
- const session = await openId4VcVerifierService.findVerificationSessionForAuthorizationResponse(agentContext, { authorizationResponseParams: { state, nonce }, verifierId });
186
+ const session = await this.findVerificationSessionForAuthorizationResponse(agentContext, {
187
+ authorizationResponseParams: { state, nonce },
188
+ verifierId,
189
+ });
163
190
  if (!session) {
164
191
  agentContext.config.logger.warn(`No verification session found for incoming authorization response for verifier ${verifierId}`);
165
192
  throw new core_1.CredoError(`No state or nonce provided in authorization response for verifier ${verifierId}`);
166
193
  }
167
194
  verificationSession = session;
168
- const authorizationRequest = (0, oid4vp_1.parseOpenid4vpAuthorizationRequestPayload)({
169
- requestPayload: verificationSession.authorizationRequestJwt,
195
+ const authorizationRequest = (0, openid4vp_1.parseOpenid4vpAuthorizationRequestPayload)({
196
+ authorizationRequest: verificationSession.request,
170
197
  });
171
- if (authorizationRequest.type !== 'openid4vp') {
172
- throw new core_1.CredoError(`Invalid authorization request jwt. Expected 'openid4vp' request, received '${authorizationRequest.type}'.`);
198
+ if (authorizationRequest.type !== 'openid4vp' && authorizationRequest.type !== 'openid4vp_dc_api') {
199
+ throw new core_1.CredoError(`Invalid authorization request jwt. Expected 'openid4vp' or 'openid4vp_dc_api' request, received '${authorizationRequest.type}'.`);
200
+ }
201
+ if (authorizationRequest.params.client_id) {
202
+ return {
203
+ authorizationRequest: {
204
+ ...authorizationRequest.params,
205
+ client_id: authorizationRequest.params.client_id,
206
+ },
207
+ };
173
208
  }
174
- return { authRequest: authorizationRequest.params };
209
+ if (!options.origin) {
210
+ throw new core_1.CredoError('Origin must be provided when client id is not set.');
211
+ }
212
+ return {
213
+ authorizationRequest: {
214
+ ...authorizationRequest.params,
215
+ client_id: authorizationRequest.params.client_id ?? `web-origin:${options.origin}`,
216
+ },
217
+ };
175
218
  },
176
219
  },
177
220
  });
178
221
  }
179
222
  catch (error) {
180
- if (options.setResponseState &&
181
- verificationSession &&
182
- (verificationSession.state === OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestUriRetrieved ||
183
- verificationSession.state === OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestCreated)) {
184
- const parsed = oid4vp_1.zOpenid4vpAuthorizationResponse.safeParse(rawResponsePayload);
185
- if (!parsed.success)
186
- throw new error();
187
- await agentContext.dependencyManager
188
- .resolve(OpenId4VcRelyingPartyEventEmitter_1.OpenId4VcRelyingPartyEventHandler)
189
- .authorizationResponseReceivedFailed(agentContext, {
190
- verifierId,
191
- correlationId: verificationSession.id,
192
- authorizationResponsePayload: parsed.data,
193
- errorMessage: error.message,
194
- });
223
+ if (verificationSession?.state === OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestUriRetrieved ||
224
+ verificationSession?.state === OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestCreated) {
225
+ const parsed = openid4vp_1.zOpenid4vpAuthorizationResponse.safeParse(rawResponsePayload);
226
+ verificationSession.authorizationResponsePayload = parsed.success ? parsed.data : undefined;
227
+ verificationSession.errorMessage = error.message;
228
+ await this.updateState(agentContext, verificationSession, OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.Error);
195
229
  }
196
230
  throw error;
197
231
  }
@@ -207,7 +241,8 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
207
241
  if (!verificationSession) {
208
242
  throw new core_1.CredoError('Missing verification session, cannot verify authorization response.');
209
243
  }
210
- if (parsedAuthResponse.jarm && parsedAuthResponse.jarm.type !== 'encrypted') {
244
+ // FIXME: export JarmMode from openid4vp
245
+ if (parsedAuthResponse.jarm && `${parsedAuthResponse.jarm.type}` !== 'Encrypted') {
211
246
  throw new oauth2_1.Oauth2ServerErrorResponseError({
212
247
  error: oauth2_1.Oauth2ErrorCodes.InvalidRequest,
213
248
  error_description: `Only encrypted JARM responses are supported, received '${parsedAuthResponse.jarm.type}'.`,
@@ -220,11 +255,9 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
220
255
  }
221
256
  async verifyAuthorizationResponse(agentContext, options) {
222
257
  const openid4vpVerifier = this.getOpenid4vpVerifier(agentContext);
223
- const openId4VcRelyingPartyEventHandler = agentContext.dependencyManager.resolve(OpenId4VcRelyingPartyEventEmitter_1.OpenId4VcRelyingPartyEventHandler);
224
258
  const result = await this.parseAuthorizationResponse(agentContext, {
225
259
  verifierId: options.verifierId,
226
260
  responsePayload: options.authorizationResponse,
227
- setResponseState: true,
228
261
  });
229
262
  result.verificationSession.assertState([
230
263
  OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestUriRetrieved,
@@ -333,33 +366,24 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
333
366
  }
334
367
  }
335
368
  catch (error) {
336
- await openId4VcRelyingPartyEventHandler.authorizationResponseVerifiedFailed(agentContext, {
337
- verifierId: options.verifierId,
338
- correlationId: result.verificationSession.id,
339
- errorMessage: error.message,
340
- });
369
+ result.verificationSession.errorMessage = error.message;
370
+ await this.updateState(agentContext, result.verificationSession, OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.Error);
341
371
  throw error;
342
372
  }
343
- await openId4VcRelyingPartyEventHandler.authorizationResponseVerifiedSuccess(agentContext, {
344
- verifierId: options.verifierId,
345
- correlationId: result.verificationSession.id,
346
- authorizationResponsePayload: result.authResponsePayload,
347
- });
348
- const verificationSession = await this.getVerificationSessionById(agentContext, result.verificationSession.id);
349
- const verifiedAuthorizationResponse = await this.getVerifiedAuthorizationResponse(agentContext, verificationSession);
350
- return { ...verifiedAuthorizationResponse, verificationSession, transactionData };
373
+ result.verificationSession.authorizationResponsePayload = result.authResponsePayload;
374
+ await this.updateState(agentContext, result.verificationSession, OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.ResponseVerified);
375
+ const verifiedAuthorizationResponse = await this.getVerifiedAuthorizationResponse(agentContext, result.verificationSession);
376
+ return { ...verifiedAuthorizationResponse, verificationSession: result.verificationSession };
351
377
  }
352
378
  async getVerifiedAuthorizationResponse(agentContext, verificationSession) {
353
379
  verificationSession.assertState(OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.ResponseVerified);
354
380
  if (!verificationSession.authorizationResponsePayload) {
355
381
  throw new core_1.CredoError('No authorization response payload found in the verification session.');
356
382
  }
357
- const openid4vpAuthorizationResponsePayload = (0, oid4vp_1.isOpenid4vpAuthorizationResponseDcApi)(verificationSession.authorizationResponsePayload)
358
- ? verificationSession.authorizationResponsePayload.data
359
- : verificationSession.authorizationResponsePayload;
383
+ const openid4vpAuthorizationResponsePayload = verificationSession.authorizationResponsePayload;
360
384
  const openid4vpVerifier = this.getOpenid4vpVerifier(agentContext);
361
385
  const authorizationRequest = openid4vpVerifier.parseOpenid4vpAuthorizationRequestPayload({
362
- requestPayload: verificationSession.authorizationRequestJwt,
386
+ authorizationRequest: verificationSession.request,
363
387
  });
364
388
  if (authorizationRequest.provided !== 'jwt' || authorizationRequest.type === 'jar') {
365
389
  throw new core_1.CredoError('Invalid authorization request jwt');
@@ -456,7 +480,7 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
456
480
  return this.openId4VcVerificationSessionRepository.getById(agentContext, verificationSessionId);
457
481
  }
458
482
  async getClientMetadata(agentContext, options) {
459
- const { responseMode, verifier, clientId } = options;
483
+ const { responseMode, verifier } = options;
460
484
  const signatureSuiteRegistry = agentContext.dependencyManager.resolve(core_1.SignatureSuiteRegistry);
461
485
  const supportedAlgs = (0, utils_1.getSupportedJwaSignatureAlgorithms)(agentContext);
462
486
  const supportedMdocAlgs = supportedAlgs.filter(core_1.isMdocSupportedSignatureAlgorithm);
@@ -466,7 +490,7 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
466
490
  .resolve(core_1.DidsApi)
467
491
  .supportedResolverMethods.filter((m) => m !== 'peer');
468
492
  let jarmEncryptionJwk;
469
- if ((0, oid4vp_1.isJarmResponseMode)(responseMode)) {
493
+ if ((0, openid4vp_1.isJarmResponseMode)(responseMode)) {
470
494
  const key = await agentContext.wallet.createKey({ keyType: core_1.KeyType.P256 });
471
495
  jarmEncryptionJwk = { ...(0, core_1.getJwkFromKey)(key).toJson(), kid: key.fingerprint, use: 'enc' };
472
496
  }
@@ -480,10 +504,6 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
480
504
  return {
481
505
  ...jarmClientMetadata,
482
506
  ...verifier.clientMetadata,
483
- // FIXME: not passing client_id here means it will not be added
484
- // to the authorization request url (not the signed payload). Need
485
- // to fix that in Sphereon lib
486
- client_id: clientId,
487
507
  response_types_supported: ['vp_token'],
488
508
  subject_syntax_types_supported: [
489
509
  'urn:ietf:params:oauth:jwk-thumbprint',
@@ -658,7 +678,7 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
658
678
  type: 'openId4VpDcApi',
659
679
  clientId: options.audience,
660
680
  verifierGeneratedNonce: options.nonce,
661
- origin: options.nonce,
681
+ origin: options.origin,
662
682
  };
663
683
  }
664
684
  else {
@@ -739,9 +759,30 @@ let OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = class OpenId
739
759
  };
740
760
  }
741
761
  }
762
+ /**
763
+ * Update the record to a new state and emit an state changed event. Also updates the record
764
+ * in storage.
765
+ */
766
+ async updateState(agentContext, verificationSession, newState) {
767
+ agentContext.config.logger.debug(`Updating openid4vc verification session record ${verificationSession.id} to state ${newState} (previous=${verificationSession.state})`);
768
+ const previousState = verificationSession.state;
769
+ verificationSession.state = newState;
770
+ await this.openId4VcVerificationSessionRepository.update(agentContext, verificationSession);
771
+ this.emitStateChangedEvent(agentContext, verificationSession, previousState);
772
+ }
773
+ emitStateChangedEvent(agentContext, verificationSession, previousState) {
774
+ const eventEmitter = agentContext.dependencyManager.resolve(core_1.EventEmitter);
775
+ eventEmitter.emit(agentContext, {
776
+ type: OpenId4VcVerifierEvents_1.OpenId4VcVerifierEvents.VerificationSessionStateChanged,
777
+ payload: {
778
+ verificationSession: verificationSession.clone(),
779
+ previousState,
780
+ },
781
+ });
782
+ }
742
783
  };
743
784
  exports.OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService;
744
- exports.OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService_1 = __decorate([
785
+ exports.OpenId4VcSiopVerifierService = OpenId4VcSiopVerifierService = __decorate([
745
786
  (0, core_1.injectable)(),
746
787
  __param(0, (0, core_1.inject)(core_1.InjectionSymbols.Logger)),
747
788
  __metadata("design:paramtypes", [Object, core_1.W3cCredentialService,
@@ -1 +1 @@
1
- {"version":3,"file":"OpenId4VcSiopVerifierService.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcSiopVerifierService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenId4VcSiopVerifierService.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcSiopVerifierService.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,31 @@
1
- import type { DcqlPresentation, DcqlPresentationResult, DcqlQuery, DifPexPresentationWithDescriptor, DifPresentationExchangeDefinition, DifPresentationExchangeDefinitionV2, DifPresentationExchangeSubmission, TransactionData, VerifiablePresentation } from '@credo-ts/core';
2
- import type { OpenId4VcIssuerX5c, OpenId4VcJwtIssuer, OpenId4VcSiopAuthorizationResponsePayload } from '../shared';
3
1
  import type { OpenId4VcVerificationSessionRecord, OpenId4VcVerifierRecordProps } from './repository';
2
+ import type { OpenId4VcIssuerX5c, OpenId4VcJwtIssuerDid, OpenId4VcSiopAuthorizationResponsePayload } from '../shared';
3
+ import type { DcqlPresentation, DcqlPresentationResult, DcqlQuery, DifPexPresentationWithDescriptor, DifPresentationExchangeDefinition, DifPresentationExchangeDefinitionV2, DifPresentationExchangeSubmission, TransactionData, VerifiablePresentation } from '@credo-ts/core';
4
+ import type { createOpenid4vpAuthorizationRequest } from '@openid4vc/openid4vp';
4
5
  export type ResponseMode = 'direct_post' | 'direct_post.jwt' | 'dc_api' | 'dc_api.jwt';
5
6
  export interface OpenId4VcSiopCreateAuthorizationRequestOptions {
6
7
  /**
7
8
  * Signing information for the request JWT. This will be used to sign the request JWT
8
9
  * and to set the client_id and client_id_scheme for registration of client_metadata.
9
- *
10
- * For x5c signer's the issuer value can be omitted as it can be derived from the authorization response endpoint.
11
- */
12
- requestSigner: Exclude<OpenId4VcJwtIssuer, OpenId4VcIssuerX5c> | (Omit<OpenId4VcIssuerX5c, 'issuer'> & {
13
- issuer?: string;
14
- });
15
- /**
16
- * Whether to reuqest an ID Token. Enabled by defualt when `presentationExchange` is not provided,
17
- * disabled by default when `presentationExchange` is provided.
18
10
  */
19
- idToken?: boolean;
11
+ requestSigner: OpenId4VcJwtIssuerDid | Omit<OpenId4VcIssuerX5c, 'issuer'> | {
12
+ /**
13
+ * Do not sign the request. Only available for DC API
14
+ */
15
+ method: 'none';
16
+ };
17
+ transactionData?: TransactionData;
20
18
  /**
21
19
  * A DIF Presentation Definition (v2) can be provided to request a Verifiable Presentation using OpenID4VP.
22
20
  */
23
21
  presentationExchange?: {
24
22
  definition: DifPresentationExchangeDefinitionV2;
25
- transactionData?: TransactionData;
26
23
  };
27
24
  /**
28
25
  * A Digital Credentials Query Language (DCQL) can be provided to request the presentation of a Verifiable Credentials.
29
26
  */
30
27
  dcql?: {
31
28
  query: DcqlQuery;
32
- transactionData?: TransactionData;
33
29
  };
34
30
  /**
35
31
  * The response mode to use for the authorization request.
@@ -54,6 +50,7 @@ export interface OpenId4VcSiopVerifyAuthorizationResponseOptions {
54
50
  export interface OpenId4VcSiopCreateAuthorizationRequestReturn {
55
51
  authorizationRequest: string;
56
52
  verificationSession: OpenId4VcVerificationSessionRecord;
53
+ authorizationRequestObject: Awaited<ReturnType<typeof createOpenid4vpAuthorizationRequest>>['authRequestObject'];
57
54
  }
58
55
  export interface OpenId4VcSiopVerifiedAuthorizationResponsePresentationExchange {
59
56
  submission: DifPresentationExchangeSubmission;
@@ -66,9 +63,6 @@ export interface OpenId4VcSiopVerifiedAuthorizationResponseDcql {
66
63
  presentation: DcqlPresentation;
67
64
  presentationResult: DcqlPresentationResult;
68
65
  }
69
- /**
70
- * Either `idToken` and/or `presentationExchange` will be present.
71
- */
72
66
  export interface OpenId4VcSiopVerifiedAuthorizationResponse {
73
67
  presentationExchange?: OpenId4VcSiopVerifiedAuthorizationResponsePresentationExchange;
74
68
  dcql?: OpenId4VcSiopVerifiedAuthorizationResponseDcql;
@@ -1,7 +1,7 @@
1
- import type { Query, QueryOptions } from '@credo-ts/core';
2
- import type { OpenId4VcSiopAuthorizationResponsePayload } from '../shared';
3
1
  import type { OpenId4VcSiopCreateAuthorizationRequestOptions, OpenId4VcSiopCreateAuthorizationRequestReturn, OpenId4VcSiopCreateVerifierOptions, OpenId4VcSiopVerifyAuthorizationResponseOptions, OpenId4VcUpdateVerifierRecordOptions } from './OpenId4VcSiopVerifierServiceOptions';
4
2
  import type { OpenId4VcVerificationSessionRecord } from './repository';
3
+ import type { OpenId4VcSiopAuthorizationResponsePayload } from '../shared';
4
+ import type { Query, QueryOptions } from '@credo-ts/core';
5
5
  import { AgentContext } from '@credo-ts/core';
6
6
  import { OpenId4VcSiopVerifierService } from './OpenId4VcSiopVerifierService';
7
7
  import { OpenId4VcVerifierModuleConfig } from './OpenId4VcVerifierModuleConfig';
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OpenId4VcVerifierModule = void 0;
4
- const oauth2_1 = require("@openid4vc/oauth2");
5
4
  const core_1 = require("@credo-ts/core");
5
+ const oauth2_1 = require("@openid4vc/oauth2");
6
6
  const router_1 = require("../shared/router");
7
7
  const OpenId4VcSiopVerifierService_1 = require("./OpenId4VcSiopVerifierService");
8
8
  const OpenId4VcVerifierApi_1 = require("./OpenId4VcVerifierApi");
9
9
  const OpenId4VcVerifierModuleConfig_1 = require("./OpenId4VcVerifierModuleConfig");
10
10
  const repository_1 = require("./repository");
11
- const OpenId4VcRelyingPartyEventEmitter_1 = require("./repository/OpenId4VcRelyingPartyEventEmitter");
12
11
  const router_2 = require("./router");
13
12
  const authorizationRequestEndpoint_1 = require("./router/authorizationRequestEndpoint");
14
13
  /**
@@ -37,8 +36,6 @@ class OpenId4VcVerifierModule {
37
36
  dependencyManager.registerSingleton(OpenId4VcSiopVerifierService_1.OpenId4VcSiopVerifierService);
38
37
  // Repository
39
38
  dependencyManager.registerSingleton(repository_1.OpenId4VcVerifierRepository);
40
- // Global event emitter
41
- dependencyManager.registerSingleton(OpenId4VcRelyingPartyEventEmitter_1.OpenId4VcRelyingPartyEventHandler);
42
39
  }
43
40
  async initialize(rootAgentContext) {
44
41
  this.configureRouter(rootAgentContext);