@credo-ts/openid4vc 0.5.0-alpha.153 → 0.5.0-alpha.155

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 (100) hide show
  1. package/build/openid4vc-holder/OpenId4VciHolderService.js +3 -1
  2. package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
  3. package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.d.ts +9 -0
  4. package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.js +14 -0
  5. package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.js.map +1 -0
  6. package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.ts +12 -19
  7. package/build/openid4vc-issuer/OpenId4VcIssuerApi.js +15 -27
  8. package/build/openid4vc-issuer/OpenId4VcIssuerApi.js.map +1 -1
  9. package/build/openid4vc-issuer/OpenId4VcIssuerEvents.d.ts +13 -0
  10. package/build/openid4vc-issuer/OpenId4VcIssuerEvents.js +8 -0
  11. package/build/openid4vc-issuer/OpenId4VcIssuerEvents.js.map +1 -0
  12. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +3 -0
  13. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +1 -1
  14. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts +7 -9
  15. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js +11 -33
  16. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js.map +1 -1
  17. package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +24 -10
  18. package/build/openid4vc-issuer/OpenId4VcIssuerService.js +76 -65
  19. package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
  20. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +1 -11
  21. package/build/openid4vc-issuer/index.d.ts +2 -0
  22. package/build/openid4vc-issuer/index.js +2 -0
  23. package/build/openid4vc-issuer/index.js.map +1 -1
  24. package/build/openid4vc-issuer/repository/OpenId4VcCNonceStateManager.d.ts +17 -0
  25. package/build/openid4vc-issuer/repository/OpenId4VcCNonceStateManager.js +90 -0
  26. package/build/openid4vc-issuer/repository/OpenId4VcCNonceStateManager.js.map +1 -0
  27. package/build/openid4vc-issuer/repository/OpenId4VcCredentialOfferSessionStateManager.d.ts +21 -0
  28. package/build/openid4vc-issuer/repository/OpenId4VcCredentialOfferSessionStateManager.js +182 -0
  29. package/build/openid4vc-issuer/repository/OpenId4VcCredentialOfferSessionStateManager.js.map +1 -0
  30. package/build/openid4vc-issuer/repository/OpenId4VcCredentialOfferUriStateManager.d.ts +17 -0
  31. package/build/openid4vc-issuer/repository/OpenId4VcCredentialOfferUriStateManager.js +68 -0
  32. package/build/openid4vc-issuer/repository/OpenId4VcCredentialOfferUriStateManager.js.map +1 -0
  33. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +79 -0
  34. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js +39 -0
  35. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +1 -0
  36. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.d.ts +5 -0
  37. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.js +29 -0
  38. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.js.map +1 -0
  39. package/build/openid4vc-issuer/repository/index.d.ts +2 -0
  40. package/build/openid4vc-issuer/repository/index.js +2 -0
  41. package/build/openid4vc-issuer/repository/index.js.map +1 -1
  42. package/build/openid4vc-issuer/router/accessTokenEndpoint.js +15 -10
  43. package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +1 -1
  44. package/build/openid4vc-issuer/router/credentialEndpoint.js +22 -4
  45. package/build/openid4vc-issuer/router/credentialEndpoint.js.map +1 -1
  46. package/build/openid4vc-issuer/router/credentialOfferEndpoint.d.ts +11 -0
  47. package/build/openid4vc-issuer/router/credentialOfferEndpoint.js +54 -0
  48. package/build/openid4vc-issuer/router/credentialOfferEndpoint.js.map +1 -0
  49. package/build/openid4vc-issuer/router/index.d.ts +1 -0
  50. package/build/openid4vc-issuer/router/index.js +3 -1
  51. package/build/openid4vc-issuer/router/index.js.map +1 -1
  52. package/build/openid4vc-issuer/router/verifyAccessToken.d.ts +3 -0
  53. package/build/openid4vc-issuer/router/verifyAccessToken.js +33 -0
  54. package/build/openid4vc-issuer/router/verifyAccessToken.js.map +1 -0
  55. package/build/openid4vc-issuer/util/credentialRequest.d.ts +5 -0
  56. package/build/openid4vc-issuer/util/credentialRequest.js +18 -0
  57. package/build/openid4vc-issuer/util/credentialRequest.js.map +1 -0
  58. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.d.ts +22 -6
  59. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +137 -57
  60. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +1 -1
  61. package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +5 -4
  62. package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.d.ts +6 -0
  63. package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.js +11 -0
  64. package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.js.map +1 -0
  65. package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.ts +17 -5
  66. package/build/openid4vc-verifier/OpenId4VcVerifierApi.js +19 -6
  67. package/build/openid4vc-verifier/OpenId4VcVerifierApi.js.map +1 -1
  68. package/build/openid4vc-verifier/OpenId4VcVerifierEvents.d.ts +13 -0
  69. package/build/openid4vc-verifier/OpenId4VcVerifierEvents.js +8 -0
  70. package/build/openid4vc-verifier/OpenId4VcVerifierEvents.js.map +1 -0
  71. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +6 -1
  72. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +1 -1
  73. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.d.ts +4 -7
  74. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js +6 -23
  75. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js.map +1 -1
  76. package/build/openid4vc-verifier/index.d.ts +2 -0
  77. package/build/openid4vc-verifier/index.js +2 -0
  78. package/build/openid4vc-verifier/index.js.map +1 -1
  79. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.d.ts +50 -0
  80. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js +229 -0
  81. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js.map +1 -0
  82. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.d.ts +19 -0
  83. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js +146 -0
  84. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js.map +1 -0
  85. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.ts +61 -0
  86. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +45 -0
  87. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +1 -0
  88. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.d.ts +5 -0
  89. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.js +29 -0
  90. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.js.map +1 -0
  91. package/build/openid4vc-verifier/repository/index.d.ts +2 -0
  92. package/build/openid4vc-verifier/repository/index.js +2 -0
  93. package/build/openid4vc-verifier/repository/index.js.map +1 -1
  94. package/build/openid4vc-verifier/router/authorizationEndpoint.js +9 -2
  95. package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +1 -1
  96. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.d.ts +11 -0
  97. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js +59 -0
  98. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js.map +1 -0
  99. package/build/shared/models/index.js.map +1 -1
  100. package/package.json +10 -9
