@credo-ts/openid4vc 0.6.0-pr-2088-20241109180557 → 0.6.0-pr-2088-20241116152443

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 (43) hide show
  1. package/build/openid4vc-holder/OpenId4VcHolderApi.d.ts +24 -6
  2. package/build/openid4vc-holder/OpenId4VcHolderApi.js +11 -2
  3. package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +1 -1
  4. package/build/openid4vc-holder/OpenId4VciHolderService.js +20 -17
  5. package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
  6. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +16 -2
  7. package/build/openid4vc-holder/OpenId4vcSiopHolderService.d.ts +16 -4
  8. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +25 -12
  9. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +1 -1
  10. package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +1 -6
  11. package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.ts +40 -6
  12. package/build/openid4vc-issuer/OpenId4VcIssuerApi.js +14 -8
  13. package/build/openid4vc-issuer/OpenId4VcIssuerApi.js.map +1 -1
  14. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +0 -1
  15. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +1 -1
  16. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts +48 -6
  17. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js +31 -4
  18. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js.map +1 -1
  19. package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +35 -1
  20. package/build/openid4vc-issuer/OpenId4VcIssuerService.js +69 -23
  21. package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
  22. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +44 -11
  23. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +14 -3
  24. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js +19 -3
  25. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +1 -1
  26. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.d.ts +13 -3
  27. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +51 -1
  28. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +1 -1
  29. package/build/openid4vc-issuer/router/accessTokenEndpoint.js +27 -16
  30. package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +1 -1
  31. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js +31 -13
  32. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +1 -1
  33. package/build/openid4vc-issuer/router/credentialEndpoint.js +75 -24
  34. package/build/openid4vc-issuer/router/credentialEndpoint.js.map +1 -1
  35. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +24 -10
  36. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +1 -1
  37. package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +8 -6
  38. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.ts +10 -0
  39. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +1 -0
  40. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +1 -1
  41. package/build/openid4vc-verifier/router/authorizationEndpoint.js +4 -1
  42. package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +1 -1
  43. package/package.json +5 -5
@@ -39,13 +39,6 @@ let OpenId4VcIssuerApi = class OpenId4VcIssuerApi {
39
39
  async getAllIssuers() {
40
40
  return this.openId4VcIssuerService.getAllIssuers(this.agentContext);
41
41
  }
42
- /**
43
- * @deprecated use {@link getIssuerByIssuerId} instead.
44
- * @todo remove in 0.6
45
- */
46
- async getByIssuerId(issuerId) {
47
- return this.getIssuerByIssuerId(issuerId);
48
- }
49
42
  async getIssuerByIssuerId(issuerId) {
50
43
  return this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId);
51
44
  }
@@ -64,13 +57,23 @@ let OpenId4VcIssuerApi = class OpenId4VcIssuerApi {
64
57
  return this.openId4VcIssuerService.rotateAccessTokenSigningKey(this.agentContext, issuer);
65
58
  }
66
59
  async updateIssuerMetadata(options) {
67
- const { issuerId, credentialConfigurationsSupported, display, dpopSigningAlgValuesSupported } = options;
60
+ const { issuerId, credentialConfigurationsSupported, display, dpopSigningAlgValuesSupported, batchCredentialIssuance, } = options;
68
61
  const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId);
69
62
  issuer.credentialConfigurationsSupported = credentialConfigurationsSupported;
70
63
  issuer.display = display;
71
64
  issuer.dpopSigningAlgValuesSupported = dpopSigningAlgValuesSupported;
65
+ issuer.batchCredentialIssuance = batchCredentialIssuance;
72
66
  return this.openId4VcIssuerService.updateIssuer(this.agentContext, issuer);
73
67
  }
