@credo-ts/openid4vc 0.6.1-pr-2091-20241119140918 → 0.6.1

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 (409) hide show
  1. package/build/OpenId4VcApi.d.mts +24 -0
  2. package/build/OpenId4VcApi.d.mts.map +1 -0
  3. package/build/OpenId4VcApi.mjs +35 -0
  4. package/build/OpenId4VcApi.mjs.map +1 -0
  5. package/build/OpenId4VcModule.d.mts +30 -0
  6. package/build/OpenId4VcModule.d.mts.map +1 -0
  7. package/build/OpenId4VcModule.mjs +42 -0
  8. package/build/OpenId4VcModule.mjs.map +1 -0
  9. package/build/OpenId4VcModuleConfig.d.mts +44 -0
  10. package/build/OpenId4VcModuleConfig.d.mts.map +1 -0
  11. package/build/OpenId4VcModuleConfig.mjs +24 -0
  12. package/build/OpenId4VcModuleConfig.mjs.map +1 -0
  13. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs +10 -0
  14. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs +7 -0
  15. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateParam.mjs +9 -0
  16. package/build/index.d.mts +42 -0
  17. package/build/index.mjs +37 -0
  18. package/build/openid4vc-holder/OpenId4VcHolderApi.d.mts +238 -0
  19. package/build/openid4vc-holder/OpenId4VcHolderApi.d.mts.map +1 -0
  20. package/build/openid4vc-holder/OpenId4VcHolderApi.mjs +174 -0
  21. package/build/openid4vc-holder/OpenId4VcHolderApi.mjs.map +1 -0
  22. package/build/openid4vc-holder/OpenId4VcHolderModule.d.mts +17 -0
  23. package/build/openid4vc-holder/OpenId4VcHolderModule.d.mts.map +1 -0
  24. package/build/openid4vc-holder/OpenId4VcHolderModule.mjs +23 -0
  25. package/build/openid4vc-holder/OpenId4VcHolderModule.mjs.map +1 -0
  26. package/build/openid4vc-holder/OpenId4VciHolderService.d.mts +69 -0
  27. package/build/openid4vc-holder/OpenId4VciHolderService.d.mts.map +1 -0
  28. package/build/openid4vc-holder/OpenId4VciHolderService.mjs +751 -0
  29. package/build/openid4vc-holder/OpenId4VciHolderService.mjs.map +1 -0
  30. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.mts +398 -0
  31. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.mts.map +1 -0
  32. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.mjs +16 -0
  33. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.mjs.map +1 -0
  34. package/build/openid4vc-holder/OpenId4vpHolderService.d.mts +130 -0
  35. package/build/openid4vc-holder/OpenId4vpHolderService.d.mts.map +1 -0
  36. package/build/openid4vc-holder/OpenId4vpHolderService.mjs +278 -0
  37. package/build/openid4vc-holder/OpenId4vpHolderService.mjs.map +1 -0
  38. package/build/openid4vc-holder/OpenId4vpHolderServiceOptions.d.mts +112 -0
  39. package/build/openid4vc-holder/OpenId4vpHolderServiceOptions.d.mts.map +1 -0
  40. package/build/openid4vc-holder/index.d.mts +6 -0
  41. package/build/openid4vc-holder/index.mjs +5 -0
  42. package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.d.mts +16 -0
  43. package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.d.mts.map +1 -0
  44. package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.mjs +18 -0
  45. package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.mjs.map +1 -0
  46. package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.mts +137 -0
  47. package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.mts.map +1 -0
  48. package/build/openid4vc-issuer/OpenId4VcIssuerApi.mjs +108 -0
  49. package/build/openid4vc-issuer/OpenId4VcIssuerApi.mjs.map +1 -0
  50. package/build/openid4vc-issuer/OpenId4VcIssuerEvents.d.mts +19 -0
  51. package/build/openid4vc-issuer/OpenId4VcIssuerEvents.d.mts.map +1 -0
  52. package/build/openid4vc-issuer/OpenId4VcIssuerEvents.mjs +9 -0
  53. package/build/openid4vc-issuer/OpenId4VcIssuerEvents.mjs.map +1 -0
  54. package/build/openid4vc-issuer/OpenId4VcIssuerModule.d.mts +27 -0
  55. package/build/openid4vc-issuer/OpenId4VcIssuerModule.d.mts.map +1 -0
  56. package/build/openid4vc-issuer/OpenId4VcIssuerModule.mjs +150 -0
  57. package/build/openid4vc-issuer/OpenId4VcIssuerModule.mjs.map +1 -0
  58. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.mts +279 -0
  59. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.mts.map +1 -0
  60. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.mjs +179 -0
  61. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.mjs.map +1 -0
  62. package/build/openid4vc-issuer/OpenId4VcIssuerService.d.mts +182 -0
  63. package/build/openid4vc-issuer/OpenId4VcIssuerService.d.mts.map +1 -0
  64. package/build/openid4vc-issuer/OpenId4VcIssuerService.mjs +881 -0
  65. package/build/openid4vc-issuer/OpenId4VcIssuerService.mjs.map +1 -0
  66. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.mts +340 -0
  67. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.mts.map +1 -0
  68. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.mjs +1 -0
  69. package/build/openid4vc-issuer/index.d.mts +11 -0
  70. package/build/openid4vc-issuer/index.mjs +11 -0
  71. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.mts +300 -0
  72. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.mts.map +1 -0
  73. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.mjs +102 -0
  74. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.mjs.map +1 -0
  75. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.d.mts +10 -0
  76. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.d.mts.map +1 -0
  77. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.mjs +22 -0
  78. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.mjs.map +1 -0
  79. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.d.mts +84 -0
  80. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.d.mts.map +1 -0
  81. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.mjs +89 -0
  82. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.mjs.map +1 -0
  83. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.d.mts +12 -0
  84. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.d.mts.map +1 -0
  85. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.mjs +28 -0
  86. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.mjs.map +1 -0
  87. package/build/openid4vc-issuer/repository/index.d.mts +4 -0
  88. package/build/openid4vc-issuer/repository/index.mjs +4 -0
  89. package/build/openid4vc-issuer/router/accessTokenEndpoint.mjs +199 -0
  90. package/build/openid4vc-issuer/router/accessTokenEndpoint.mjs.map +1 -0
  91. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.mjs +241 -0
  92. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.mjs.map +1 -0
  93. package/build/openid4vc-issuer/router/authorizationEndpoint.mjs +51 -0
  94. package/build/openid4vc-issuer/router/authorizationEndpoint.mjs.map +1 -0
  95. package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.mjs +25 -0
  96. package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.mjs.map +1 -0
  97. package/build/openid4vc-issuer/router/credentialEndpoint.mjs +142 -0
  98. package/build/openid4vc-issuer/router/credentialEndpoint.mjs.map +1 -0
  99. package/build/openid4vc-issuer/router/credentialOfferEndpoint.mjs +38 -0
  100. package/build/openid4vc-issuer/router/credentialOfferEndpoint.mjs.map +1 -0
  101. package/build/openid4vc-issuer/router/deferredCredentialEndpoint.mjs +84 -0
  102. package/build/openid4vc-issuer/router/deferredCredentialEndpoint.mjs.map +1 -0
  103. package/build/openid4vc-issuer/router/index.mjs +12 -0
  104. package/build/openid4vc-issuer/router/issuerMetadataEndpoint.mjs +43 -0
  105. package/build/openid4vc-issuer/router/issuerMetadataEndpoint.mjs.map +1 -0
  106. package/build/openid4vc-issuer/router/jwksEndpoint.mjs +18 -0
  107. package/build/openid4vc-issuer/router/jwksEndpoint.mjs.map +1 -0
  108. package/build/openid4vc-issuer/router/nonceEndpoint.mjs +29 -0
  109. package/build/openid4vc-issuer/router/nonceEndpoint.mjs.map +1 -0
  110. package/build/openid4vc-issuer/router/pushedAuthorizationRequestEndpoint.mjs +164 -0
  111. package/build/openid4vc-issuer/router/pushedAuthorizationRequestEndpoint.mjs.map +1 -0
  112. package/build/openid4vc-issuer/router/redirectEndpoint.mjs +124 -0
  113. package/build/openid4vc-issuer/router/redirectEndpoint.mjs.map +1 -0
  114. package/build/openid4vc-issuer/util/txCode.mjs +18 -0
  115. package/build/openid4vc-issuer/util/txCode.mjs.map +1 -0
  116. package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.d.mts +10 -0
  117. package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.d.mts.map +1 -0
  118. package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.mjs +12 -0
  119. package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.mjs.map +1 -0
  120. package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.mts +60 -0
  121. package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.mts.map +1 -0
  122. package/build/openid4vc-verifier/OpenId4VcVerifierApi.mjs +83 -0
  123. package/build/openid4vc-verifier/OpenId4VcVerifierApi.mjs.map +1 -0
  124. package/build/openid4vc-verifier/OpenId4VcVerifierEvents.d.mts +19 -0
  125. package/build/openid4vc-verifier/OpenId4VcVerifierEvents.d.mts.map +1 -0
  126. package/build/openid4vc-verifier/OpenId4VcVerifierEvents.mjs +9 -0
  127. package/build/openid4vc-verifier/OpenId4VcVerifierEvents.mjs.map +1 -0
  128. package/build/openid4vc-verifier/OpenId4VcVerifierModule.d.mts +25 -0
  129. package/build/openid4vc-verifier/OpenId4VcVerifierModule.d.mts.map +1 -0
  130. package/build/openid4vc-verifier/OpenId4VcVerifierModule.mjs +91 -0
  131. package/build/openid4vc-verifier/OpenId4VcVerifierModule.mjs.map +1 -0
  132. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.d.mts +55 -0
  133. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.d.mts.map +1 -0
  134. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.mjs +36 -0
  135. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.mjs.map +1 -0
  136. package/build/openid4vc-verifier/OpenId4VpVerifierService.d.mts +60 -0
  137. package/build/openid4vc-verifier/OpenId4VpVerifierService.d.mts.map +1 -0
  138. package/build/openid4vc-verifier/OpenId4VpVerifierService.mjs +714 -0
  139. package/build/openid4vc-verifier/OpenId4VpVerifierService.mjs.map +1 -0
  140. package/build/openid4vc-verifier/OpenId4VpVerifierServiceOptions.d.mts +194 -0
  141. package/build/openid4vc-verifier/OpenId4VpVerifierServiceOptions.d.mts.map +1 -0
  142. package/build/openid4vc-verifier/index.d.mts +12 -0
  143. package/build/openid4vc-verifier/index.mjs +11 -0
  144. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.mts +129 -0
  145. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.mts.map +1 -0
  146. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.mjs +64 -0
  147. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.mjs.map +1 -0
  148. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.d.mts +10 -0
  149. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.d.mts.map +1 -0
  150. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.mjs +22 -0
  151. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.mjs.map +1 -0
  152. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.d.mts +33 -0
  153. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.d.mts.map +1 -0
  154. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.mjs +32 -0
  155. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.mjs.map +1 -0
  156. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.d.mts +12 -0
  157. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.d.mts.map +1 -0
  158. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.mjs +28 -0
  159. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.mjs.map +1 -0
  160. package/build/openid4vc-verifier/repository/index.d.mts +4 -0
  161. package/build/openid4vc-verifier/repository/index.mjs +4 -0
  162. package/build/openid4vc-verifier/router/authorizationEndpoint.mjs +117 -0
  163. package/build/openid4vc-verifier/router/authorizationEndpoint.mjs.map +1 -0
  164. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.mjs +39 -0
  165. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.mjs.map +1 -0
  166. package/build/openid4vc-verifier/router/index.mjs +1 -0
  167. package/build/shared/callbacks.d.mts +47 -0
  168. package/build/shared/callbacks.d.mts.map +1 -0
  169. package/build/shared/callbacks.mjs +279 -0
  170. package/build/shared/callbacks.mjs.map +1 -0
  171. package/build/shared/index.d.mts +7 -0
  172. package/build/shared/index.mjs +4 -0
  173. package/build/shared/issuerMetadataUtils.d.mts +22 -0
  174. package/build/shared/issuerMetadataUtils.d.mts.map +1 -0
  175. package/build/shared/issuerMetadataUtils.mjs +30 -0
  176. package/build/shared/issuerMetadataUtils.mjs.map +1 -0
  177. package/build/shared/models/CredentialHolderBinding.d.mts +71 -0
  178. package/build/shared/models/CredentialHolderBinding.d.mts.map +1 -0
  179. package/build/shared/models/CredentialHolderBinding.mjs +1 -0
  180. package/build/shared/models/OpenId4VcJwtIssuer.d.mts +46 -0
  181. package/build/shared/models/OpenId4VcJwtIssuer.d.mts.map +1 -0
  182. package/build/shared/models/OpenId4VcJwtIssuer.mjs +1 -0
  183. package/build/shared/models/OpenId4VciAuthorizationServerConfig.d.mts +71 -0
  184. package/build/shared/models/OpenId4VciAuthorizationServerConfig.d.mts.map +1 -0
  185. package/build/shared/models/OpenId4VciCredentialFormatProfile.d.mts +12 -0
  186. package/build/shared/models/OpenId4VciCredentialFormatProfile.d.mts.map +1 -0
  187. package/build/shared/models/OpenId4VciCredentialFormatProfile.mjs +14 -0
  188. package/build/shared/models/OpenId4VciCredentialFormatProfile.mjs.map +1 -0
  189. package/build/shared/models/index.d.mts +30 -0
  190. package/build/shared/models/index.d.mts.map +1 -0
  191. package/build/shared/models/index.mjs +6 -0
  192. package/build/shared/router/context.mjs +52 -0
  193. package/build/shared/router/context.mjs.map +1 -0
  194. package/build/shared/router/express.browser.d.mts +5 -0
  195. package/build/shared/router/express.browser.d.mts.map +1 -0
  196. package/build/shared/router/express.browser.mjs +8 -0
  197. package/build/shared/router/express.browser.mjs.map +1 -0
  198. package/build/shared/router/express.mjs +10 -0
  199. package/build/shared/router/express.mjs.map +1 -0
  200. package/build/shared/router/express.native.d.mts +5 -0
  201. package/build/shared/router/express.native.d.mts.map +1 -0
  202. package/build/shared/router/express.native.mjs +8 -0
  203. package/build/shared/router/express.native.mjs.map +1 -0
  204. package/build/shared/router/index.mjs +3 -0
  205. package/build/shared/router/tenants.mjs +36 -0
  206. package/build/shared/router/tenants.mjs.map +1 -0
  207. package/build/shared/transactionData.mjs +19 -0
  208. package/build/shared/transactionData.mjs.map +1 -0
  209. package/build/shared/utils.mjs +90 -0
  210. package/build/shared/utils.mjs.map +1 -0
  211. package/package.json +30 -23
  212. package/build/index.d.ts +0 -4
  213. package/build/index.js +0 -21
  214. package/build/index.js.map +0 -1
  215. package/build/openid4vc-holder/OpenId4VcHolderApi.d.ts +0 -124
  216. package/build/openid4vc-holder/OpenId4VcHolderApi.js +0 -155
  217. package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +0 -1
  218. package/build/openid4vc-holder/OpenId4VcHolderModule.d.ts +0 -13
  219. package/build/openid4vc-holder/OpenId4VcHolderModule.js +0 -35
  220. package/build/openid4vc-holder/OpenId4VcHolderModule.js.map +0 -1
  221. package/build/openid4vc-holder/OpenId4VciHolderService.d.ts +0 -72
  222. package/build/openid4vc-holder/OpenId4VciHolderService.js +0 -569
  223. package/build/openid4vc-holder/OpenId4VciHolderService.js.map +0 -1
  224. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +0 -238
  225. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js +0 -14
  226. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js.map +0 -1
  227. package/build/openid4vc-holder/OpenId4vcSiopHolderService.d.ts +0 -32
  228. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +0 -302
  229. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +0 -1
  230. package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +0 -38
  231. package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.js +0 -3
  232. package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.js.map +0 -1
  233. package/build/openid4vc-holder/index.d.ts +0 -6
  234. package/build/openid4vc-holder/index.js +0 -23
  235. package/build/openid4vc-holder/index.js.map +0 -1
  236. package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.d.ts +0 -12
  237. package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.js +0 -19
  238. package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.js.map +0 -1
  239. package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.ts +0 -101
  240. package/build/openid4vc-issuer/OpenId4VcIssuerApi.js +0 -110
  241. package/build/openid4vc-issuer/OpenId4VcIssuerApi.js.map +0 -1
  242. package/build/openid4vc-issuer/OpenId4VcIssuerEvents.d.ts +0 -13
  243. package/build/openid4vc-issuer/OpenId4VcIssuerEvents.js +0 -8
  244. package/build/openid4vc-issuer/OpenId4VcIssuerEvents.js.map +0 -1
  245. package/build/openid4vc-issuer/OpenId4VcIssuerModule.d.ts +0 -21
  246. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +0 -121
  247. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +0 -1
  248. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts +0 -190
  249. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js +0 -141
  250. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js.map +0 -1
  251. package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +0 -116
  252. package/build/openid4vc-issuer/OpenId4VcIssuerService.js +0 -698
  253. package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +0 -1
  254. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +0 -229
  255. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.js +0 -3
  256. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.js.map +0 -1
  257. package/build/openid4vc-issuer/index.d.ts +0 -8
  258. package/build/openid4vc-issuer/index.js +0 -27
  259. package/build/openid4vc-issuer/index.js.map +0 -1
  260. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +0 -160
  261. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js +0 -88
  262. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +0 -1
  263. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.d.ts +0 -5
  264. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.js +0 -29
  265. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.js.map +0 -1
  266. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.d.ts +0 -56
  267. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +0 -83
  268. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +0 -1
  269. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.d.ts +0 -8
  270. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.js +0 -35
  271. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.js.map +0 -1
  272. package/build/openid4vc-issuer/repository/index.d.ts +0 -4
  273. package/build/openid4vc-issuer/repository/index.js +0 -21
  274. package/build/openid4vc-issuer/repository/index.js.map +0 -1
  275. package/build/openid4vc-issuer/router/accessTokenEndpoint.d.ts +0 -5
  276. package/build/openid4vc-issuer/router/accessTokenEndpoint.js +0 -164
  277. package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +0 -1
  278. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.d.ts +0 -3
  279. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js +0 -213
  280. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +0 -1
  281. package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.d.ts +0 -6
  282. package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js +0 -25
  283. package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js.map +0 -1
  284. package/build/openid4vc-issuer/router/credentialEndpoint.d.ts +0 -3
  285. package/build/openid4vc-issuer/router/credentialEndpoint.js +0 -176
  286. package/build/openid4vc-issuer/router/credentialEndpoint.js.map +0 -1
  287. package/build/openid4vc-issuer/router/credentialOfferEndpoint.d.ts +0 -3
  288. package/build/openid4vc-issuer/router/credentialOfferEndpoint.js +0 -45
  289. package/build/openid4vc-issuer/router/credentialOfferEndpoint.js.map +0 -1
  290. package/build/openid4vc-issuer/router/index.d.ts +0 -9
  291. package/build/openid4vc-issuer/router/index.js +0 -20
  292. package/build/openid4vc-issuer/router/index.js.map +0 -1
  293. package/build/openid4vc-issuer/router/issuerMetadataEndpoint.d.ts +0 -2
  294. package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js +0 -26
  295. package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js.map +0 -1
  296. package/build/openid4vc-issuer/router/jwksEndpoint.d.ts +0 -3
  297. package/build/openid4vc-issuer/router/jwksEndpoint.js +0 -20
  298. package/build/openid4vc-issuer/router/jwksEndpoint.js.map +0 -1
  299. package/build/openid4vc-issuer/router/nonceEndpoint.d.ts +0 -3
  300. package/build/openid4vc-issuer/router/nonceEndpoint.js +0 -26
  301. package/build/openid4vc-issuer/router/nonceEndpoint.js.map +0 -1
  302. package/build/openid4vc-issuer/router/requestContext.d.ts +0 -5
  303. package/build/openid4vc-issuer/router/requestContext.js +0 -3
  304. package/build/openid4vc-issuer/router/requestContext.js.map +0 -1
  305. package/build/openid4vc-issuer/util/txCode.d.ts +0 -3
  306. package/build/openid4vc-issuer/util/txCode.js +0 -18
  307. package/build/openid4vc-issuer/util/txCode.js.map +0 -1
  308. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.d.ts +0 -55
  309. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +0 -498
  310. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +0 -1
  311. package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +0 -77
  312. package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.js +0 -3
  313. package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.js.map +0 -1
  314. package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.d.ts +0 -6
  315. package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.js +0 -11
  316. package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.js.map +0 -1
  317. package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.ts +0 -61
  318. package/build/openid4vc-verifier/OpenId4VcVerifierApi.js +0 -108
  319. package/build/openid4vc-verifier/OpenId4VcVerifierApi.js.map +0 -1
  320. package/build/openid4vc-verifier/OpenId4VcVerifierEvents.d.ts +0 -13
  321. package/build/openid4vc-verifier/OpenId4VcVerifierEvents.js +0 -8
  322. package/build/openid4vc-verifier/OpenId4VcVerifierEvents.js.map +0 -1
  323. package/build/openid4vc-verifier/OpenId4VcVerifierModule.d.ts +0 -21
  324. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +0 -109
  325. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +0 -1
  326. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.d.ts +0 -31
  327. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js +0 -28
  328. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js.map +0 -1
  329. package/build/openid4vc-verifier/index.d.ts +0 -8
  330. package/build/openid4vc-verifier/index.js +0 -25
  331. package/build/openid4vc-verifier/index.js.map +0 -1
  332. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.d.ts +0 -49
  333. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js +0 -234
  334. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js.map +0 -1
  335. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.d.ts +0 -19
  336. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js +0 -146
  337. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js.map +0 -1
  338. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.ts +0 -71
  339. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +0 -46
  340. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +0 -1
  341. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.d.ts +0 -5
  342. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.js +0 -29
  343. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.js.map +0 -1
  344. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.d.ts +0 -29
  345. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.js +0 -29
  346. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.js.map +0 -1
  347. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.d.ts +0 -8
  348. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.js +0 -35
  349. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.js.map +0 -1
  350. package/build/openid4vc-verifier/repository/index.d.ts +0 -4
  351. package/build/openid4vc-verifier/repository/index.js +0 -21
  352. package/build/openid4vc-verifier/repository/index.js.map +0 -1
  353. package/build/openid4vc-verifier/router/authorizationEndpoint.d.ts +0 -11
  354. package/build/openid4vc-verifier/router/authorizationEndpoint.js +0 -102
  355. package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +0 -1
  356. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.d.ts +0 -11
  357. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js +0 -63
  358. package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js.map +0 -1
  359. package/build/openid4vc-verifier/router/index.d.ts +0 -2
  360. package/build/openid4vc-verifier/router/index.js +0 -6
  361. package/build/openid4vc-verifier/router/index.js.map +0 -1
  362. package/build/openid4vc-verifier/router/requestContext.d.ts +0 -5
  363. package/build/openid4vc-verifier/router/requestContext.js +0 -3
  364. package/build/openid4vc-verifier/router/requestContext.js.map +0 -1
  365. package/build/shared/callbacks.d.ts +0 -18
  366. package/build/shared/callbacks.js +0 -81
  367. package/build/shared/callbacks.js.map +0 -1
  368. package/build/shared/index.d.ts +0 -2
  369. package/build/shared/index.js +0 -19
  370. package/build/shared/index.js.map +0 -1
  371. package/build/shared/issuerMetadataUtils.d.ts +0 -158
  372. package/build/shared/issuerMetadataUtils.js +0 -38
  373. package/build/shared/issuerMetadataUtils.js.map +0 -1
  374. package/build/shared/models/CredentialHolderBinding.d.ts +0 -13
  375. package/build/shared/models/CredentialHolderBinding.js +0 -3
  376. package/build/shared/models/CredentialHolderBinding.js.map +0 -1
  377. package/build/shared/models/OpenId4VcJwtIssuer.d.ts +0 -28
  378. package/build/shared/models/OpenId4VcJwtIssuer.js +0 -3
  379. package/build/shared/models/OpenId4VcJwtIssuer.js.map +0 -1
  380. package/build/shared/models/OpenId4VciAuthorizationServerConfig.d.ts +0 -10
  381. package/build/shared/models/OpenId4VciAuthorizationServerConfig.js +0 -3
  382. package/build/shared/models/OpenId4VciAuthorizationServerConfig.js.map +0 -1
  383. package/build/shared/models/OpenId4VciCredentialFormatProfile.d.ts +0 -7
  384. package/build/shared/models/OpenId4VciCredentialFormatProfile.js +0 -12
  385. package/build/shared/models/OpenId4VciCredentialFormatProfile.js.map +0 -1
  386. package/build/shared/models/index.d.ts +0 -24
  387. package/build/shared/models/index.js +0 -25
  388. package/build/shared/models/index.js.map +0 -1
  389. package/build/shared/router/context.d.ts +0 -17
  390. package/build/shared/router/context.js +0 -76
  391. package/build/shared/router/context.js.map +0 -1
  392. package/build/shared/router/express.d.ts +0 -2
  393. package/build/shared/router/express.js +0 -15
  394. package/build/shared/router/express.js.map +0 -1
  395. package/build/shared/router/express.native.d.ts +0 -1
  396. package/build/shared/router/express.native.js +0 -7
  397. package/build/shared/router/express.native.js.map +0 -1
  398. package/build/shared/router/index.d.ts +0 -3
  399. package/build/shared/router/index.js +0 -20
  400. package/build/shared/router/index.js.map +0 -1
  401. package/build/shared/router/tenants.d.ts +0 -13
  402. package/build/shared/router/tenants.js +0 -49
  403. package/build/shared/router/tenants.js.map +0 -1
  404. package/build/shared/transform.d.ts +0 -5
  405. package/build/shared/transform.js +0 -73
  406. package/build/shared/transform.js.map +0 -1
  407. package/build/shared/utils.d.ts +0 -22
  408. package/build/shared/utils.js +0 -154
  409. package/build/shared/utils.js.map +0 -1