@@ -11,14 +11,18 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.OpenId4VcIssuerService = void 0;
13
13
  const core_1 = require("@credo-ts/core");
14
- const oid4vci_common_1 = require("@sphereon/oid4vci-common");
15
14
  const oid4vci_issuer_1 = require("@sphereon/oid4vci-issuer");
16
15
  const shared_1 = require("../shared");
17
16
  const router_1 = require("../shared/router");
18
17
  const transform_1 = require("../shared/transform");
19
18
  const utils_1 = require("../shared/utils");
19
+ const OpenId4VcIssuanceSessionState_1 = require("./OpenId4VcIssuanceSessionState");
20
20
  const OpenId4VcIssuerModuleConfig_1 = require("./OpenId4VcIssuerModuleConfig");
21
21
  const repository_1 = require("./repository");
22
+ const OpenId4VcCNonceStateManager_1 = require("./repository/OpenId4VcCNonceStateManager");
23
+ const OpenId4VcCredentialOfferSessionStateManager_1 = require("./repository/OpenId4VcCredentialOfferSessionStateManager");
24
+ const OpenId4VcCredentialOfferUriStateManager_1 = require("./repository/OpenId4VcCredentialOfferUriStateManager");
25
+ const credentialRequest_1 = require("./util/credentialRequest");
22
26
  const w3cOpenId4VcFormats = [
23
27
  shared_1.OpenId4VciCredentialFormatProfile.JwtVcJson,
24
28
  shared_1.OpenId4VciCredentialFormatProfile.JwtVcJsonLd,
@@ -28,7 +32,7 @@ const w3cOpenId4VcFormats = [
28
32
  * @internal
29
33
  */
30
34
  let OpenId4VcIssuerService = class OpenId4VcIssuerService {
31
- constructor(w3cCredentialService, jwsService, openId4VcIssuerConfig, openId4VcIssuerRepository) {
35
+ constructor(w3cCredentialService, jwsService, openId4VcIssuerConfig, openId4VcIssuerRepository, openId4VcIssuanceSessionRepository) {
32
36
  this.getJwtVerifyCallback = (agentContext) => {
33
37
  return async (opts) => {
34
38
  let didDocument = undefined;
@@ -142,7 +146,7 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
142
146
  agentContext,
143
147
  holderBinding,
144
148
  credentialOffer,
145
- credentialRequest,
149
+ credentialRequest: credentialRequest,
146
150
  credentialsSupported: offeredCredentialsMatchingRequest,
147
151
  });
148
152
  if (signOptions.format === core_1.ClaimFormat.JwtVc || signOptions.format === core_1.ClaimFormat.LdpVc) {
@@ -178,72 +182,88 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
178
182
  this.jwsService = jwsService;
179
183
  this.openId4VcIssuerConfig = openId4VcIssuerConfig;
180
184
  this.openId4VcIssuerRepository = openId4VcIssuerRepository;
181
- }
182
- getIssuerMetadata(agentContext, issuerRecord) {
183
- const config = agentContext.dependencyManager.resolve(OpenId4VcIssuerModuleConfig_1.OpenId4VcIssuerModuleConfig);
184
- const issuerUrl = (0, core_1.joinUriParts)(config.baseUrl, [issuerRecord.issuerId]);
185
- const issuerMetadata = {
186
- issuerUrl,
187
- tokenEndpoint: (0, core_1.joinUriParts)(issuerUrl, [config.accessTokenEndpoint.endpointPath]),
188
- credentialEndpoint: (0, core_1.joinUriParts)(issuerUrl, [config.credentialEndpoint.endpointPath]),
189
- credentialsSupported: issuerRecord.credentialsSupported,
190
- issuerDisplay: issuerRecord.display,
191
- };
192
- return issuerMetadata;
185
+ this.openId4VcIssuanceSessionRepository = openId4VcIssuanceSessionRepository;
193
186
  }
194
187
  async createCredentialOffer(agentContext, options) {
195
- const { preAuthorizedCodeFlowConfig, authorizationCodeFlowConfig, issuer, offeredCredentials } = options;
188
+ const { preAuthorizedCodeFlowConfig, issuer, offeredCredentials } = options;
196
189
  const vcIssuer = this.getVcIssuer(agentContext, issuer);
197
190
  // this checks if the structure of the credentials is correct
198
191
  // it throws an error if a offered credential cannot be found in the credentialsSupported
199
192
  (0, shared_1.getOfferedCredentials)(options.offeredCredentials, vcIssuer.issuerMetadata.credentials_supported);
200
- const { uri, session } = await vcIssuer.createCredentialOfferURI({
201
- grants: await this.getGrantsFromConfig(agentContext, preAuthorizedCodeFlowConfig, authorizationCodeFlowConfig),
193
+ // We always use shortened URIs currently
194
+ const hostedCredentialOfferUri = (0, core_1.joinUriParts)(vcIssuer.issuerMetadata.credential_issuer, [
195
+ this.openId4VcIssuerConfig.credentialOfferEndpoint.endpointPath,
196
+ // It doesn't really matter what the url is, as long as it's unique
197
+ core_1.utils.uuid(),
198
+ ]);
199
+ const { uri } = await vcIssuer.createCredentialOfferURI({
200
+ grants: await this.getGrantsFromConfig(agentContext, preAuthorizedCodeFlowConfig),
202
201
  credentials: offeredCredentials,
203
- // TODO: support hosting of credential offers within AFJ
204
- credentialOfferUri: options.hostedCredentialOfferUrl,
202
+ credentialOfferUri: hostedCredentialOfferUri,
205
203
  baseUri: options.baseUri,
206
204
  });
207
- const credentialOfferPayload = session.credentialOffer.credential_offer;
205
+ const issuanceSession = await this.openId4VcIssuanceSessionRepository.getSingleByQuery(agentContext, {
206
+ credentialOfferUri: hostedCredentialOfferUri,
207
+ });
208
208
  return {
209
- credentialOfferPayload,
209
+ issuanceSession,
210
210
  credentialOffer: uri,
211
211
  };
212
212
  }
213
- async getCredentialOfferFromUri(agentContext, uri) {
214
- const { credentialOfferSessionId, credentialOfferSession } = await this.getCredentialOfferSessionFromUri(agentContext, uri);
215
- credentialOfferSession.lastUpdatedAt = +new Date();
216
- credentialOfferSession.status = oid4vci_common_1.IssueStatus.OFFER_URI_RETRIEVED;
217
- await this.openId4VcIssuerConfig
218
- .getCredentialOfferSessionStateManager(agentContext)
219
- .set(credentialOfferSessionId, credentialOfferSession);
220
- return credentialOfferSession.credentialOffer.credential_offer;
213
+ /**
214
+ * find the issuance session associated with a credential request. You can optionally provide a issuer id if
215
+ * the issuer that the request is associated with is already known.
216
+ */
217
+ async findIssuanceSessionForCredentialRequest(agentContext, { credentialRequest, issuerId }) {
218
+ const cNonce = (0, credentialRequest_1.getCNonceFromCredentialRequest)(credentialRequest);
219
+ const issuanceSession = await this.openId4VcIssuanceSessionRepository.findSingleByQuery(agentContext, {
220
+ issuerId,
221
+ cNonce,
222
+ });
223
+ return issuanceSession;
221
224
  }
222
225
  async createCredentialResponse(agentContext, options) {
223
- const { credentialRequest, issuer } = options;
226
+ options.issuanceSession.assertState([
227
+ OpenId4VcIssuanceSessionState_1.OpenId4VcIssuanceSessionState.AccessTokenCreated,
228
+ OpenId4VcIssuanceSessionState_1.OpenId4VcIssuanceSessionState.CredentialRequestReceived,
229
+ // It is possible to issue multiple credentials in one session
230
+ OpenId4VcIssuanceSessionState_1.OpenId4VcIssuanceSessionState.CredentialIssued,
231
+ ]);
232
+ const { credentialRequest, issuanceSession } = options;
224
233
  if (!credentialRequest.proof)
225
234
  throw new core_1.CredoError('No proof defined in the credentialRequest.');
235
+ const issuer = await this.getIssuerByIssuerId(agentContext, options.issuanceSession.issuerId);
226
236
  const vcIssuer = this.getVcIssuer(agentContext, issuer);
227
- const issueCredentialResponse = await vcIssuer.issueCredential({
237
+ const credentialResponse = await vcIssuer.issueCredential({
228
238
  credentialRequest,
229
239
  tokenExpiresIn: this.openId4VcIssuerConfig.accessTokenEndpoint.tokenExpiresInSeconds,
230
240
  // This can just be combined with signing callback right?
231
- credentialDataSupplier: this.getCredentialDataSupplier(agentContext, options),
241
+ credentialDataSupplier: this.getCredentialDataSupplier(agentContext, Object.assign(Object.assign({}, options), { issuer })),
242
+ credentialDataSupplierInput: issuanceSession.issuanceMetadata,
232
243
  newCNonce: undefined,
233
244
  responseCNonce: undefined,
234
245
  });
235
- if (!issueCredentialResponse.credential) {
246
+ if (!credentialResponse.credential) {
236
247
  throw new core_1.CredoError('No credential found in the issueCredentialResponse.');
237
248
  }
238
- if (issueCredentialResponse.acceptance_token) {
249
+ if (credentialResponse.acceptance_token) {
239
250
  throw new core_1.CredoError('Acceptance token not yet supported.');
240
251
  }
241
- return issueCredentialResponse;
252
+ return {
253
+ credentialResponse,
254
+ issuanceSession: await this.openId4VcIssuanceSessionRepository.getById(agentContext, issuanceSession.id),
255
+ };
256
+ }
257
+ async findIssuanceSessionsByQuery(agentContext, query) {
258
+ return this.openId4VcIssuanceSessionRepository.findByQuery(agentContext, query);
259
+ }
260
+ async getIssuanceSessionById(agentContext, issuanceSessionId) {
261
+ return this.openId4VcIssuanceSessionRepository.getById(agentContext, issuanceSessionId);
242
262
  }
243
263
  async getAllIssuers(agentContext) {
244
264
  return this.openId4VcIssuerRepository.getAll(agentContext);
245
265
  }
246
- async getByIssuerId(agentContext, issuerId) {
266
+ async getIssuerByIssuerId(agentContext, issuerId) {
247
267
  return this.openId4VcIssuerRepository.getByIssuerId(agentContext, issuerId);
248
268
  }
249
269
  async updateIssuer(agentContext, issuer) {
@@ -275,21 +295,17 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
275
295
  issuer.accessTokenPublicKeyFingerprint = accessTokenSignerKey.fingerprint;
276
296
  await this.openId4VcIssuerRepository.update(agentContext, issuer);
277
297
  }
278
- async getCredentialOfferSessionFromUri(agentContext, uri) {
279
- var _a;
280
- const uriState = await this.openId4VcIssuerConfig.getUriStateManager(agentContext).get(uri);
281
- if (!uriState)
282
- throw new core_1.CredoError(`Credential offer uri '${uri}' not found.`);
283
- const credentialOfferSessionId = (_a = uriState.preAuthorizedCode) !== null && _a !== void 0 ? _a : uriState.issuerState;
284
- if (!credentialOfferSessionId) {
285
- throw new core_1.CredoError(`Credential offer uri '${uri}' is not associated with a preAuthorizedCode or issuerState.`);
286
- }
287
- const credentialOfferSession = await this.openId4VcIssuerConfig
288
- .getCredentialOfferSessionStateManager(agentContext)
289
- .get(credentialOfferSessionId);
290
- if (!credentialOfferSession)
291
- throw new core_1.CredoError(`Credential offer session for '${uri}' with id '${credentialOfferSessionId}' not found.`);
292
- return { credentialOfferSessionId, credentialOfferSession };
298
+ getIssuerMetadata(agentContext, issuerRecord) {
299
+ const config = agentContext.dependencyManager.resolve(OpenId4VcIssuerModuleConfig_1.OpenId4VcIssuerModuleConfig);
300
+ const issuerUrl = (0, core_1.joinUriParts)(config.baseUrl, [issuerRecord.issuerId]);
301
+ const issuerMetadata = {
302
+ issuerUrl,
303
+ tokenEndpoint: (0, core_1.joinUriParts)(issuerUrl, [config.accessTokenEndpoint.endpointPath]),
304
+ credentialEndpoint: (0, core_1.joinUriParts)(issuerUrl, [config.credentialEndpoint.endpointPath]),
305
+ credentialsSupported: issuerRecord.credentialsSupported,
306
+ issuerDisplay: issuerRecord.display,
307
+ };
308
+ return issuerMetadata;
293
309
  }
294
310
  getVcIssuer(agentContext, issuer) {
295
311
  const issuerMetadata = this.getIssuerMetadata(agentContext, issuer);
@@ -298,9 +314,9 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
298
314
  .withCredentialEndpoint(issuerMetadata.credentialEndpoint)
299
315
  .withTokenEndpoint(issuerMetadata.tokenEndpoint)
300
316
  .withCredentialsSupported(issuerMetadata.credentialsSupported)
301
- .withCNonceStateManager(this.openId4VcIssuerConfig.getCNonceStateManager(agentContext))
302
- .withCredentialOfferStateManager(this.openId4VcIssuerConfig.getCredentialOfferSessionStateManager(agentContext))
303
- .withCredentialOfferURIStateManager(this.openId4VcIssuerConfig.getUriStateManager(agentContext))
317
+ .withCNonceStateManager(new OpenId4VcCNonceStateManager_1.OpenId4VcCNonceStateManager(agentContext, issuer.issuerId))
318
+ .withCredentialOfferStateManager(new OpenId4VcCredentialOfferSessionStateManager_1.OpenId4VcCredentialOfferSessionStateManager(agentContext, issuer.issuerId))
319
+ .withCredentialOfferURIStateManager(new OpenId4VcCredentialOfferUriStateManager_1.OpenId4VcCredentialOfferUriStateManager(agentContext, issuer.issuerId))
304
320
  .withJWTVerifyCallback(this.getJwtVerifyCallback(agentContext))
305
321
  .withCredentialSignerCallback(() => {
306
322
  throw new core_1.CredoError('Credential signer callback should be overwritten. This is a no-op');
@@ -313,19 +329,13 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
313
329
  }
314
330
  return builder.build();
315
331
  }
316
- async getGrantsFromConfig(agentContext, preAuthorizedCodeFlowConfig, authorizationCodeFlowConfig) {
317
- var _a, _b, _c;
318
- if (!preAuthorizedCodeFlowConfig && !authorizationCodeFlowConfig) {
319
- throw new core_1.CredoError(`Either preAuthorizedCodeFlowConfig or authorizationCodeFlowConfig must be provided.`);
320
- }
332
+ async getGrantsFromConfig(agentContext, preAuthorizedCodeFlowConfig) {
333
+ var _a, _b;
321
334
  const grants = {
322
- 'urn:ietf:params:oauth:grant-type:pre-authorized_code': preAuthorizedCodeFlowConfig && {
335
+ 'urn:ietf:params:oauth:grant-type:pre-authorized_code': {
323
336
  'pre-authorized_code': (_a = preAuthorizedCodeFlowConfig.preAuthorizedCode) !== null && _a !== void 0 ? _a : (await agentContext.wallet.generateNonce()),
324
337
  user_pin_required: (_b = preAuthorizedCodeFlowConfig.userPinRequired) !== null && _b !== void 0 ? _b : false,
325
338
  },
326
- authorization_code: authorizationCodeFlowConfig && {
327
- issuer_state: (_c = authorizationCodeFlowConfig.issuerState) !== null && _c !== void 0 ? _c : (await agentContext.wallet.generateNonce()),
328
- },
329
339
  };
330
340
  return grants;
331
341
  }
@@ -386,7 +396,8 @@ OpenId4VcIssuerService = __decorate([
386
396
  __metadata("design:paramtypes", [core_1.W3cCredentialService,
387
397
  core_1.JwsService,
388
398
  OpenId4VcIssuerModuleConfig_1.OpenId4VcIssuerModuleConfig,
389
- repository_1.OpenId4VcIssuerRepository])
399
+ repository_1.OpenId4VcIssuerRepository,
400
+ repository_1.OpenId4VcIssuanceSessionRepository])
390
401
  ], OpenId4VcIssuerService);
391
402
  exports.OpenId4VcIssuerService = OpenId4VcIssuerService;
392
403
  //# sourceMappingURL=OpenId4VcIssuerService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenId4VcIssuerService.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/OpenId4VcIssuerService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenId4VcIssuerService.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/OpenId4VcIssuerService.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,6 @@ export interface OpenId4VciPreAuthorizedCodeFlowConfig {
4
4
  preAuthorizedCode?: string;
5
5
  userPinRequired?: boolean;
6
6
  }
7
- export type OpenId4VciAuthorizationCodeFlowConfig = {
8
- issuerState?: string;
9
- };
10
7
  export type OpenId4VcIssuerMetadata = {
11
8
  issuerUrl: string;
12
9
  credentialEndpoint: string;
@@ -22,14 +19,7 @@ export interface OpenId4VciCreateCredentialOfferOptions {
22
19
  * if no value is provided. If a value is provided, make sure it contains the scheme as well as `://`.
23
20
  */
24
21
  baseUri?: string;
25
- preAuthorizedCodeFlowConfig?: OpenId4VciPreAuthorizedCodeFlowConfig;
26
- authorizationCodeFlowConfig?: OpenId4VciAuthorizationCodeFlowConfig;
27
- /**
28
- * You can provide a `hostedCredentialOfferUrl` if the created credential offer
29
- * should points to a hosted credential offer in the `credential_offer_uri` field
30
- * of the credential offer.
31
- */
32
- hostedCredentialOfferUrl?: string;
22
+ preAuthorizedCodeFlowConfig: OpenId4VciPreAuthorizedCodeFlowConfig;
33
23
  }
34
24
  export interface OpenId4VciCreateCredentialResponseOptions {
35
25
  credentialRequest: OpenId4VciCredentialRequest;
@@ -3,4 +3,6 @@ export * from './OpenId4VcIssuerModule';
3
3
  export * from './OpenId4VcIssuerService';
4
4
  export * from './OpenId4VcIssuerModuleConfig';
5
5
  export * from './OpenId4VcIssuerServiceOptions';
6
+ export * from './OpenId4VcIssuerEvents';
7
+ export * from './OpenId4VcIssuanceSessionState';
6
8
  export { OpenId4VcIssuerRecord, OpenId4VcIssuerRecordProps, OpenId4VcIssuerRecordTags } from './repository';
@@ -20,6 +20,8 @@ __exportStar(require("./OpenId4VcIssuerModule"), exports);
20
20
  __exportStar(require("./OpenId4VcIssuerService"), exports);
21
21
  __exportStar(require("./OpenId4VcIssuerModuleConfig"), exports);
22
22
  __exportStar(require("./OpenId4VcIssuerServiceOptions"), exports);
23
+ __exportStar(require("./OpenId4VcIssuerEvents"), exports);
24
+ __exportStar(require("./OpenId4VcIssuanceSessionState"), exports);
23
25
  var repository_1 = require("./repository");
24
26
  Object.defineProperty(exports, "OpenId4VcIssuerRecord", { enumerable: true, get: function () { return repository_1.OpenId4VcIssuerRecord; } });
25
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAoC;AACpC,0DAAuC;AACvC,2DAAwC;AACxC,gEAA6C;AAC7C,kEAA+C;AAC/C,2CAA2G;AAAlG,mHAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAoC;AACpC,0DAAuC;AACvC,2DAAwC;AACxC,gEAA6C;AAC7C,kEAA+C;AAC/C,0DAAuC;AACvC,kEAA+C;AAC/C,2CAA2G;AAAlG,mHAAA,qBAAqB,OAAA"}
@@ -0,0 +1,17 @@
1
+ import type { AgentContext } from '@credo-ts/core';
2
+ import type { CNonceState, IStateManager } from '@sphereon/oid4vci-common';
3
+ export declare class OpenId4VcCNonceStateManager implements IStateManager<CNonceState> {
4
+ private agentContext;
5
+ private issuerId;
6
+ private openId4VcIssuanceSessionRepository;
7
+ constructor(agentContext: AgentContext, issuerId: string);
8
+ set(cNonce: string, stateValue: CNonceState): Promise<void>;
9
+ get(cNonce: string): Promise<CNonceState | undefined>;
10
+ has(cNonce: string): Promise<boolean>;
11
+ delete(cNonce: string): Promise<boolean>;
12
+ clearExpired(): Promise<void>;
13
+ clearAll(): Promise<void>;
14
+ getAsserted(id: string): Promise<CNonceState>;
15
+ startCleanupRoutine(): Promise<void>;
16
+ stopCleanupRoutine(): Promise<void>;
17
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenId4VcCNonceStateManager = void 0;
4
+ const core_1 = require("@credo-ts/core");
5
+ const OpenId4VcIssuanceSessionRepository_1 = require("./OpenId4VcIssuanceSessionRepository");
6
+ class OpenId4VcCNonceStateManager {
7
+ constructor(agentContext, issuerId) {
8
+ this.agentContext = agentContext;
9
+ this.issuerId = issuerId;
10
+ this.openId4VcIssuanceSessionRepository = agentContext.dependencyManager.resolve(OpenId4VcIssuanceSessionRepository_1.OpenId4VcIssuanceSessionRepository);
11
+ }
12
+ async set(cNonce, stateValue) {
13
+ // Just to make sure that the cNonce is the same as the id as that's what we use to query
14
+ if (cNonce !== stateValue.cNonce) {
15
+ throw new core_1.CredoError('Expected the id of the cNonce state to be equal to the cNonce');
16
+ }
17
+ if (!stateValue.preAuthorizedCode) {
18
+ throw new core_1.CredoError("Expected the stateValue to have a 'preAuthorizedCode' property");
19
+ }
20
+ // Record MUST exist (otherwise there's no issuance session active yet)
21
+ const record = await this.openId4VcIssuanceSessionRepository.getSingleByQuery(this.agentContext, {
22
+ // NOTE: once we support authorized flow, we need to add an $or for the issuer state as well
23
+ issuerId: this.issuerId,
24
+ preAuthorizedCode: stateValue.preAuthorizedCode,
25
+ });
26
+ record.cNonce = stateValue.cNonce;
27
+ await this.openId4VcIssuanceSessionRepository.update(this.agentContext, record);
28
+ }
29
+ async get(cNonce) {
30
+ const record = await this.openId4VcIssuanceSessionRepository.findSingleByQuery(this.agentContext, {
31
+ issuerId: this.issuerId,
32
+ cNonce,
33
+ });
34
+ if (!record)
35
+ return undefined;
36
+ // NOTE: This should not happen as we query by the credential offer uri
37
+ // so it's mostly to make TS happy
38
+ if (!record.cNonce) {
39
+ throw new core_1.CredoError('No cNonce found on record.');
40
+ }
41
+ return {
42
+ cNonce: record.cNonce,
43
+ preAuthorizedCode: record.preAuthorizedCode,
44
+ createdAt: record.createdAt.getTime(),
45
+ };
46
+ }
47
+ async has(cNonce) {
48
+ const record = await this.openId4VcIssuanceSessionRepository.findSingleByQuery(this.agentContext, {
49
+ issuerId: this.issuerId,
50
+ cNonce,
51
+ });
52
+ return record !== undefined;
53
+ }
54
+ async delete(cNonce) {
55
+ const record = await this.openId4VcIssuanceSessionRepository.findSingleByQuery(this.agentContext, {
56
+ issuerId: this.issuerId,
57
+ cNonce,
58
+ });
59
+ if (!record)
60
+ return false;
61
+ // We only remove the cNonce from the record, we don't want to remove
62
+ // the whole issuance session.
63
+ record.cNonce = undefined;
64
+ await this.openId4VcIssuanceSessionRepository.update(this.agentContext, record);
65
+ return true;
66
+ }
67
+ async clearExpired() {
68
+ // FIXME: we should have a way to remove expired records
69
+ // or just not return the value in the get if the record is expired
70
+ throw new Error('Method not implemented.');
71
+ }
72
+ async clearAll() {
73
+ throw new Error('Method not implemented.');
74
+ }
75
+ async getAsserted(id) {
76
+ const state = await this.get(id);
77
+ if (!state) {
78
+ throw new core_1.CredoError(`No cNonce state found for id ${id}`);
79
+ }
80
+ return state;
81
+ }
82
+ async startCleanupRoutine() {
83
+ throw new Error('Method not implemented.');
84
+ }
85
+ async stopCleanupRoutine() {
86
+ throw new Error('Method not implemented.');
87
+ }
88
+ }
89
+ exports.OpenId4VcCNonceStateManager = OpenId4VcCNonceStateManager;
90
+ //# sourceMappingURL=OpenId4VcCNonceStateManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenId4VcCNonceStateManager.js","sourceRoot":"","sources":["../../../src/openid4vc-issuer/repository/OpenId4VcCNonceStateManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { AgentContext } from '@credo-ts/core';
2
+ import type { CredentialOfferSession, IStateManager } from '@sphereon/oid4vci-common';
3
+ import { OpenId4VcIssuanceSessionState } from '../OpenId4VcIssuanceSessionState';
4
+ import { OpenId4VcIssuanceSessionRecord } from './OpenId4VcIssuanceSessionRecord';
5
+ export declare class OpenId4VcCredentialOfferSessionStateManager implements IStateManager<CredentialOfferSession> {
6
+ private agentContext;
7
+ private issuerId;
8
+ private openId4VcIssuanceSessionRepository;
9
+ private eventEmitter;
10
+ constructor(agentContext: AgentContext, issuerId: string);
11
+ set(preAuthorizedCode: string, stateValue: CredentialOfferSession): Promise<void>;
12
+ get(preAuthorizedCode: string): Promise<CredentialOfferSession | undefined>;
13
+ has(preAuthorizedCode: string): Promise<boolean>;
14
+ delete(preAuthorizedCode: string): Promise<boolean>;
15
+ clearExpired(): Promise<void>;
16
+ clearAll(): Promise<void>;
17
+ getAsserted(preAuthorizedCode: string): Promise<CredentialOfferSession>;
18
+ startCleanupRoutine(): Promise<void>;
19
+ stopCleanupRoutine(): Promise<void>;
20
+ protected emitStateChangedEvent(agentContext: AgentContext, issuanceSession: OpenId4VcIssuanceSessionRecord, previousState: OpenId4VcIssuanceSessionState | null): void;
21
+ }