68
+ /**
69
+ * Creates a stateless credential offer. This can only be used with an external authorization server, as credo only supports statefull
70
+ * crednetial offers.
71
+ */
72
+ async createStatelessCredentialOffer(options) {
73
+ const { issuerId } = options, rest = __rest(options, ["issuerId"]);
74
+ const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId);
75
+ return await this.openId4VcIssuerService.createStatelessCredentialOffer(this.agentContext, Object.assign(Object.assign({}, rest), { issuer }));
76
+ }
74
77
  /**
75
78
  * Creates a credential offer. Either the preAuthorizedCodeFlowConfig or the authorizationCodeFlowConfig must be provided.
76
79
  *
@@ -93,6 +96,9 @@ let OpenId4VcIssuerApi = class OpenId4VcIssuerApi {
93
96
  const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId);
94
97
  return this.openId4VcIssuerService.getIssuerMetadata(this.agentContext, issuer);
95
98
  }
99
+ async getIssuanceSessionById(issuanceSessionId) {
100
+ return this.openId4VcIssuerService.getIssuanceSessionById(this.agentContext, issuanceSessionId);
101
+ }
96
102
  };
97
103
  exports.OpenId4VcIssuerApi = OpenId4VcIssuerApi;
98
104
  exports.OpenId4VcIssuerApi = OpenId4VcIssuerApi = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"OpenId4VcIssuerApi.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/OpenId4VcIssuerApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenId4VcIssuerApi.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/OpenId4VcIssuerApi.ts"],"names":[],"mappings":"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"}
@@ -103,7 +103,6 @@ class OpenId4VcIssuerModule {
103
103
  next();
104
104
  });
105
105
  // This one will be called for all errors that are thrown
106
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
107
106
  contextRouter.use(async (_error, req, res, next) => {
108
107
  const { agentContext } = (0, router_1.getRequestContext)(req);
109
108
  if (!res.headersSent) {
@@ -1 +1 @@
1
- {"version":3,"file":"OpenId4VcIssuerModule.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/OpenId4VcIssuerModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenId4VcIssuerModule.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/OpenId4VcIssuerModule.ts"],"names":[],"mappings":"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"}
@@ -21,11 +21,13 @@ export interface OpenId4VcIssuerModuleConfigOptions {
21
21
  */
22
22
  cNonceExpiresInSeconds?: number;
23
23
  /**
24
- * The time after which an pre-authorized code will expire.
24
+ * The time after which a statefull credential offer not bound to a subject expires. Once the offer has been bound
25
+ * to a subject the access token expiration takes effect. This is to prevent long-lived `pre-authorized_code` and
26
+ * `issuer_state` values.
25
27
  *
26
- * @default 360 (5 minutes)
28
+ * @default 180 (3 minutes)
27
29
  */
28
- preAuthorizedCodeExpirationInSeconds?: number;
30
+ statefullCredentialOfferExpirationInSeconds?: number;
29
31
  /**
30
32
  * The time after which an authorization code will expire.
31
33
  *
@@ -35,9 +37,28 @@ export interface OpenId4VcIssuerModuleConfigOptions {
35
37
  /**
36
38
  * The time after which an access token will expire.
37
39
  *
38
- * @default 360 (5 minutes)
40
+ * @default 180 (3 minutes)
39
41
  */
40
42
  accessTokenExpiresInSeconds?: number;
43
+ /**
44
+ * Whether DPoP is required for all issuance sessions. This value can be overridden when creating
45
+ * a credential offer. If dpop is not required, but used by a client in the first request to credo,
46
+ * DPoP will be required going forward.
47
+ *
48
+ * @default false
49
+ */
50
+ dpopRequired?: boolean;
51
+ /**
52
+ * Whether to allow dynamic issuance sessions based on a credential request.
53
+ *
54
+ * This requires an external authorization server which issues access tokens without
55
+ * a `pre-authorized_code` or `issuer_state` parameter.
56
+ *
57
+ * Credo only support statefull crednetial offer sessions (pre-auth or presentation during issuance)
58
+ *
59
+ * @default false
60
+ */
61
+ allowDynamicIssuanceSessions?: boolean;
41
62
  /**
42
63
  * A function mapping a credential request to the credential to be issued.
43
64
  */