@@ -0,0 +1,279 @@
1
+ import { OpenId4VciCredentialRequestToCredentialMapper, OpenId4VciDeferredCredentialRequestToCredentialMapper, OpenId4VciGetVerificationSessionForIssuanceSessionAuthorization } from "./OpenId4VcIssuerServiceOptions.mjs";
2
+ import { Express } from "express";
3
+
4
+ //#region src/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts
5
+ interface InternalOpenId4VcIssuerModuleConfigOptions {
6
+ /**
7
+ * Base url at which the issuer endpoints will be hosted. All endpoints will be exposed with
8
+ * this path as prefix.
9
+ */
10
+ baseUrl: string;
11
+ /**
12
+ * Express app on which the openid4vci endpoints will be registered.
13
+ */
14
+ app: Express;
15
+ /**
16
+ * The time after which a cNonce will expire.
17
+ *
18
+ * @default 60 (1 minute)
19
+ */
20
+ cNonceExpiresInSeconds?: number;
21
+ /**
22
+ * The time after which a stateful credential offer not bound to a subject expires. Once the offer has been bound
23
+ * to a subject the access token expiration takes effect. This is to prevent long-lived `pre-authorized_code` and
24
+ * `issuer_state` values.
25
+ *
26
+ * @default 180 (3 minutes)
27
+ */
28
+ statefulCredentialOfferExpirationInSeconds?: number;
29
+ /**
30
+ * The time after which an authorization code will expire.
31
+ *
32
+ * @default 60 (1 minute)
33
+ */
34
+ authorizationCodeExpiresInSeconds?: number;
35
+ /**
36
+ * The time after which an access token will expire.
37
+ *
38
+ * @default 180 (3 minutes)
39
+ */
40
+ accessTokenExpiresInSeconds?: number;
41
+ /**
42
+ * The time after which a refresh token will expire.
43
+ *
44
+ * @default 7776000 (90 days)
45
+ */
46
+ refreshTokenExpiresInSeconds?: number;
47
+ /**
48
+ * The time after which a pushed authorization request URI will expire.
49
+ *
50
+ * @default 60 (1 minute)
51
+ */
52
+ requestUriExpiresInSeconds?: number;
53
+ /**
54
+ * Whether DPoP is required for all issuance sessions. This value can be overridden when creating
55
+ * a credential offer. If dpop is not required, but used by a client in the first request to credo,
56
+ * DPoP will be required going forward.
57
+ *
58
+ * @default false
59
+ */
60
+ dpopRequired?: boolean;
61
+ /**
62
+ * Whether wallet attestations are required for all issuance sessions. This value can be overridden when creating
63
+ * a credential offer, but will have effect for dynamic issuance sessions. If wallet attestations are not required
64
+ * but used by a client in the first request to credo,
65
+ * wallet attestations will be required going forward.
66
+ *
67
+ * @default false
68
+ */
69
+ walletAttestationsRequired?: boolean;
70
+ /**
71
+ * Whether to allow dynamic issuance sessions based on a credential request.
72
+ *
73
+ * This requires an external authorization server which issues access tokens without
74
+ * a `pre-authorized_code` or `issuer_state` parameter.
75
+ *
76
+ * Credo only support stateful credential offer sessions (pre-auth or presentation during issuance)
77
+ *
78
+ * @default false
79
+ */
80
+ allowDynamicIssuanceSessions?: boolean;
81
+ /**
82
+ * A function mapping a credential request to the credential to be issued.
83
+ *
84
+ * When multiple credentials are returned it is recommended to use different or approximate issuance and expiration
85
+ * times to prevent correlation based on the specific time
86
+ */
87
+ credentialRequestToCredentialMapper: OpenId4VciCredentialRequestToCredentialMapper;
88
+ /**
89
+ * A function mapping a deferred credential request to the credential to be issued.
90
+ *
91
+ * When multiple credentials are returned it is recommended to use different or approximate issuance and expiration
92
+ * times to prevent correlation based on the specific time
93
+ */
94
+ deferredCredentialRequestToCredentialMapper?: OpenId4VciDeferredCredentialRequestToCredentialMapper;
95
+ /**
96
+ * Callback to get a verification session that needs to be fulfilled for the authorization of
97
+ * of a credential issuance session. Once the verification session has been completed the user can
98
+ * retrieve an authorization code and access token and retrieve the credential(s).
99
+ *
100
+ * Required if presentation during issuance flow is used
101
+ */
102
+ getVerificationSessionForIssuanceSessionAuthorization?: OpenId4VciGetVerificationSessionForIssuanceSessionAuthorization;
103
+ /**
104
+ * Custom the paths used for endpoints
105
+ */
106
+ endpoints?: {
107
+ /**
108
+ * @default /nonce
109
+ */
110
+ nonce?: string;
111
+ /**
112
+ * @default /challenge
113
+ */
114
+ authorizationChallenge?: string;
115
+ /**
116
+ * @default /offers
117
+ */
118
+ credentialOffer?: string;
119
+ /**
120
+ * @default /credential
121
+ */
122
+ credential?: string;
123
+ /**
124
+ * @default /deferred-credential
125
+ */
126
+ deferredCredential?: string;
127
+ /**
128
+ * @default /token
129
+ */
130
+ accessToken?: string;
131
+ /**
132
+ * @default /par
133
+ */
134
+ pushedAuthorizationRequest?: string;
135
+ /**
136
+ * @default /authorize
137
+ */
138
+ authorization?: string;
139
+ /**
140
+ * @default /redirect
141
+ */
142
+ redirect?: string;
143
+ /**
144
+ * @default /jwks
145
+ */
146
+ jwks: string;
147
+ };
148
+ }
149
+ declare class OpenId4VcIssuerModuleConfig {
150
+ private options;
151
+ /**
152
+ * Callback to get a verification session that needs to be fulfilled for the authorization of
153
+ * of a credential issuance session. Once the verification session has been completed the user can
154
+ * retrieve an authorization code and access token and retrieve the credential(s).
155
+ *
156
+ * Required if presentation during issuance flow is used
157
+ */
158
+ getVerificationSessionForIssuanceSessionAuthorization?: OpenId4VciGetVerificationSessionForIssuanceSessionAuthorization;
159
+ constructor(options: InternalOpenId4VcIssuerModuleConfigOptions);
160
+ get app(): Express;
161
+ get baseUrl(): string;
162
+ /**
163
+ * A function mapping a credential request to the credential to be issued.
164
+ */
165
+ get credentialRequestToCredentialMapper(): OpenId4VciCredentialRequestToCredentialMapper;
166
+ /**
167
+ * A function mapping a credential request to the credential to be issued.
168
+ */
169
+ get deferredCredentialRequestToCredentialMapper(): OpenId4VciDeferredCredentialRequestToCredentialMapper | undefined;
170
+ /**
171
+ * The time after which a cNone will expire.
172
+ *
173
+ * @default 60 (1 minute)
174
+ */
175
+ get cNonceExpiresInSeconds(): number;
176
+ /**
177
+ * The time after which a stateful credential offer not bound to a subject expires. Once the offer has been bound
178
+ * to a subject the access token expiration takes effect. This is to prevent long-lived `pre-authorized_code` and
179
+ * `issuer_state` values.
180
+ *
181
+ * @default 360 (5 minutes)
182
+ */
183
+ get statefulCredentialOfferExpirationInSeconds(): number;
184
+ /**
185
+ * The time after which a cNonce will expire.
186
+ *
187
+ * @default 60 (1 minute)
188
+ */
189
+ get authorizationCodeExpiresInSeconds(): number;
190
+ /**
191
+ * The time after which an access token will expire.
192
+ *
193
+ * @default 180 (3 minutes)
194
+ */
195
+ get accessTokenExpiresInSeconds(): number;
196
+ /**
197
+ * The time after which a refresh token will expire.
198
+ *
199
+ * @default 7776000 (90 days)
200
+ */
201
+ get refreshTokenExpiresInSeconds(): number;
202
+ /**
203
+ * The time after which a pushed authorization request URI will expire.
204
+ *
205
+ * @default 60 (1 minute)
206
+ */
207
+ get requestUriExpiresInSeconds(): number;
208
+ /**
209
+ * Whether DPoP is required for all issuance sessions. This value can be overridden when creating
210
+ * a credential offer. If dpop is not required, but used by a client in the first request to credo,
211
+ * DPoP will be required going forward.
212
+ *
213
+ * @default false
214
+ */
215
+ get dpopRequired(): boolean;
216
+ /**
217
+ * Whether wallet attestations are required for all issuance sessions. This value can be overridden when creating
218
+ * a credential offer, but will have effect for dynamic issuance sessions. If wallet attestations are not required
219
+ * but used by a client in the first request to credo,
220
+ * wallet attestations will be required going forward.
221
+ *
222
+ * @default false
223
+ */
224
+ get walletAttestationsRequired(): boolean;
225
+ /**
226
+ * Whether to allow dynamic issuance sessions based on a credential request.
227
+ *
228
+ * This requires an external authorization server which issues access tokens without
229
+ * a `pre-authorized_code` or `issuer_state` parameter.
230
+ *
231
+ * Credo only supports stateful credential offer sessions (pre-auth or presentation during issuance)
232
+ *
233
+ * @default false
234
+ */
235
+ get allowDynamicIssuanceSessions(): boolean;
236
+ /**
237
+ * @default /nonce
238
+ */
239
+ get nonceEndpointPath(): string;
240
+ /**
241
+ * @default /par
242
+ */
243
+ get pushedAuthorizationRequestEndpoint(): string;
244
+ /**
245
+ * @default /authorize
246
+ */
247
+ get authorizationEndpoint(): string;
248
+ /**
249
+ * @default /redirect
250
+ */
251
+ get redirectEndpoint(): string;
252
+ /**
253
+ * @default /challenge
254
+ */
255
+ get authorizationChallengeEndpointPath(): string;
256
+ /**
257
+ * @default /offers
258
+ */
259
+ get credentialOfferEndpointPath(): string;
260
+ /**
261
+ * @default /credential
262
+ */
263
+ get credentialEndpointPath(): string;
264
+ /**
265
+ * @default /deferred-credential
266
+ */
267
+ get deferredCredentialEndpointPath(): string;
268
+ /**
269
+ * @default /token
270
+ */
271
+ get accessTokenEndpointPath(): string;
272
+ /**
273
+ * @default /jwks
274
+ */
275
+ get jwksEndpointPath(): string;
276
+ }
277
+ //#endregion
278
+ export { InternalOpenId4VcIssuerModuleConfigOptions, OpenId4VcIssuerModuleConfig };
279
+ //# sourceMappingURL=OpenId4VcIssuerModuleConfig.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenId4VcIssuerModuleConfig.d.mts","names":[],"sources":["../../src/openid4vc-issuer/OpenId4VcIssuerModuleConfig.ts"],"sourcesContent":[],"mappings":";;;;UAciB,0CAAA;;AAAjB;;;EAqGgD,OAAA,EAAA,MAAA;EASU;;AA0D1D;EAUiE,GAAA,EAxK1D,OAwK0D;EAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAvFS;;;;;;;gDAQS;;;;;;;;0DASU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0D7C,2BAAA;;;;;;;;;0DAUoD;uBAEnC;aAMd;;;;;6CAWgC;;;;qDAOQ"}
@@ -0,0 +1,179 @@
1
+ //#region src/openid4vc-issuer/OpenId4VcIssuerModuleConfig.ts
2
+ const DEFAULT_C_NONCE_EXPIRES_IN = 60;
3
+ const DEFAULT_AUTHORIZATION_CODE_EXPIRES_IN = 60;
4
+ const DEFAULT_TOKEN_EXPIRES_IN = 180;
5
+ const DEFAULT_REFRESH_TOKEN_EXPIRES_IN = 2160 * 60 * 60;
6
+ const DEFAULT_STATEFUL_CREDENTIAL_OFFER_EXPIRES_IN = 180;
7
+ const DEFAULT_REQUEST_URI_EXPIRES_IN = 60;
8
+ var OpenId4VcIssuerModuleConfig = class {
9
+ constructor(options) {
10
+ this.options = options;
11
+ this.getVerificationSessionForIssuanceSessionAuthorization = options.getVerificationSessionForIssuanceSessionAuthorization;
12
+ }
13
+ get app() {
14
+ return this.options.app;
15
+ }
16
+ get baseUrl() {
17
+ return this.options.baseUrl;
18
+ }
19
+ /**
20
+ * A function mapping a credential request to the credential to be issued.
21
+ */
22
+ get credentialRequestToCredentialMapper() {
23
+ return this.options.credentialRequestToCredentialMapper;
24
+ }
25
+ /**
26
+ * A function mapping a credential request to the credential to be issued.
27
+ */
28
+ get deferredCredentialRequestToCredentialMapper() {
29
+ return this.options.deferredCredentialRequestToCredentialMapper;
30
+ }
31
+ /**
32
+ * The time after which a cNone will expire.
33
+ *
34
+ * @default 60 (1 minute)
35
+ */
36
+ get cNonceExpiresInSeconds() {
37
+ return this.options.cNonceExpiresInSeconds ?? DEFAULT_C_NONCE_EXPIRES_IN;
38
+ }
39
+ /**
40
+ * The time after which a stateful credential offer not bound to a subject expires. Once the offer has been bound
41
+ * to a subject the access token expiration takes effect. This is to prevent long-lived `pre-authorized_code` and
42
+ * `issuer_state` values.
43
+ *
44
+ * @default 360 (5 minutes)
45
+ */
46
+ get statefulCredentialOfferExpirationInSeconds() {
47
+ return this.options.statefulCredentialOfferExpirationInSeconds ?? DEFAULT_STATEFUL_CREDENTIAL_OFFER_EXPIRES_IN;
48
+ }
49
+ /**
50
+ * The time after which a cNonce will expire.
51
+ *
52
+ * @default 60 (1 minute)
53
+ */
54
+ get authorizationCodeExpiresInSeconds() {
55
+ return this.options.authorizationCodeExpiresInSeconds ?? DEFAULT_AUTHORIZATION_CODE_EXPIRES_IN;
56
+ }
57
+ /**
58
+ * The time after which an access token will expire.
59
+ *
60
+ * @default 180 (3 minutes)
61
+ */
62
+ get accessTokenExpiresInSeconds() {
63
+ return this.options.accessTokenExpiresInSeconds ?? DEFAULT_TOKEN_EXPIRES_IN;
64
+ }
65
+ /**
66
+ * The time after which a refresh token will expire.
67
+ *
68
+ * @default 7776000 (90 days)
69
+ */
70
+ get refreshTokenExpiresInSeconds() {
71
+ return this.options.refreshTokenExpiresInSeconds ?? DEFAULT_REFRESH_TOKEN_EXPIRES_IN;
72
+ }
73
+ /**
74
+ * The time after which a pushed authorization request URI will expire.
75
+ *
76
+ * @default 60 (1 minute)
77
+ */
78
+ get requestUriExpiresInSeconds() {
79
+ return this.options.requestUriExpiresInSeconds ?? DEFAULT_REQUEST_URI_EXPIRES_IN;
80
+ }
81
+ /**
82
+ * Whether DPoP is required for all issuance sessions. This value can be overridden when creating
83
+ * a credential offer. If dpop is not required, but used by a client in the first request to credo,
84
+ * DPoP will be required going forward.
85
+ *
86
+ * @default false
87
+ */
88
+ get dpopRequired() {
89
+ return this.options.dpopRequired ?? false;
90
+ }
91
+ /**
92
+ * Whether wallet attestations are required for all issuance sessions. This value can be overridden when creating
93
+ * a credential offer, but will have effect for dynamic issuance sessions. If wallet attestations are not required
94
+ * but used by a client in the first request to credo,
95
+ * wallet attestations will be required going forward.
96
+ *
97
+ * @default false
98
+ */
99
+ get walletAttestationsRequired() {
100
+ return this.options.walletAttestationsRequired ?? false;
101
+ }
102
+ /**
103
+ * Whether to allow dynamic issuance sessions based on a credential request.
104
+ *
105
+ * This requires an external authorization server which issues access tokens without
106
+ * a `pre-authorized_code` or `issuer_state` parameter.
107
+ *
108
+ * Credo only supports stateful credential offer sessions (pre-auth or presentation during issuance)
109
+ *
110
+ * @default false
111
+ */
112
+ get allowDynamicIssuanceSessions() {
113
+ return this.options.allowDynamicIssuanceSessions ?? false;
114
+ }
115
+ /**
116
+ * @default /nonce
117
+ */
118
+ get nonceEndpointPath() {
119
+ return this.options.endpoints?.nonce ?? "/nonce";
120
+ }
121
+ /**
122
+ * @default /par
123
+ */
124
+ get pushedAuthorizationRequestEndpoint() {
125
+ return this.options.endpoints?.pushedAuthorizationRequest ?? "/par";
126
+ }
127
+ /**
128
+ * @default /authorize
129
+ */
130
+ get authorizationEndpoint() {
131
+ return this.options.endpoints?.authorization ?? "/authorize";
132
+ }
133
+ /**
134
+ * @default /redirect
135
+ */
136
+ get redirectEndpoint() {
137
+ return this.options.endpoints?.redirect ?? "/redirect";
138
+ }
139
+ /**
140
+ * @default /challenge
141
+ */
142
+ get authorizationChallengeEndpointPath() {
143
+ return this.options.endpoints?.authorizationChallenge ?? "/challenge";
144
+ }
145
+ /**
146
+ * @default /offers
147
+ */
148
+ get credentialOfferEndpointPath() {
149
+ return this.options.endpoints?.credentialOffer ?? "/offers";
150
+ }
151
+ /**
152
+ * @default /credential
153
+ */
154
+ get credentialEndpointPath() {
155
+ return this.options.endpoints?.credential ?? "/credential";
156
+ }
157
+ /**
158
+ * @default /deferred-credential
159
+ */
160
+ get deferredCredentialEndpointPath() {
161
+ return this.options.endpoints?.deferredCredential ?? "/deferred-credential";
162
+ }
163
+ /**
164
+ * @default /token
165
+ */
166
+ get accessTokenEndpointPath() {
167
+ return this.options.endpoints?.accessToken ?? "/token";
168
+ }
169
+ /**
170
+ * @default /jwks
171
+ */
172
+ get jwksEndpointPath() {
173
+ return this.options.endpoints?.jwks ?? "/jwks";
174
+ }
175
+ };
176
+
177
+ //#endregion
178
+ export { OpenId4VcIssuerModuleConfig };
179
+ //# sourceMappingURL=OpenId4VcIssuerModuleConfig.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenId4VcIssuerModuleConfig.mjs","names":[],"sources":["../../src/openid4vc-issuer/OpenId4VcIssuerModuleConfig.ts"],"sourcesContent":["import type { Express } from 'express'\nimport type {\n OpenId4VciCredentialRequestToCredentialMapper,\n OpenId4VciDeferredCredentialRequestToCredentialMapper,\n OpenId4VciGetVerificationSessionForIssuanceSessionAuthorization,\n} from './OpenId4VcIssuerServiceOptions'\n\nconst DEFAULT_C_NONCE_EXPIRES_IN = 1 * 60 // 1 minute\nconst DEFAULT_AUTHORIZATION_CODE_EXPIRES_IN = 1 * 60 // 1 minute\nconst DEFAULT_TOKEN_EXPIRES_IN = 3 * 60 // 3 minutes\nconst DEFAULT_REFRESH_TOKEN_EXPIRES_IN = 90 * 24 * 60 * 60 // 90 days\nconst DEFAULT_STATEFUL_CREDENTIAL_OFFER_EXPIRES_IN = 3 * 60 // 3 minutes\nconst DEFAULT_REQUEST_URI_EXPIRES_IN = 1 * 60 // 1 minute\n\nexport interface InternalOpenId4VcIssuerModuleConfigOptions {\n /**\n * Base url at which the issuer endpoints will be hosted. All endpoints will be exposed with\n * this path as prefix.\n */\n baseUrl: string\n\n /**\n * Express app on which the openid4vci endpoints will be registered.\n */\n app: Express\n\n /**\n * The time after which a cNonce will expire.\n *\n * @default 60 (1 minute)\n */\n cNonceExpiresInSeconds?: number\n\n /**\n * The time after which a stateful credential offer not bound to a subject expires. Once the offer has been bound\n * to a subject the access token expiration takes effect. This is to prevent long-lived `pre-authorized_code` and\n * `issuer_state` values.\n *\n * @default 180 (3 minutes)\n */\n statefulCredentialOfferExpirationInSeconds?: number\n\n /**\n * The time after which an authorization code will expire.\n *\n * @default 60 (1 minute)\n */\n authorizationCodeExpiresInSeconds?: number\n\n /**\n * The time after which an access token will expire.\n *\n * @default 180 (3 minutes)\n */\n accessTokenExpiresInSeconds?: number\n\n /**\n * The time after which a refresh token will expire.\n *\n * @default 7776000 (90 days)\n */\n refreshTokenExpiresInSeconds?: number\n\n /**\n * The time after which a pushed authorization request URI will expire.\n *\n * @default 60 (1 minute)\n */\n requestUriExpiresInSeconds?: number\n\n /**\n * Whether DPoP is required for all issuance sessions. This value can be overridden when creating\n * a credential offer. If dpop is not required, but used by a client in the first request to credo,\n * DPoP will be required going forward.\n *\n * @default false\n */\n dpopRequired?: boolean\n\n /**\n * Whether wallet attestations are required for all issuance sessions. This value can be overridden when creating\n * a credential offer, but will have effect for dynamic issuance sessions. If wallet attestations are not required\n * but used by a client in the first request to credo,\n * wallet attestations will be required going forward.\n *\n * @default false\n */\n walletAttestationsRequired?: boolean\n\n /**\n * Whether to allow dynamic issuance sessions based on a credential request.\n *\n * This requires an external authorization server which issues access tokens without\n * a `pre-authorized_code` or `issuer_state` parameter.\n *\n * Credo only support stateful credential offer sessions (pre-auth or presentation during issuance)\n *\n * @default false\n */\n allowDynamicIssuanceSessions?: boolean\n\n /**\n * A function mapping a credential request to the credential to be issued.\n *\n * When multiple credentials are returned it is recommended to use different or approximate issuance and expiration\n * times to prevent correlation based on the specific time\n */\n credentialRequestToCredentialMapper: OpenId4VciCredentialRequestToCredentialMapper\n\n /**\n * A function mapping a deferred credential request to the credential to be issued.\n *\n * When multiple credentials are returned it is recommended to use different or approximate issuance and expiration\n * times to prevent correlation based on the specific time\n */\n deferredCredentialRequestToCredentialMapper?: OpenId4VciDeferredCredentialRequestToCredentialMapper\n\n /**\n * Callback to get a verification session that needs to be fulfilled for the authorization of\n * of a credential issuance session. Once the verification session has been completed the user can\n * retrieve an authorization code and access token and retrieve the credential(s).\n *\n * Required if presentation during issuance flow is used\n */\n getVerificationSessionForIssuanceSessionAuthorization?: OpenId4VciGetVerificationSessionForIssuanceSessionAuthorization\n\n /**\n * Custom the paths used for endpoints\n */\n endpoints?: {\n /**\n * @default /nonce\n */\n nonce?: string\n\n /**\n * @default /challenge\n */\n authorizationChallenge?: string\n\n /**\n * @default /offers\n */\n credentialOffer?: string\n\n /**\n * @default /credential\n */\n credential?: string\n\n /**\n * @default /deferred-credential\n */\n deferredCredential?: string\n\n /**\n * @default /token\n */\n accessToken?: string\n\n /**\n * @default /par\n */\n pushedAuthorizationRequest?: string\n\n /**\n * @default /authorize\n */\n authorization?: string\n\n /**\n * @default /redirect\n */\n redirect?: string\n\n /**\n * @default /jwks\n */\n jwks: string\n }\n}\n\nexport class OpenId4VcIssuerModuleConfig {\n private options: InternalOpenId4VcIssuerModuleConfigOptions\n\n /**\n * Callback to get a verification session that needs to be fulfilled for the authorization of\n * of a credential issuance session. Once the verification session has been completed the user can\n * retrieve an authorization code and access token and retrieve the credential(s).\n *\n * Required if presentation during issuance flow is used\n */\n public getVerificationSessionForIssuanceSessionAuthorization?: OpenId4VciGetVerificationSessionForIssuanceSessionAuthorization\n\n public constructor(options: InternalOpenId4VcIssuerModuleConfigOptions) {\n this.options = options\n this.getVerificationSessionForIssuanceSessionAuthorization =\n options.getVerificationSessionForIssuanceSessionAuthorization\n }\n\n public get app() {\n return this.options.app\n }\n\n public get baseUrl() {\n return this.options.baseUrl\n }\n\n /**\n * A function mapping a credential request to the credential to be issued.\n */\n public get credentialRequestToCredentialMapper() {\n return this.options.credentialRequestToCredentialMapper\n }\n\n /**\n * A function mapping a credential request to the credential to be issued.\n */\n public get deferredCredentialRequestToCredentialMapper() {\n return this.options.deferredCredentialRequestToCredentialMapper\n }\n\n /**\n * The time after which a cNone will expire.\n *\n * @default 60 (1 minute)\n */\n public get cNonceExpiresInSeconds(): number {\n return this.options.cNonceExpiresInSeconds ?? DEFAULT_C_NONCE_EXPIRES_IN\n }\n\n /**\n * The time after which a stateful credential offer not bound to a subject expires. Once the offer has been bound\n * to a subject the access token expiration takes effect. This is to prevent long-lived `pre-authorized_code` and\n * `issuer_state` values.\n *\n * @default 360 (5 minutes)\n */\n public get statefulCredentialOfferExpirationInSeconds(): number {\n return this.options.statefulCredentialOfferExpirationInSeconds ?? DEFAULT_STATEFUL_CREDENTIAL_OFFER_EXPIRES_IN\n }\n\n /**\n * The time after which a cNonce will expire.\n *\n * @default 60 (1 minute)\n */\n public get authorizationCodeExpiresInSeconds(): number {\n return this.options.authorizationCodeExpiresInSeconds ?? DEFAULT_AUTHORIZATION_CODE_EXPIRES_IN\n }\n\n /**\n * The time after which an access token will expire.\n *\n * @default 180 (3 minutes)\n */\n public get accessTokenExpiresInSeconds(): number {\n return this.options.accessTokenExpiresInSeconds ?? DEFAULT_TOKEN_EXPIRES_IN\n }\n\n /**\n * The time after which a refresh token will expire.\n *\n * @default 7776000 (90 days)\n */\n public get refreshTokenExpiresInSeconds(): number {\n return this.options.refreshTokenExpiresInSeconds ?? DEFAULT_REFRESH_TOKEN_EXPIRES_IN\n }\n\n /**\n * The time after which a pushed authorization request URI will expire.\n *\n * @default 60 (1 minute)\n */\n public get requestUriExpiresInSeconds(): number {\n return this.options.requestUriExpiresInSeconds ?? DEFAULT_REQUEST_URI_EXPIRES_IN\n }\n\n /**\n * Whether DPoP is required for all issuance sessions. This value can be overridden when creating\n * a credential offer. If dpop is not required, but used by a client in the first request to credo,\n * DPoP will be required going forward.\n *\n * @default false\n */\n public get dpopRequired(): boolean {\n return this.options.dpopRequired ?? false\n }\n\n /**\n * Whether wallet attestations are required for all issuance sessions. This value can be overridden when creating\n * a credential offer, but will have effect for dynamic issuance sessions. If wallet attestations are not required\n * but used by a client in the first request to credo,\n * wallet attestations will be required going forward.\n *\n * @default false\n */\n public get walletAttestationsRequired(): boolean {\n return this.options.walletAttestationsRequired ?? false\n }\n\n /**\n * Whether to allow dynamic issuance sessions based on a credential request.\n *\n * This requires an external authorization server which issues access tokens without\n * a `pre-authorized_code` or `issuer_state` parameter.\n *\n * Credo only supports stateful credential offer sessions (pre-auth or presentation during issuance)\n *\n * @default false\n */\n public get allowDynamicIssuanceSessions(): boolean {\n return this.options.allowDynamicIssuanceSessions ?? false\n }\n\n /**\n * @default /nonce\n */\n public get nonceEndpointPath(): string {\n return this.options.endpoints?.nonce ?? '/nonce'\n }\n\n /**\n * @default /par\n */\n public get pushedAuthorizationRequestEndpoint(): string {\n return this.options.endpoints?.pushedAuthorizationRequest ?? '/par'\n }\n\n /**\n * @default /authorize\n */\n public get authorizationEndpoint(): string {\n return this.options.endpoints?.authorization ?? '/authorize'\n }\n\n /**\n * @default /redirect\n */\n public get redirectEndpoint(): string {\n return this.options.endpoints?.redirect ?? '/redirect'\n }\n\n /**\n * @default /challenge\n */\n public get authorizationChallengeEndpointPath(): string {\n return this.options.endpoints?.authorizationChallenge ?? '/challenge'\n }\n\n /**\n * @default /offers\n */\n public get credentialOfferEndpointPath(): string {\n return this.options.endpoints?.credentialOffer ?? '/offers'\n }\n\n /**\n * @default /credential\n */\n public get credentialEndpointPath(): string {\n return this.options.endpoints?.credential ?? '/credential'\n }\n\n /**\n * @default /deferred-credential\n */\n public get deferredCredentialEndpointPath(): string {\n return this.options.endpoints?.deferredCredential ?? '/deferred-credential'\n }\n\n /**\n * @default /token\n */\n public get accessTokenEndpointPath(): string {\n return this.options.endpoints?.accessToken ?? '/token'\n }\n\n /**\n * @default /jwks\n */\n public get jwksEndpointPath(): string {\n return this.options.endpoints?.jwks ?? '/jwks'\n }\n}\n"],"mappings":";AAOA,MAAM,6BAA6B;AACnC,MAAM,wCAAwC;AAC9C,MAAM,2BAA2B;AACjC,MAAM,mCAAmC,OAAU,KAAK;AACxD,MAAM,+CAA+C;AACrD,MAAM,iCAAiC;AA0KvC,IAAa,8BAAb,MAAyC;CAYvC,AAAO,YAAY,SAAqD;AACtE,OAAK,UAAU;AACf,OAAK,wDACH,QAAQ;;CAGZ,IAAW,MAAM;AACf,SAAO,KAAK,QAAQ;;CAGtB,IAAW,UAAU;AACnB,SAAO,KAAK,QAAQ;;;;;CAMtB,IAAW,sCAAsC;AAC/C,SAAO,KAAK,QAAQ;;;;;CAMtB,IAAW,8CAA8C;AACvD,SAAO,KAAK,QAAQ;;;;;;;CAQtB,IAAW,yBAAiC;AAC1C,SAAO,KAAK,QAAQ,0BAA0B;;;;;;;;;CAUhD,IAAW,6CAAqD;AAC9D,SAAO,KAAK,QAAQ,8CAA8C;;;;;;;CAQpE,IAAW,oCAA4C;AACrD,SAAO,KAAK,QAAQ,qCAAqC;;;;;;;CAQ3D,IAAW,8BAAsC;AAC/C,SAAO,KAAK,QAAQ,+BAA+B;;;;;;;CAQrD,IAAW,+BAAuC;AAChD,SAAO,KAAK,QAAQ,gCAAgC;;;;;;;CAQtD,IAAW,6BAAqC;AAC9C,SAAO,KAAK,QAAQ,8BAA8B;;;;;;;;;CAUpD,IAAW,eAAwB;AACjC,SAAO,KAAK,QAAQ,gBAAgB;;;;;;;;;;CAWtC,IAAW,6BAAsC;AAC/C,SAAO,KAAK,QAAQ,8BAA8B;;;;;;;;;;;;CAapD,IAAW,+BAAwC;AACjD,SAAO,KAAK,QAAQ,gCAAgC;;;;;CAMtD,IAAW,oBAA4B;AACrC,SAAO,KAAK,QAAQ,WAAW,SAAS;;;;;CAM1C,IAAW,qCAA6C;AACtD,SAAO,KAAK,QAAQ,WAAW,8BAA8B;;;;;CAM/D,IAAW,wBAAgC;AACzC,SAAO,KAAK,QAAQ,WAAW,iBAAiB;;;;;CAMlD,IAAW,mBAA2B;AACpC,SAAO,KAAK,QAAQ,WAAW,YAAY;;;;;CAM7C,IAAW,qCAA6C;AACtD,SAAO,KAAK,QAAQ,WAAW,0BAA0B;;;;;CAM3D,IAAW,8BAAsC;AAC/C,SAAO,KAAK,QAAQ,WAAW,mBAAmB;;;;;CAMpD,IAAW,yBAAiC;AAC1C,SAAO,KAAK,QAAQ,WAAW,cAAc;;;;;CAM/C,IAAW,iCAAyC;AAClD,SAAO,KAAK,QAAQ,WAAW,sBAAsB;;;;;CAMvD,IAAW,0BAAkC;AAC3C,SAAO,KAAK,QAAQ,WAAW,eAAe;;;;;CAMhD,IAAW,mBAA2B;AACpC,SAAO,KAAK,QAAQ,WAAW,QAAQ"}
@@ -0,0 +1,182 @@
1
+ import { OpenId4VciCredentialConfigurationsSupportedWithFormats, OpenId4VciCredentialOfferPayload } from "../shared/models/index.mjs";
2
+ import { OpenId4VcIssuanceSessionState } from "./OpenId4VcIssuanceSessionState.mjs";
3
+ import { OpenId4VcIssuanceSessionRecord } from "./repository/OpenId4VcIssuanceSessionRecord.mjs";
4
+ import { OpenId4VcIssuanceSessionRepository } from "./repository/OpenId4VcIssuanceSessionRepository.mjs";
5
+ import { OpenId4VcIssuerRecord } from "./repository/OpenId4VcIssuerRecord.mjs";
6
+ import { OpenId4VcIssuerRepository } from "./repository/OpenId4VcIssuerRepository.mjs";
7
+ import "./repository/index.mjs";
8
+ import "../shared/index.mjs";
9
+ import { OpenId4VciCreateCredentialOfferOptions, OpenId4VciCreateCredentialResponseOptions, OpenId4VciCreateDeferredCredentialResponseOptions, OpenId4VciCreateIssuerOptions, OpenId4VciCreateStatelessCredentialOfferOptions } from "./OpenId4VcIssuerServiceOptions.mjs";
10
+ import { OpenId4VcIssuerModuleConfig } from "./OpenId4VcIssuerModuleConfig.mjs";
11
+ import "../index.mjs";
12
+ import { AgentContext, Jwt, Query, QueryOptions, W3cCredentialService, W3cV2CredentialService } from "@credo-ts/core";
13
+ import { Jwk, Oauth2AuthorizationServer, Oauth2Client, Oauth2ResourceServer, PkceCodeChallengeMethod } from "@openid4vc/oauth2";
14
+ import { CredentialResponse, DeferredCredentialResponse, Openid4vciDraftVersion, Openid4vciIssuer } from "@openid4vc/openid4vci";
15
+
16
+ //#region src/openid4vc-issuer/OpenId4VcIssuerService.d.ts
17
+ /**
18
+ * @internal
19
+ */
20
+ declare class OpenId4VcIssuerService {
21
+ private w3cCredentialService;
22
+ private w3cV2CredentialService;
23
+ private openId4VcIssuerConfig;
24
+ private openId4VcIssuerRepository;
25
+ private openId4VcIssuanceSessionRepository;
26
+ constructor(w3cCredentialService: W3cCredentialService, w3cV2CredentialService: W3cV2CredentialService, openId4VcIssuerConfig: OpenId4VcIssuerModuleConfig, openId4VcIssuerRepository: OpenId4VcIssuerRepository, openId4VcIssuanceSessionRepository: OpenId4VcIssuanceSessionRepository);
27
+ createStatelessCredentialOffer(agentContext: AgentContext, options: OpenId4VciCreateStatelessCredentialOfferOptions & {
28
+ issuer: OpenId4VcIssuerRecord;
29
+ }): Promise<{
30
+ credentialOffer: string;
31
+ credentialOfferObject: OpenId4VciCredentialOfferPayload;
32
+ }>;
33
+ createCredentialOffer(agentContext: AgentContext, options: OpenId4VciCreateCredentialOfferOptions & {
34
+ issuer: OpenId4VcIssuerRecord;
35
+ }): Promise<{
36
+ issuanceSession: OpenId4VcIssuanceSessionRecord;
37
+ credentialOffer: string;
38
+ }>;
39
+ createCredentialResponse(agentContext: AgentContext, options: OpenId4VciCreateCredentialResponseOptions & {
40
+ issuanceSession: OpenId4VcIssuanceSessionRecord;
41
+ }): Promise<{
42
+ issuanceSession: OpenId4VcIssuanceSessionRecord;
43
+ credentialResponse: CredentialResponse;
44
+ }>;
45
+ createDeferredCredentialResponse(agentContext: AgentContext, options: OpenId4VciCreateDeferredCredentialResponseOptions & {
46
+ issuanceSession: OpenId4VcIssuanceSessionRecord;
47
+ }): Promise<{
48
+ issuanceSession: OpenId4VcIssuanceSessionRecord;
49
+ deferredCredentialResponse: DeferredCredentialResponse;
50
+ }>;
51
+ private verifyCredentialRequestProofs;
52
+ findIssuanceSessionsByQuery(agentContext: AgentContext, query: Query<OpenId4VcIssuanceSessionRecord>, queryOptions?: QueryOptions): Promise<OpenId4VcIssuanceSessionRecord[]>;
53
+ findSingleIssuanceSessionByQuery(agentContext: AgentContext, query: Query<OpenId4VcIssuanceSessionRecord>): Promise<OpenId4VcIssuanceSessionRecord | null>;
54
+ getIssuanceSessionById(agentContext: AgentContext, issuanceSessionId: string): Promise<OpenId4VcIssuanceSessionRecord>;
55
+ getAllIssuers(agentContext: AgentContext): Promise<OpenId4VcIssuerRecord[]>;
56
+ getIssuerByIssuerId(agentContext: AgentContext, issuerId: string): Promise<OpenId4VcIssuerRecord>;
57
+ updateIssuer(agentContext: AgentContext, issuer: OpenId4VcIssuerRecord): Promise<void>;
58
+ createIssuer(agentContext: AgentContext, options: OpenId4VciCreateIssuerOptions): Promise<OpenId4VcIssuerRecord>;
59
+ private createSignedMetadata;
60
+ rotateAccessTokenSigningKey(agentContext: AgentContext, issuer: OpenId4VcIssuerRecord, options?: Pick<OpenId4VciCreateIssuerOptions, 'accessTokenSignerKeyType'>): Promise<void>;
61
+ /**
62
+ * @param fetchExternalAuthorizationServerMetadata defaults to false
63
+ */
64
+ getIssuerMetadata(agentContext: AgentContext, issuerRecord: OpenId4VcIssuerRecord, fetchExternalAuthorizationServerMetadata?: boolean): Promise<{
65
+ originalDraftVersion: Openid4vciDraftVersion;
66
+ credentialIssuer: {
67
+ credential_issuer: string;
68
+ credential_endpoint: string;
69
+ deferred_credential_endpoint: string;
70
+ credential_configurations_supported: OpenId4VciCredentialConfigurationsSupportedWithFormats;
71
+ authorization_servers: string[] | undefined;
72
+ display: {
73
+ [x: string]: unknown;
74
+ name?: string | undefined;
75
+ locale?: string | undefined;
76
+ logo?: {
77
+ [x: string]: unknown;
78
+ uri?: string | undefined;
79
+ alt_text?: string | undefined;
80
+ } | undefined;
81
+ }[] | undefined;
82
+ nonce_endpoint: string;
83
+ batch_credential_issuance: {
84
+ batch_size: number;
85
+ } | undefined;
86
+ };
87
+ authorizationServers: ({
88
+ [x: string]: unknown;
89
+ issuer: string;
90
+ token_endpoint: string;
91
+ token_endpoint_auth_methods_supported?: string[] | undefined;
92
+ authorization_endpoint?: string | undefined;
93
+ jwks_uri?: string | undefined;
94
+ grant_types_supported?: string[] | undefined;
95
+ code_challenge_methods_supported?: string[] | undefined;
96
+ dpop_signing_alg_values_supported?: string[] | undefined;
97
+ require_pushed_authorization_requests?: boolean | undefined;
98
+ pushed_authorization_request_endpoint?: string | undefined;
99
+ introspection_endpoint?: string | undefined;
100
+ introspection_endpoint_auth_methods_supported?: string[] | undefined;
101
+ introspection_endpoint_auth_signing_alg_values_supported?: string[] | undefined;
102
+ authorization_challenge_endpoint?: string | undefined;
103
+ 'pre-authorized_grant_anonymous_access_supported'?: boolean | undefined;
104
+ client_attestation_pop_nonce_required?: boolean | undefined;
105
+ } | {
106
+ issuer: string;
107
+ token_endpoint: string;
108
+ 'pre-authorized_grant_anonymous_access_supported': true;
109
+ jwks_uri: string;
110
+ grant_types_supported: ("authorization_code" | "urn:ietf:params:oauth:grant-type:pre-authorized_code")[];
111
+ authorization_challenge_endpoint: string;
112
+ authorization_endpoint: string;
113
+ pushed_authorization_request_endpoint: string;
114
+ require_pushed_authorization_requests: true;
115
+ code_challenge_methods_supported: PkceCodeChallengeMethod[];
116
+ dpop_signing_alg_values_supported: ["HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "PS256" | "PS384" | "PS512" | "EdDSA" | "Ed25519" | "ES256K", ...("HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "PS256" | "PS384" | "PS512" | "EdDSA" | "Ed25519" | "ES256K")[]] | undefined;
117
+ })[];
118
+ knownCredentialConfigurations: OpenId4VciCredentialConfigurationsSupportedWithFormats;
119
+ signedMetadataJwt: string | undefined;
120
+ }>;
121
+ createNonce(agentContext: AgentContext, issuer: OpenId4VcIssuerRecord): Promise<{
122
+ cNonce: string;
123
+ cNonceExpiresAt: Date;
124
+ cNonceExpiresInSeconds: number;
125
+ }>;
126
+ /**
127
+ * @todo nonces are very short lived (1 min), but it might be nice to also cache the nonces
128
+ * in the cache if we have 'seen' them. They will only be in the cache for a short time
129
+ * and it will prevent replay
130
+ */
131
+ private verifyNonce;
132
+ createRefreshToken(agentContext: AgentContext, issuer: OpenId4VcIssuerRecord, options: {
133
+ issuerState?: string;
134
+ preAuthorizedCode?: string;
135
+ dpop?: {
136
+ jwk: Jwk;
137
+ };
138
+ }): Promise<string>;
139
+ parseRefreshToken(token: string): {
140
+ jwt: Jwt;
141
+ expiresAt: Date;
142
+ issuerState: string | undefined;
143
+ preAuthorizedCode: string | undefined;
144
+ dpop: {
145
+ jwkThumbprint: string;
146
+ } | undefined;
147
+ };
148
+ verifyRefreshToken(agentContext: AgentContext, issuer: OpenId4VcIssuerRecord, parsedRefreshToken: ReturnType<OpenId4VcIssuerService['parseRefreshToken']>, options?: {
149
+ dpop?: {
150
+ jwkThumbprint?: string;
151
+ };
152
+ }): Promise<void>;
153
+ getIssuer(agentContext: AgentContext, options?: {
154
+ issuanceSessionId?: string;
155
+ }): Openid4vciIssuer;
156
+ getOauth2Client(agentContext: AgentContext, issuerRecord?: OpenId4VcIssuerRecord): Oauth2Client;
157
+ getOauth2AuthorizationServer(agentContext: AgentContext, options?: {
158
+ issuanceSessionId?: string;
159
+ }): Oauth2AuthorizationServer;
160
+ getResourceServer(agentContext: AgentContext, issuerRecord: OpenId4VcIssuerRecord): Oauth2ResourceServer;
161
+ /**
162
+ * Update the expiresAt field of the issuance session to ensure it remains
163
+ * valid during the deferral process. We set it to the maximum between the
164
+ * current expiresAt and the current time plus the configured expiration
165
+ * time or the interval multiplied by 2. This accounts for the chance of multiple
166
+ * deferrals happening, with longer intervals.
167
+ */
168
+ private updateExpiresAt;
169
+ /**
170
+ * Update the record to a new state and emit an state changed event. Also updates the record
171
+ * in storage.
172
+ */
173
+ updateState(agentContext: AgentContext, issuanceSession: OpenId4VcIssuanceSessionRecord, newState: OpenId4VcIssuanceSessionState): Promise<void>;
174
+ emitStateChangedEvent(agentContext: AgentContext, issuanceSession: OpenId4VcIssuanceSessionRecord, previousState: OpenId4VcIssuanceSessionState | null): void;
175
+ private getGrantsFromConfig;
176
+ private getCredentialConfigurationsForRequest;
177
+ private getSignedCredentials;
178
+ private signW3cCredential;
179
+ }
180
+ //#endregion
181
+ export { OpenId4VcIssuerService };
182
+ //# sourceMappingURL=OpenId4VcIssuerService.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenId4VcIssuerService.d.mts","names":[],"sources":["../../src/openid4vc-issuer/OpenId4VcIssuerService.ts"],"sourcesContent":[],"mappings":"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"}