@@ -104,11 +125,13 @@ export declare class OpenId4VcIssuerModuleConfig {
104
125
  */
105
126
  get cNonceExpiresInSeconds(): number;
106
127
  /**
107
- * The time after which a pre-authorized_code will expire.
128
+ * The time after which a statefull credential offer not bound to a subject expires. Once the offer has been bound
129
+ * to a subject the access token expiration takes effect. This is to prevent long-lived `pre-authorized_code` and
130
+ * `issuer_state` values.
108
131
  *
109
132
  * @default 360 (5 minutes)
110
133
  */
111
- get preAuthorizedCodeExpirationInSeconds(): number;
134
+ get statefullCredentialOfferExpirationInSeconds(): number;
112
135
  /**
113
136
  * The time after which a cNonce will expire.
114
137
  *
@@ -121,6 +144,25 @@ export declare class OpenId4VcIssuerModuleConfig {
121
144
  * @default 360 (5 minutes)
122
145
  */
123
146
  get accessTokenExpiresInSeconds(): number;
147
+ /**
148
+ * Whether DPoP is required for all issuance sessions. This value can be overridden when creating
149
+ * a credential offer. If dpop is not required, but used by a client in the first request to credo,
150
+ * DPoP will be required going forward.
151
+ *
152
+ * @default false
153
+ */
154
+ get dpopRequired(): boolean;
155
+ /**
156
+ * Whether to allow dynamic issuance sessions based on a credential request.
157
+ *
158
+ * This requires an external authorization server which issues access tokens without
159
+ * a `pre-authorized_code` or `issuer_state` parameter.
160
+ *
161
+ * Credo only supports statefull crednetial offer sessions (pre-auth or presentation during issuance)
162
+ *
163
+ * @default false
164
+ */
165
+ get allowDynamicIssuanceSessions(): boolean;
124
166
  /**
125
167
  * @default /nonce
126
168
  */
@@ -5,7 +5,7 @@ const router_1 = require("../shared/router");
5
5
  const DEFAULT_C_NONCE_EXPIRES_IN = 1 * 60; // 1 minute
6
6
  const DEFAULT_AUTHORIZATION_CODE_EXPIRES_IN = 1 * 60; // 1 minute
7
7
  const DEFAULT_TOKEN_EXPIRES_IN = 3 * 60; // 3 minutes
8
- const DEFAULT_PRE_AUTH_CODE_EXPIRES_IN = 3 * 60; // 3 minutes
8
+ const DEFAULT_STATEFULL_CREDENTIAL_OFFER_EXPIRES_IN = 3 * 60; // 3 minutes
9
9
  class OpenId4VcIssuerModuleConfig {
10
10
  constructor(options) {
11
11
  var _a;
@@ -41,13 +41,15 @@ class OpenId4VcIssuerModuleConfig {
41
41
  return (_a = this.options.cNonceExpiresInSeconds) !== null && _a !== void 0 ? _a : DEFAULT_C_NONCE_EXPIRES_IN;
42
42
  }
43
43
  /**
44
- * The time after which a pre-authorized_code will expire.
44
+ * The time after which a statefull credential offer not bound to a subject expires. Once the offer has been bound
45
+ * to a subject the access token expiration takes effect. This is to prevent long-lived `pre-authorized_code` and
46
+ * `issuer_state` values.
45
47
  *
46
48
  * @default 360 (5 minutes)
47
49
  */
48
- get preAuthorizedCodeExpirationInSeconds() {
50
+ get statefullCredentialOfferExpirationInSeconds() {
49
51
  var _a;
50
- return (_a = this.options.preAuthorizedCodeExpirationInSeconds) !== null && _a !== void 0 ? _a : DEFAULT_PRE_AUTH_CODE_EXPIRES_IN;
52
+ return (_a = this.options.statefullCredentialOfferExpirationInSeconds) !== null && _a !== void 0 ? _a : DEFAULT_STATEFULL_CREDENTIAL_OFFER_EXPIRES_IN;
51
53
  }
52
54
  /**
53
55
  * The time after which a cNonce will expire.
@@ -67,6 +69,31 @@ class OpenId4VcIssuerModuleConfig {
67
69
  var _a;
68
70
  return (_a = this.options.accessTokenExpiresInSeconds) !== null && _a !== void 0 ? _a : DEFAULT_TOKEN_EXPIRES_IN;
69
71
  }
72
+ /**
73
+ * Whether DPoP is required for all issuance sessions. This value can be overridden when creating
74
+ * a credential offer. If dpop is not required, but used by a client in the first request to credo,
75
+ * DPoP will be required going forward.
76
+ *
77
+ * @default false
78
+ */
79
+ get dpopRequired() {
80
+ var _a;
81
+ return (_a = this.options.dpopRequired) !== null && _a !== void 0 ? _a : false;
82
+ }
83
+ /**
84
+ * Whether to allow dynamic issuance sessions based on a credential request.
85
+ *
86
+ * This requires an external authorization server which issues access tokens without
87
+ * a `pre-authorized_code` or `issuer_state` parameter.
88
+ *
89
+ * Credo only supports statefull crednetial offer sessions (pre-auth or presentation during issuance)
90
+ *
91
+ * @default false
92
+ */
93
+ get allowDynamicIssuanceSessions() {
94
+ var _a;
95
+ return (_a = this.options.allowDynamicIssuanceSessions) !== null && _a !== void 0 ? _a : false;
96
+ }
70
97
  /**
71
98
  * @default /nonce
72
99
  */
@@ -1 +1 @@
1
- {"version":3,"file":"OpenId4VcIssuerModuleConfig.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/OpenId4VcIssuerModuleConfig.ts"],"names":[],"mappings":";;;AAMA,6CAAgD;AAEhD,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,WAAW;AACrD,MAAM,qCAAqC,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,WAAW;AAChE,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,YAAY;AACpD,MAAM,gCAAgC,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,YAAY;AAgG5D,MAAa,2BAA2B;IAItC,YAAmB,OAA2C;;QAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,IAAA,sBAAa,GAAE,CAAC,MAAM,EAAE,CAAA;IAC1D,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,mCAAmC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAA;IACzD,CAAC;IAED;;;;;;OAMG;IACH,IAAW,qDAAqD;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,qDAAqD,CAAA;IAC3E,CAAC;IAED;;;;OAIG;IACH,IAAW,sBAAsB;;QAC/B,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,sBAAsB,mCAAI,0BAA0B,CAAA;IAC1E,CAAC;IAED;;;;OAIG;IACH,IAAW,oCAAoC;;QAC7C,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,oCAAoC,mCAAI,gCAAgC,CAAA;IAC9F,CAAC;IAED;;;;OAIG;IACH,IAAW,iCAAiC;;QAC1C,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,iCAAiC,mCAAI,qCAAqC,CAAA;IAChG,CAAC;IAED;;;;OAIG;IACH,IAAW,2BAA2B;;QACpC,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,2BAA2B,mCAAI,wBAAwB,CAAA;IAC7E,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;;QAC1B,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,KAAK,mCAAI,QAAQ,CAAA;IAClD,CAAC;IAED;;OAEG;IACH,IAAW,kCAAkC;;QAC3C,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,sBAAsB,mCAAI,YAAY,CAAA;IACvE,CAAC;IAED;;OAEG;IACH,IAAW,2BAA2B;;QACpC,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,eAAe,mCAAI,SAAS,CAAA;IAC7D,CAAC;IAED;;OAEG;IACH,IAAW,sBAAsB;;QAC/B,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,UAAU,mCAAI,aAAa,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,IAAW,uBAAuB;;QAChC,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,WAAW,mCAAI,QAAQ,CAAA;IACxD,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;;QACzB,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,IAAI,mCAAI,OAAO,CAAA;IAChD,CAAC;CACF;AA7GD,kEA6GC"}
1
+ {"version":3,"file":"OpenId4VcIssuerModuleConfig.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/OpenId4VcIssuerModuleConfig.ts"],"names":[],"mappings":";;;AAMA,6CAAgD;AAEhD,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,WAAW;AACrD,MAAM,qCAAqC,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,WAAW;AAChE,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,YAAY;AACpD,MAAM,6CAA6C,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,YAAY;AAuHzE,MAAa,2BAA2B;IAItC,YAAmB,OAA2C;;QAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,IAAA,sBAAa,GAAE,CAAC,MAAM,EAAE,CAAA;IAC1D,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,mCAAmC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAA;IACzD,CAAC;IAED;;;;;;OAMG;IACH,IAAW,qDAAqD;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,qDAAqD,CAAA;IAC3E,CAAC;IAED;;;;OAIG;IACH,IAAW,sBAAsB;;QAC/B,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,sBAAsB,mCAAI,0BAA0B,CAAA;IAC1E,CAAC;IAED;;;;;;OAMG;IACH,IAAW,2CAA2C;;QACpD,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,2CAA2C,mCAAI,6CAA6C,CAAA;IAClH,CAAC;IAED;;;;OAIG;IACH,IAAW,iCAAiC;;QAC1C,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,iCAAiC,mCAAI,qCAAqC,CAAA;IAChG,CAAC;IAED;;;;OAIG;IACH,IAAW,2BAA2B;;QACpC,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,2BAA2B,mCAAI,wBAAwB,CAAA;IAC7E,CAAC;IAED;;;;;;OAMG;IACH,IAAW,YAAY;;QACrB,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,YAAY,mCAAI,KAAK,CAAA;IAC3C,CAAC;IAED;;;;;;;;;OASG;IACH,IAAW,4BAA4B;;QACrC,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,4BAA4B,mCAAI,KAAK,CAAA;IAC3D,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;;QAC1B,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,KAAK,mCAAI,QAAQ,CAAA;IAClD,CAAC;IAED;;OAEG;IACH,IAAW,kCAAkC;;QAC3C,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,sBAAsB,mCAAI,YAAY,CAAA;IACvE,CAAC;IAED;;OAEG;IACH,IAAW,2BAA2B;;QACpC,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,eAAe,mCAAI,SAAS,CAAA;IAC7D,CAAC;IAED;;OAEG;IACH,IAAW,sBAAsB;;QAC/B,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,UAAU,mCAAI,aAAa,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,IAAW,uBAAuB;;QAChC,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,WAAW,mCAAI,QAAQ,CAAA;IACxD,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;;QACzB,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,IAAI,mCAAI,OAAO,CAAA;IAChD,CAAC;CACF;AAxID,kEAwIC"}
@@ -1,4 +1,4 @@
1
- import type { OpenId4VciCreateCredentialResponseOptions, OpenId4VciCreateCredentialOfferOptions, OpenId4VciCreateIssuerOptions } from './OpenId4VcIssuerServiceOptions';
1
+ import type { OpenId4VciCreateCredentialResponseOptions, OpenId4VciCreateCredentialOfferOptions, OpenId4VciCreateIssuerOptions, OpenId4VciCreateStatelessCredentialOfferOptions } from './OpenId4VcIssuerServiceOptions';
2
2
  import type { OpenId4VciMetadata } from '../shared';
3
3
  import type { AgentContext, Query, QueryOptions } from '@credo-ts/core';
4
4
  import { Oauth2AuthorizationServer, Oauth2Client, Oauth2ResourceServer } from '@animo-id/oauth2';
@@ -16,6 +16,40 @@ export declare class OpenId4VcIssuerService {
16
16
  private openId4VcIssuerRepository;
17
17
  private openId4VcIssuanceSessionRepository;
18
18
  constructor(w3cCredentialService: W3cCredentialService, openId4VcIssuerConfig: OpenId4VcIssuerModuleConfig, openId4VcIssuerRepository: OpenId4VcIssuerRepository, openId4VcIssuanceSessionRepository: OpenId4VcIssuanceSessionRepository);
19
+ createStatelessCredentialOffer(agentContext: AgentContext, options: OpenId4VciCreateStatelessCredentialOfferOptions & {
20
+ issuer: OpenId4VcIssuerRecord;
21
+ }): Promise<{
22
+ credentialOffer: string;
23
+ credentialOfferObject: {
24
+ credential_issuer: string;
25
+ credential_configuration_ids: string[];
26
+ grants?: ({
27
+ authorization_code?: ({
28
+ issuer_state?: string | undefined;
29
+ authorization_server?: string | undefined;
30
+ } & {
31
+ [key: string]: unknown;
32
+ }) | undefined;
33
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code"?: ({
34
+ 'pre-authorized_code': string;
35
+ authorization_server?: string | undefined;
36
+ tx_code?: ({
37
+ length?: number | undefined;
38
+ description?: string | undefined;
39
+ input_mode?: "text" | "numeric" | undefined;
40
+ } & {
41
+ [key: string]: unknown;
42
+ }) | undefined;
43
+ } & {
44
+ [key: string]: unknown;
45
+ }) | undefined;
46
+ } & {
47
+ [key: string]: unknown;
48
+ }) | undefined;
49
+ } & {
50
+ [key: string]: unknown;
51
+ };
52
+ }>;
19
53
  createCredentialOffer(agentContext: AgentContext, options: OpenId4VciCreateCredentialOfferOptions & {
20
54
  issuer: OpenId4VcIssuerRecord;
21
55
  }): Promise<{
@@ -34,6 +34,39 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
34
34
  this.openId4VcIssuerRepository = openId4VcIssuerRepository;
35
35
  this.openId4VcIssuanceSessionRepository = openId4VcIssuanceSessionRepository;
36
36
  }
37
+ async createStatelessCredentialOffer(agentContext, options) {
38
+ const { authorizationCodeFlowConfig, issuer, offeredCredentials } = options;
39
+ const vcIssuer = this.getIssuer(agentContext);
40
+ const issuerMetadata = await this.getIssuerMetadata(agentContext, issuer);
41
+ const uniqueOfferedCredentials = Array.from(new Set(options.offeredCredentials));
42
+ if (uniqueOfferedCredentials.length !== offeredCredentials.length) {
43
+ throw new core_1.CredoError('All offered credentials must have unique ids.');
44
+ }
45
+ // Check if all the offered credential configuration ids have a scope value. If not, it won't be possible to actually request
46
+ // issuance of the crednetial later on
47
+ (0, oid4vci_1.extractScopesForCredentialConfigurationIds)({
48
+ credentialConfigurationIds: options.offeredCredentials,
49
+ issuerMetadata,
50
+ throwOnConfigurationWithoutScope: true,
51
+ });
52
+ if (authorizationCodeFlowConfig.authorizationServerUrl === issuerMetadata.credentialIssuer.credential_issuer) {
53
+ throw new core_1.CredoError('Stateless offers can only be created for external authorization servers. Make sure to configure an external authorization server on the issuer record, and provide the authoriation server url.');
54
+ }
55
+ const { credentialOffer, credentialOfferObject } = await vcIssuer.createCredentialOffer({
56
+ credentialConfigurationIds: options.offeredCredentials,
57
+ grants: {
58
+ authorization_code: {
59
+ authorization_server: authorizationCodeFlowConfig.authorizationServerUrl,
60
+ },
61
+ },
62
+ credentialOfferScheme: options.baseUri,
63
+ issuerMetadata,
64
+ });
65
+ return {
66
+ credentialOffer,
67
+ credentialOfferObject,
68
+ };
69
+ }
37
70
  async createCredentialOffer(agentContext, options) {
38
71
  var _a, _b, _c, _d, _e, _f;
39
72
  const { preAuthorizedCodeFlowConfig, authorizationCodeFlowConfig, issuer, offeredCredentials, version = 'v1.draft11-13', } = options;
@@ -52,6 +85,15 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
52
85
  // It doesn't really matter what the url is, as long as it's unique
53
86
  core_1.utils.uuid(),
54
87
  ]);
88
+ // Check if all the offered credential configuration ids have a scope value. If not, it won't be possible to actually request
89
+ // issuance of the crednetial later on. For pre-auth it's not needed to add a scope.
90
+ if (options.authorizationCodeFlowConfig) {
91
+ (0, oid4vci_1.extractScopesForCredentialConfigurationIds)({
92
+ credentialConfigurationIds: options.offeredCredentials,
93
+ issuerMetadata,
94
+ throwOnConfigurationWithoutScope: true,
95
+ });
96
+ }
55
97
  const grants = await this.getGrantsFromConfig(agentContext, {
56
98
  issuerMetadata,
57
99
  preAuthorizedCodeFlowConfig,
@@ -185,7 +227,7 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
185
227
  credentialRequestToCredentialMapper: options.credentialRequestToCredentialMapper,
186
228
  proofSigners,
187
229
  });
188
- // NOTE: nonce in crednetial response is deprecated in newer drafts, but for now we keep it in
230
+ // NOTE: nonce in credential response is deprecated in newer drafts, but for now we keep it in
189
231
  const { cNonce, cNonceExpiresInSeconds } = await this.createNonce(agentContext, issuer);
190
232
  const credentialResponse = vcIssuer.createCredentialResponse({
191
233
  credential: credentialRequest.proof ? signedCredentials.credentials[0] : undefined,
@@ -231,9 +273,6 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
231
273
  const accessTokenSignerKey = await agentContext.wallet.createKey({
232
274
  keyType: (_a = options.accessTokenSignerKeyType) !== null && _a !== void 0 ? _a : core_1.KeyType.Ed25519,
233
275
  });
234
- // this is required for HAIP
235
- // TODO: do we also need to provide some way to let the wallet know which authorization server
236
- // TODO: can issue which credentials?
237
276
  const openId4VcIssuer = new repository_1.OpenId4VcIssuerRecord({
238
277
  issuerId: (_b = options.issuerId) !== null && _b !== void 0 ? _b : core_1.utils.uuid(),
239
278
  display: options.display,
@@ -241,6 +280,7 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
241
280
  accessTokenPublicKeyFingerprint: accessTokenSignerKey.fingerprint,
242
281
  authorizationServerConfigs: options.authorizationServerConfigs,
243
282
  credentialConfigurationsSupported: options.credentialConfigurationsSupported,
283
+ batchCredentialIssuance: options.batchCredentialIssuance,
244
284
  });
245
285
  await this.openId4VcIssuerRepository.save(agentContext, openId4VcIssuer);
246
286
  await (0, router_1.storeActorIdForContextCorrelationId)(agentContext, openId4VcIssuer.issuerId);
@@ -285,6 +325,11 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
285
325
  authorization_servers: authorizationServers,
286
326
  display: issuerRecord.display,
287
327
  nonce_endpoint: (0, core_1.joinUriParts)(issuerUrl, [config.nonceEndpointPath]),
328
+ batch_credential_issuance: issuerRecord.batchCredentialIssuance
329
+ ? {
330
+ batch_size: issuerRecord.batchCredentialIssuance.batchSize,
331
+ }
332
+ : undefined,
288
333
  };
289
334
  const issuerAuthorizationServer = {
290
335
  issuer: issuerUrl,
@@ -408,7 +453,7 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
408
453
  grants[oauth2_1.preAuthorizedCodeGrantIdentifier] = {
409
454
  'pre-authorized_code': preAuthorizedCode !== null && preAuthorizedCode !== void 0 ? preAuthorizedCode : (await agentContext.wallet.generateNonce()),
410
455
  tx_code: txCode,
411
- authorization_server: authorizationServerUrl,
456
+ authorization_server: config.issuerMetadata.authorizationServers ? authorizationServerUrl : undefined,
412
457
  };
413
458
  }
414
459
  // Auth
@@ -419,15 +464,12 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
419
464
  authorizationServerUrl !== issuerMetadata.credentialIssuer.credential_issuer) {
420
465
  throw new core_1.CredoError(`When 'requirePresentationDuringIssuance' is set, 'authorizationServerUrl' must be undefined or match the credential issuer identifier`);
421
466
  }
422
- const authorization_server = requirePresentationDuringIssuance
423
- ? issuerMetadata.credentialIssuer.credential_issuer
424
- : authorizationCodeFlowConfig.authorizationServerUrl;
425
467
  grants.authorization_code = {
426
468
  issuer_state:
427
469
  // TODO: the issuer_state should not be guessable, so it's best if we generate it and now allow the user to provide it?
428
- // but same is true for the pre-auth code
470
+ // but same is true for the pre-auth code and users of credo can also provide that value. We can't easily do unique constraint with askat
429
471
  (_a = authorizationCodeFlowConfig.issuerState) !== null && _a !== void 0 ? _a : core_1.TypedArrayEncoder.toBase64URL(agentContext.wallet.getRandomValues(32)),
430
- authorization_server,
472
+ authorization_server: config.issuerMetadata.authorizationServers ? authorizationServerUrl : undefined,
431
473
  };
432
474
  }
433
475
  return grants;
@@ -521,24 +563,28 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
521
563
  authorization,
522
564
  });
523
565
  const mapper = (_a = options.credentialRequestToCredentialMapper) !== null && _a !== void 0 ? _a : this.openId4VcIssuerConfig.credentialRequestToCredentialMapper;
566
+ let verification = undefined;
567
+ // NOTE: this will throw an error if the verifier module is not registered and there is a
568
+ // verification session. But you can't get here without the verifier module anyway
569
+ if ((_b = issuanceSession.presentation) === null || _b === void 0 ? void 0 : _b.openId4VcVerificationSessionId) {
570
+ const verifierApi = agentContext.dependencyManager.resolve(openid4vc_verifier_1.OpenId4VcVerifierApi);
571
+ const session = await verifierApi.getVerificationSessionById(issuanceSession.presentation.openId4VcVerificationSessionId);
572
+ const response = await verifierApi.getVerifiedAuthorizationResponse(issuanceSession.presentation.openId4VcVerificationSessionId);
573
+ if (!response.presentationExchange) {
574
+ throw new core_1.CredoError(`Verified authorization response for verification session with id '${session.id}' does not have presenationExchange defined.`);
575
+ }
576
+ verification = {
577
+ session,
578
+ presentationExchange: response.presentationExchange,
579
+ };
580
+ }
524
581
  const holderBindings = await this.getHolderBindingFromRequestProofs(agentContext, options.proofSigners);
525
582
  const signOptions = await mapper({
526
583
  agentContext,
527
584
  issuanceSession,
528
585
  holderBindings,
529
586
  credentialOffer: issuanceSession.credentialOfferPayload,
530
- // NOTE: this will throw an error if the verifier module is registered and there is a
531
- // verification session. But you can't get here without the verifier module anyway
532
- verification: ((_b = issuanceSession.presentation) === null || _b === void 0 ? void 0 : _b.openId4VcVerificationSessionId)
533
- ? {
534
- session: await agentContext.dependencyManager
535
- .resolve(openid4vc_verifier_1.OpenId4VcVerifierApi)
536
- .getVerificationSessionById(issuanceSession.presentation.openId4VcVerificationSessionId),
537
- response: await agentContext.dependencyManager
538
- .resolve(openid4vc_verifier_1.OpenId4VcVerifierApi)
539
- .getVerifiedAuthorizationResponse(issuanceSession.presentation.openId4VcVerificationSessionId),
540
- }
541
- : undefined,
587
+ verification,
542
588
  credentialRequest: options.credentialRequest,
543
589
  credentialRequestFormat: options.requestFormat,
544
590
  // Macthing credential configuration ids
@@ -551,7 +597,7 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
551
597
  throw new core_1.CredoError(`Credential request to credential mapper returned credential configuration id '${signOptions.credentialConfigurationId}' but is not part of provided input credential configuration ids. Allowed values are '${credentialConfigurationIds.join(', ')}'.`);
552
598
  }
553
599
  // NOTE: we may want to allow a mismatch between this (as with new attestations not every key
554
- // needs a separate proof), but for it needs to match
600
+ // needs a separate proof), but for now it needs to match
555
601
  if (signOptions.credentials.length !== holderBindings.length) {
556
602
  throw new core_1.CredoError(`Credential request to credential mapper returned '${signOptions.credentials.length}' to be signed, while only '${holderBindings.length}' holder binding entries were provided. Make sure to return one credential for each holder binding entry`);
557
603
  }
@@ -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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"}