@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.
- package/build/OpenId4VcApi.d.mts +24 -0
- package/build/OpenId4VcApi.d.mts.map +1 -0
- package/build/OpenId4VcApi.mjs +35 -0
- package/build/OpenId4VcApi.mjs.map +1 -0
- package/build/OpenId4VcModule.d.mts +30 -0
- package/build/OpenId4VcModule.d.mts.map +1 -0
- package/build/OpenId4VcModule.mjs +42 -0
- package/build/OpenId4VcModule.mjs.map +1 -0
- package/build/OpenId4VcModuleConfig.d.mts +44 -0
- package/build/OpenId4VcModuleConfig.d.mts.map +1 -0
- package/build/OpenId4VcModuleConfig.mjs +24 -0
- package/build/OpenId4VcModuleConfig.mjs.map +1 -0
- package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs +10 -0
- package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs +7 -0
- package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateParam.mjs +9 -0
- package/build/index.d.mts +42 -0
- package/build/index.mjs +37 -0
- package/build/openid4vc-holder/OpenId4VcHolderApi.d.mts +238 -0
- package/build/openid4vc-holder/OpenId4VcHolderApi.d.mts.map +1 -0
- package/build/openid4vc-holder/OpenId4VcHolderApi.mjs +174 -0
- package/build/openid4vc-holder/OpenId4VcHolderApi.mjs.map +1 -0
- package/build/openid4vc-holder/OpenId4VcHolderModule.d.mts +17 -0
- package/build/openid4vc-holder/OpenId4VcHolderModule.d.mts.map +1 -0
- package/build/openid4vc-holder/OpenId4VcHolderModule.mjs +23 -0
- package/build/openid4vc-holder/OpenId4VcHolderModule.mjs.map +1 -0
- package/build/openid4vc-holder/OpenId4VciHolderService.d.mts +69 -0
- package/build/openid4vc-holder/OpenId4VciHolderService.d.mts.map +1 -0
- package/build/openid4vc-holder/OpenId4VciHolderService.mjs +751 -0
- package/build/openid4vc-holder/OpenId4VciHolderService.mjs.map +1 -0
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.mts +398 -0
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.mts.map +1 -0
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.mjs +16 -0
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.mjs.map +1 -0
- package/build/openid4vc-holder/OpenId4vpHolderService.d.mts +130 -0
- package/build/openid4vc-holder/OpenId4vpHolderService.d.mts.map +1 -0
- package/build/openid4vc-holder/OpenId4vpHolderService.mjs +278 -0
- package/build/openid4vc-holder/OpenId4vpHolderService.mjs.map +1 -0
- package/build/openid4vc-holder/OpenId4vpHolderServiceOptions.d.mts +112 -0
- package/build/openid4vc-holder/OpenId4vpHolderServiceOptions.d.mts.map +1 -0
- package/build/openid4vc-holder/index.d.mts +6 -0
- package/build/openid4vc-holder/index.mjs +5 -0
- package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.d.mts +16 -0
- package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.d.mts.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.mjs +18 -0
- package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.mjs.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.mts +137 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.mts.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.mjs +108 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.mjs.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerEvents.d.mts +19 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerEvents.d.mts.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerEvents.mjs +9 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerEvents.mjs.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.d.mts +27 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.d.mts.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.mjs +150 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.mjs.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.mts +279 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.mts.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.mjs +179 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.mjs.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerService.d.mts +182 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerService.d.mts.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerService.mjs +881 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerService.mjs.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.mts +340 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.mts.map +1 -0
- package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.mjs +1 -0
- package/build/openid4vc-issuer/index.d.mts +11 -0
- package/build/openid4vc-issuer/index.mjs +11 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.mts +300 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.mts.map +1 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.mjs +102 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.mjs.map +1 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.d.mts +10 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.d.mts.map +1 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.mjs +22 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.mjs.map +1 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.d.mts +84 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.d.mts.map +1 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.mjs +89 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.mjs.map +1 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.d.mts +12 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.d.mts.map +1 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.mjs +28 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.mjs.map +1 -0
- package/build/openid4vc-issuer/repository/index.d.mts +4 -0
- package/build/openid4vc-issuer/repository/index.mjs +4 -0
- package/build/openid4vc-issuer/router/accessTokenEndpoint.mjs +199 -0
- package/build/openid4vc-issuer/router/accessTokenEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.mjs +241 -0
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/router/authorizationEndpoint.mjs +51 -0
- package/build/openid4vc-issuer/router/authorizationEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.mjs +25 -0
- package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/router/credentialEndpoint.mjs +142 -0
- package/build/openid4vc-issuer/router/credentialEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/router/credentialOfferEndpoint.mjs +38 -0
- package/build/openid4vc-issuer/router/credentialOfferEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/router/deferredCredentialEndpoint.mjs +84 -0
- package/build/openid4vc-issuer/router/deferredCredentialEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/router/index.mjs +12 -0
- package/build/openid4vc-issuer/router/issuerMetadataEndpoint.mjs +43 -0
- package/build/openid4vc-issuer/router/issuerMetadataEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/router/jwksEndpoint.mjs +18 -0
- package/build/openid4vc-issuer/router/jwksEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/router/nonceEndpoint.mjs +29 -0
- package/build/openid4vc-issuer/router/nonceEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/router/pushedAuthorizationRequestEndpoint.mjs +164 -0
- package/build/openid4vc-issuer/router/pushedAuthorizationRequestEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/router/redirectEndpoint.mjs +124 -0
- package/build/openid4vc-issuer/router/redirectEndpoint.mjs.map +1 -0
- package/build/openid4vc-issuer/util/txCode.mjs +18 -0
- package/build/openid4vc-issuer/util/txCode.mjs.map +1 -0
- package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.d.mts +10 -0
- package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.d.mts.map +1 -0
- package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.mjs +12 -0
- package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.mjs.map +1 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.mts +60 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.mts.map +1 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.mjs +83 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.mjs.map +1 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierEvents.d.mts +19 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierEvents.d.mts.map +1 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierEvents.mjs +9 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierEvents.mjs.map +1 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.d.mts +25 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.d.mts.map +1 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.mjs +91 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.mjs.map +1 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.d.mts +55 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.d.mts.map +1 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.mjs +36 -0
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.mjs.map +1 -0
- package/build/openid4vc-verifier/OpenId4VpVerifierService.d.mts +60 -0
- package/build/openid4vc-verifier/OpenId4VpVerifierService.d.mts.map +1 -0
- package/build/openid4vc-verifier/OpenId4VpVerifierService.mjs +714 -0
- package/build/openid4vc-verifier/OpenId4VpVerifierService.mjs.map +1 -0
- package/build/openid4vc-verifier/OpenId4VpVerifierServiceOptions.d.mts +194 -0
- package/build/openid4vc-verifier/OpenId4VpVerifierServiceOptions.d.mts.map +1 -0
- package/build/openid4vc-verifier/index.d.mts +12 -0
- package/build/openid4vc-verifier/index.mjs +11 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.mts +129 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.mts.map +1 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.mjs +64 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.mjs.map +1 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.d.mts +10 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.d.mts.map +1 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.mjs +22 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.mjs.map +1 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.d.mts +33 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.d.mts.map +1 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.mjs +32 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.mjs.map +1 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.d.mts +12 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.d.mts.map +1 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.mjs +28 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.mjs.map +1 -0
- package/build/openid4vc-verifier/repository/index.d.mts +4 -0
- package/build/openid4vc-verifier/repository/index.mjs +4 -0
- package/build/openid4vc-verifier/router/authorizationEndpoint.mjs +117 -0
- package/build/openid4vc-verifier/router/authorizationEndpoint.mjs.map +1 -0
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.mjs +39 -0
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.mjs.map +1 -0
- package/build/openid4vc-verifier/router/index.mjs +1 -0
- package/build/shared/callbacks.d.mts +47 -0
- package/build/shared/callbacks.d.mts.map +1 -0
- package/build/shared/callbacks.mjs +279 -0
- package/build/shared/callbacks.mjs.map +1 -0
- package/build/shared/index.d.mts +7 -0
- package/build/shared/index.mjs +4 -0
- package/build/shared/issuerMetadataUtils.d.mts +22 -0
- package/build/shared/issuerMetadataUtils.d.mts.map +1 -0
- package/build/shared/issuerMetadataUtils.mjs +30 -0
- package/build/shared/issuerMetadataUtils.mjs.map +1 -0
- package/build/shared/models/CredentialHolderBinding.d.mts +71 -0
- package/build/shared/models/CredentialHolderBinding.d.mts.map +1 -0
- package/build/shared/models/CredentialHolderBinding.mjs +1 -0
- package/build/shared/models/OpenId4VcJwtIssuer.d.mts +46 -0
- package/build/shared/models/OpenId4VcJwtIssuer.d.mts.map +1 -0
- package/build/shared/models/OpenId4VcJwtIssuer.mjs +1 -0
- package/build/shared/models/OpenId4VciAuthorizationServerConfig.d.mts +71 -0
- package/build/shared/models/OpenId4VciAuthorizationServerConfig.d.mts.map +1 -0
- package/build/shared/models/OpenId4VciCredentialFormatProfile.d.mts +12 -0
- package/build/shared/models/OpenId4VciCredentialFormatProfile.d.mts.map +1 -0
- package/build/shared/models/OpenId4VciCredentialFormatProfile.mjs +14 -0
- package/build/shared/models/OpenId4VciCredentialFormatProfile.mjs.map +1 -0
- package/build/shared/models/index.d.mts +30 -0
- package/build/shared/models/index.d.mts.map +1 -0
- package/build/shared/models/index.mjs +6 -0
- package/build/shared/router/context.mjs +52 -0
- package/build/shared/router/context.mjs.map +1 -0
- package/build/shared/router/express.browser.d.mts +5 -0
- package/build/shared/router/express.browser.d.mts.map +1 -0
- package/build/shared/router/express.browser.mjs +8 -0
- package/build/shared/router/express.browser.mjs.map +1 -0
- package/build/shared/router/express.mjs +10 -0
- package/build/shared/router/express.mjs.map +1 -0
- package/build/shared/router/express.native.d.mts +5 -0
- package/build/shared/router/express.native.d.mts.map +1 -0
- package/build/shared/router/express.native.mjs +8 -0
- package/build/shared/router/express.native.mjs.map +1 -0
- package/build/shared/router/index.mjs +3 -0
- package/build/shared/router/tenants.mjs +36 -0
- package/build/shared/router/tenants.mjs.map +1 -0
- package/build/shared/transactionData.mjs +19 -0
- package/build/shared/transactionData.mjs.map +1 -0
- package/build/shared/utils.mjs +90 -0
- package/build/shared/utils.mjs.map +1 -0
- package/package.json +30 -23
- package/build/index.d.ts +0 -4
- package/build/index.js +0 -21
- package/build/index.js.map +0 -1
- package/build/openid4vc-holder/OpenId4VcHolderApi.d.ts +0 -124
- package/build/openid4vc-holder/OpenId4VcHolderApi.js +0 -155
- package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +0 -1
- package/build/openid4vc-holder/OpenId4VcHolderModule.d.ts +0 -13
- package/build/openid4vc-holder/OpenId4VcHolderModule.js +0 -35
- package/build/openid4vc-holder/OpenId4VcHolderModule.js.map +0 -1
- package/build/openid4vc-holder/OpenId4VciHolderService.d.ts +0 -72
- package/build/openid4vc-holder/OpenId4VciHolderService.js +0 -569
- package/build/openid4vc-holder/OpenId4VciHolderService.js.map +0 -1
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +0 -238
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js +0 -14
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js.map +0 -1
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.d.ts +0 -32
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +0 -302
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +0 -1
- package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +0 -38
- package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.js +0 -3
- package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.js.map +0 -1
- package/build/openid4vc-holder/index.d.ts +0 -6
- package/build/openid4vc-holder/index.js +0 -23
- package/build/openid4vc-holder/index.js.map +0 -1
- package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.d.ts +0 -12
- package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.js +0 -19
- package/build/openid4vc-issuer/OpenId4VcIssuanceSessionState.js.map +0 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.ts +0 -101
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.js +0 -110
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.js.map +0 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerEvents.d.ts +0 -13
- package/build/openid4vc-issuer/OpenId4VcIssuerEvents.js +0 -8
- package/build/openid4vc-issuer/OpenId4VcIssuerEvents.js.map +0 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.d.ts +0 -21
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +0 -121
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +0 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts +0 -190
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js +0 -141
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js.map +0 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +0 -116
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js +0 -698
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +0 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +0 -229
- package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.js +0 -3
- package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.js.map +0 -1
- package/build/openid4vc-issuer/index.d.ts +0 -8
- package/build/openid4vc-issuer/index.js +0 -27
- package/build/openid4vc-issuer/index.js.map +0 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +0 -160
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js +0 -88
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +0 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.d.ts +0 -5
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.js +0 -29
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.js.map +0 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.d.ts +0 -56
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +0 -83
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +0 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.d.ts +0 -8
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.js +0 -35
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.js.map +0 -1
- package/build/openid4vc-issuer/repository/index.d.ts +0 -4
- package/build/openid4vc-issuer/repository/index.js +0 -21
- package/build/openid4vc-issuer/repository/index.js.map +0 -1
- package/build/openid4vc-issuer/router/accessTokenEndpoint.d.ts +0 -5
- package/build/openid4vc-issuer/router/accessTokenEndpoint.js +0 -164
- package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +0 -1
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.d.ts +0 -3
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js +0 -213
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +0 -1
- package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.d.ts +0 -6
- package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js +0 -25
- package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js.map +0 -1
- package/build/openid4vc-issuer/router/credentialEndpoint.d.ts +0 -3
- package/build/openid4vc-issuer/router/credentialEndpoint.js +0 -176
- package/build/openid4vc-issuer/router/credentialEndpoint.js.map +0 -1
- package/build/openid4vc-issuer/router/credentialOfferEndpoint.d.ts +0 -3
- package/build/openid4vc-issuer/router/credentialOfferEndpoint.js +0 -45
- package/build/openid4vc-issuer/router/credentialOfferEndpoint.js.map +0 -1
- package/build/openid4vc-issuer/router/index.d.ts +0 -9
- package/build/openid4vc-issuer/router/index.js +0 -20
- package/build/openid4vc-issuer/router/index.js.map +0 -1
- package/build/openid4vc-issuer/router/issuerMetadataEndpoint.d.ts +0 -2
- package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js +0 -26
- package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js.map +0 -1
- package/build/openid4vc-issuer/router/jwksEndpoint.d.ts +0 -3
- package/build/openid4vc-issuer/router/jwksEndpoint.js +0 -20
- package/build/openid4vc-issuer/router/jwksEndpoint.js.map +0 -1
- package/build/openid4vc-issuer/router/nonceEndpoint.d.ts +0 -3
- package/build/openid4vc-issuer/router/nonceEndpoint.js +0 -26
- package/build/openid4vc-issuer/router/nonceEndpoint.js.map +0 -1
- package/build/openid4vc-issuer/router/requestContext.d.ts +0 -5
- package/build/openid4vc-issuer/router/requestContext.js +0 -3
- package/build/openid4vc-issuer/router/requestContext.js.map +0 -1
- package/build/openid4vc-issuer/util/txCode.d.ts +0 -3
- package/build/openid4vc-issuer/util/txCode.js +0 -18
- package/build/openid4vc-issuer/util/txCode.js.map +0 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.d.ts +0 -55
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +0 -498
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +0 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +0 -77
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.js +0 -3
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.js.map +0 -1
- package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.d.ts +0 -6
- package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.js +0 -11
- package/build/openid4vc-verifier/OpenId4VcVerificationSessionState.js.map +0 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.ts +0 -61
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.js +0 -108
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.js.map +0 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierEvents.d.ts +0 -13
- package/build/openid4vc-verifier/OpenId4VcVerifierEvents.js +0 -8
- package/build/openid4vc-verifier/OpenId4VcVerifierEvents.js.map +0 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.d.ts +0 -21
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +0 -109
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +0 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.d.ts +0 -31
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js +0 -28
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js.map +0 -1
- package/build/openid4vc-verifier/index.d.ts +0 -8
- package/build/openid4vc-verifier/index.js +0 -25
- package/build/openid4vc-verifier/index.js.map +0 -1
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.d.ts +0 -49
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js +0 -234
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js.map +0 -1
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.d.ts +0 -19
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js +0 -146
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js.map +0 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.ts +0 -71
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +0 -46
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +0 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.d.ts +0 -5
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.js +0 -29
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.js.map +0 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.d.ts +0 -29
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.js +0 -29
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.js.map +0 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.d.ts +0 -8
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.js +0 -35
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.js.map +0 -1
- package/build/openid4vc-verifier/repository/index.d.ts +0 -4
- package/build/openid4vc-verifier/repository/index.js +0 -21
- package/build/openid4vc-verifier/repository/index.js.map +0 -1
- package/build/openid4vc-verifier/router/authorizationEndpoint.d.ts +0 -11
- package/build/openid4vc-verifier/router/authorizationEndpoint.js +0 -102
- package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +0 -1
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.d.ts +0 -11
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js +0 -63
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js.map +0 -1
- package/build/openid4vc-verifier/router/index.d.ts +0 -2
- package/build/openid4vc-verifier/router/index.js +0 -6
- package/build/openid4vc-verifier/router/index.js.map +0 -1
- package/build/openid4vc-verifier/router/requestContext.d.ts +0 -5
- package/build/openid4vc-verifier/router/requestContext.js +0 -3
- package/build/openid4vc-verifier/router/requestContext.js.map +0 -1
- package/build/shared/callbacks.d.ts +0 -18
- package/build/shared/callbacks.js +0 -81
- package/build/shared/callbacks.js.map +0 -1
- package/build/shared/index.d.ts +0 -2
- package/build/shared/index.js +0 -19
- package/build/shared/index.js.map +0 -1
- package/build/shared/issuerMetadataUtils.d.ts +0 -158
- package/build/shared/issuerMetadataUtils.js +0 -38
- package/build/shared/issuerMetadataUtils.js.map +0 -1
- package/build/shared/models/CredentialHolderBinding.d.ts +0 -13
- package/build/shared/models/CredentialHolderBinding.js +0 -3
- package/build/shared/models/CredentialHolderBinding.js.map +0 -1
- package/build/shared/models/OpenId4VcJwtIssuer.d.ts +0 -28
- package/build/shared/models/OpenId4VcJwtIssuer.js +0 -3
- package/build/shared/models/OpenId4VcJwtIssuer.js.map +0 -1
- package/build/shared/models/OpenId4VciAuthorizationServerConfig.d.ts +0 -10
- package/build/shared/models/OpenId4VciAuthorizationServerConfig.js +0 -3
- package/build/shared/models/OpenId4VciAuthorizationServerConfig.js.map +0 -1
- package/build/shared/models/OpenId4VciCredentialFormatProfile.d.ts +0 -7
- package/build/shared/models/OpenId4VciCredentialFormatProfile.js +0 -12
- package/build/shared/models/OpenId4VciCredentialFormatProfile.js.map +0 -1
- package/build/shared/models/index.d.ts +0 -24
- package/build/shared/models/index.js +0 -25
- package/build/shared/models/index.js.map +0 -1
- package/build/shared/router/context.d.ts +0 -17
- package/build/shared/router/context.js +0 -76
- package/build/shared/router/context.js.map +0 -1
- package/build/shared/router/express.d.ts +0 -2
- package/build/shared/router/express.js +0 -15
- package/build/shared/router/express.js.map +0 -1
- package/build/shared/router/express.native.d.ts +0 -1
- package/build/shared/router/express.native.js +0 -7
- package/build/shared/router/express.native.js.map +0 -1
- package/build/shared/router/index.d.ts +0 -3
- package/build/shared/router/index.js +0 -20
- package/build/shared/router/index.js.map +0 -1
- package/build/shared/router/tenants.d.ts +0 -13
- package/build/shared/router/tenants.js +0 -49
- package/build/shared/router/tenants.js.map +0 -1
- package/build/shared/transform.d.ts +0 -5
- package/build/shared/transform.js +0 -73
- package/build/shared/transform.js.map +0 -1
- package/build/shared/utils.d.ts +0 -22
- package/build/shared/utils.js +0 -154
- package/build/shared/utils.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenId4vpHolderServiceOptions.d.mts","names":[],"sources":["../../src/openid4vc-holder/OpenId4vpHolderServiceOptions.ts"],"sourcesContent":[],"mappings":";;;;;;KAYY,0BAAA,GAA6B,YAAY;UAEpC,2CAAA;wBACO;EAHZ,MAAA,CAAA,EAAA,MAAA;AAEZ;AAGC,KAEI,kBAAA,GAAqB,WAAY,CAAA,qCAAA,CAAZ,KAAA,CAAA,CAAA;AAET,UAAA,qCAAA,CAAqC;EAMtC;;;;EAsBI,oBAAA,CAAA,EAAA;IAQW,UAAA,EA9Bf,iCA8Be;IAQnB,qBAAA,EArCe,2BAqCf;EACC,CAAA;EACD;;;;EA4BK,IAAA,CAAA,EAAA;IAMA,WAAA,EAjEA,eAiEA;EAQA,CAAA;EAaG;;;;;;;;;;oBAzEA;WACT;;;;;;+BAOoB;;;;;;;YAQnB;aACC;YACD;;;;;;oBAOQ;;;;uBAKG;;;;;;;UAgBN,0CAAA;;;;;;iBAMA;;;;;;;iBAQA;;;;;;;;;;;;oBAaG;;;;;;+BAOW"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { OpenId4VpAcceptAuthorizationRequestOptions, OpenId4VpResolvedAuthorizationRequest, ParsedTransactionDataEntry, ResolveOpenId4VpAuthorizationRequestOptions } from "./OpenId4vpHolderServiceOptions.mjs";
|
|
2
|
+
import { OpenId4VcAuthorizationCodeTokenRequestOptions, OpenId4VciAcceptCredentialOfferOptions, OpenId4VciAuthCodeFlowOptions, OpenId4VciAuthorizationFlow, OpenId4VciCredentialBindingOptions, OpenId4VciCredentialBindingResolver, OpenId4VciCredentialRequestOptions, OpenId4VciCredentialResponse, OpenId4VciDeferredCredentialRequestOptions, OpenId4VciDeferredCredentialResponse, OpenId4VciDpopRequestOptions, OpenId4VciNotificationEvent, OpenId4VciPreAuthorizedTokenRequestOptions, OpenId4VciProofOfPossessionRequirements, OpenId4VciProofOfPressionProofTypes, OpenId4VciRequestTokenResponse, OpenId4VciResolvedAuthorizationRequest, OpenId4VciResolvedCredentialOffer, OpenId4VciRetrieveAuthorizationCodeUsingPresentationOptions, OpenId4VciSendNotificationOptions, OpenId4VciSupportedCredentialFormats, OpenId4VciTokenRefreshOptions, OpenId4VciTokenRequestOptions, openId4VciSupportedCredentialFormats } from "./OpenId4VciHolderServiceOptions.mjs";
|
|
3
|
+
import { OpenId4VciHolderService } from "./OpenId4VciHolderService.mjs";
|
|
4
|
+
import { OpenId4VpHolderService } from "./OpenId4vpHolderService.mjs";
|
|
5
|
+
import { OpenId4VcHolderApi } from "./OpenId4VcHolderApi.mjs";
|
|
6
|
+
import { OpenId4VcHolderModule } from "./OpenId4VcHolderModule.mjs";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { OpenId4VciAuthorizationFlow, openId4VciSupportedCredentialFormats } from "./OpenId4VciHolderServiceOptions.mjs";
|
|
2
|
+
import { OpenId4VciHolderService } from "./OpenId4VciHolderService.mjs";
|
|
3
|
+
import { OpenId4VpHolderService } from "./OpenId4vpHolderService.mjs";
|
|
4
|
+
import { OpenId4VcHolderApi } from "./OpenId4VcHolderApi.mjs";
|
|
5
|
+
import { OpenId4VcHolderModule } from "./OpenId4VcHolderModule.mjs";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/openid4vc-issuer/OpenId4VcIssuanceSessionState.d.ts
|
|
2
|
+
declare enum OpenId4VcIssuanceSessionState {
|
|
3
|
+
OfferCreated = "OfferCreated",
|
|
4
|
+
OfferUriRetrieved = "OfferUriRetrieved",
|
|
5
|
+
AuthorizationInitiated = "AuthorizationInitiated",
|
|
6
|
+
AuthorizationGranted = "AuthorizationGranted",
|
|
7
|
+
AccessTokenRequested = "AccessTokenRequested",
|
|
8
|
+
AccessTokenCreated = "AccessTokenCreated",
|
|
9
|
+
CredentialRequestReceived = "CredentialRequestReceived",
|
|
10
|
+
CredentialsPartiallyIssued = "CredentialsPartiallyIssued",
|
|
11
|
+
Completed = "Completed",
|
|
12
|
+
Error = "Error",
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { OpenId4VcIssuanceSessionState };
|
|
16
|
+
//# sourceMappingURL=OpenId4VcIssuanceSessionState.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenId4VcIssuanceSessionState.d.mts","names":[],"sources":["../../src/openid4vc-issuer/OpenId4VcIssuanceSessionState.ts"],"sourcesContent":[],"mappings":";aAAY,6BAAA;EAAA,YAAA,GAAA,cAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/openid4vc-issuer/OpenId4VcIssuanceSessionState.ts
|
|
2
|
+
let OpenId4VcIssuanceSessionState = /* @__PURE__ */ function(OpenId4VcIssuanceSessionState$1) {
|
|
3
|
+
OpenId4VcIssuanceSessionState$1["OfferCreated"] = "OfferCreated";
|
|
4
|
+
OpenId4VcIssuanceSessionState$1["OfferUriRetrieved"] = "OfferUriRetrieved";
|
|
5
|
+
OpenId4VcIssuanceSessionState$1["AuthorizationInitiated"] = "AuthorizationInitiated";
|
|
6
|
+
OpenId4VcIssuanceSessionState$1["AuthorizationGranted"] = "AuthorizationGranted";
|
|
7
|
+
OpenId4VcIssuanceSessionState$1["AccessTokenRequested"] = "AccessTokenRequested";
|
|
8
|
+
OpenId4VcIssuanceSessionState$1["AccessTokenCreated"] = "AccessTokenCreated";
|
|
9
|
+
OpenId4VcIssuanceSessionState$1["CredentialRequestReceived"] = "CredentialRequestReceived";
|
|
10
|
+
OpenId4VcIssuanceSessionState$1["CredentialsPartiallyIssued"] = "CredentialsPartiallyIssued";
|
|
11
|
+
OpenId4VcIssuanceSessionState$1["Completed"] = "Completed";
|
|
12
|
+
OpenId4VcIssuanceSessionState$1["Error"] = "Error";
|
|
13
|
+
return OpenId4VcIssuanceSessionState$1;
|
|
14
|
+
}({});
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
export { OpenId4VcIssuanceSessionState };
|
|
18
|
+
//# sourceMappingURL=OpenId4VcIssuanceSessionState.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenId4VcIssuanceSessionState.mjs","names":[],"sources":["../../src/openid4vc-issuer/OpenId4VcIssuanceSessionState.ts"],"sourcesContent":["export enum OpenId4VcIssuanceSessionState {\n OfferCreated = 'OfferCreated',\n OfferUriRetrieved = 'OfferUriRetrieved',\n\n // Used with authorization code flow where Credo is the auth server\n AuthorizationInitiated = 'AuthorizationInitiated',\n AuthorizationGranted = 'AuthorizationGranted',\n\n // Used with pre-auth and auth code flow where Credo is the auth server\n AccessTokenRequested = 'AccessTokenRequested',\n AccessTokenCreated = 'AccessTokenCreated',\n\n CredentialRequestReceived = 'CredentialRequestReceived',\n CredentialsPartiallyIssued = 'CredentialsPartiallyIssued',\n Completed = 'Completed',\n Error = 'Error',\n}\n"],"mappings":";AAAA,IAAY,0FAAL;AACL;AACA;AAGA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { OpenId4VciCredentialConfigurationsSupportedWithFormats, OpenId4VciCredentialOfferPayload } from "../shared/models/index.mjs";
|
|
2
|
+
import { OpenId4VcIssuanceSessionRecord } from "./repository/OpenId4VcIssuanceSessionRecord.mjs";
|
|
3
|
+
import { OpenId4VcIssuerRecord } from "./repository/OpenId4VcIssuerRecord.mjs";
|
|
4
|
+
import "./repository/index.mjs";
|
|
5
|
+
import { OpenId4VcUpdateIssuerRecordOptions, OpenId4VciCreateCredentialOfferOptions, OpenId4VciCreateCredentialResponseOptions, OpenId4VciCreateDeferredCredentialResponseOptions, OpenId4VciCreateIssuerOptions, OpenId4VciCreateStatelessCredentialOfferOptions } from "./OpenId4VcIssuerServiceOptions.mjs";
|
|
6
|
+
import { OpenId4VcIssuerModuleConfig } from "./OpenId4VcIssuerModuleConfig.mjs";
|
|
7
|
+
import { OpenId4VcIssuerService } from "./OpenId4VcIssuerService.mjs";
|
|
8
|
+
import "../index.mjs";
|
|
9
|
+
import { AgentContext } from "@credo-ts/core";
|
|
10
|
+
import * as _openid4vc_oauth20 from "@openid4vc/oauth2";
|
|
11
|
+
import * as _openid4vc_openid4vci0 from "@openid4vc/openid4vci";
|
|
12
|
+
|
|
13
|
+
//#region src/openid4vc-issuer/OpenId4VcIssuerApi.d.ts
|
|
14
|
+
/**
|
|
15
|
+
* @public
|
|
16
|
+
* This class represents the API for interacting with the OpenID4VC Issuer service.
|
|
17
|
+
* It provides methods for creating a credential offer, creating a response to a credential issuance request,
|
|
18
|
+
* and retrieving a credential offer from a URI.
|
|
19
|
+
*/
|
|
20
|
+
declare class OpenId4VcIssuerApi {
|
|
21
|
+
readonly config: OpenId4VcIssuerModuleConfig;
|
|
22
|
+
private agentContext;
|
|
23
|
+
private openId4VcIssuerService;
|
|
24
|
+
constructor(config: OpenId4VcIssuerModuleConfig, agentContext: AgentContext, openId4VcIssuerService: OpenId4VcIssuerService);
|
|
25
|
+
getAllIssuers(): Promise<OpenId4VcIssuerRecord[]>;
|
|
26
|
+
getIssuerByIssuerId(issuerId: string): Promise<OpenId4VcIssuerRecord>;
|
|
27
|
+
/**
|
|
28
|
+
* Creates an issuer and stores the corresponding issuer metadata. Multiple issuers can be created, to allow different sets of
|
|
29
|
+
* credentials to be issued with each issuer.
|
|
30
|
+
*/
|
|
31
|
+
createIssuer(options: OpenId4VciCreateIssuerOptions): Promise<OpenId4VcIssuerRecord>;
|
|
32
|
+
/**
|
|
33
|
+
* Rotate the key used for signing access tokens for the issuer with the given issuerId.
|
|
34
|
+
*/
|
|
35
|
+
rotateAccessTokenSigningKey(issuerId: string): Promise<void>;
|
|
36
|
+
updateIssuerMetadata(options: OpenId4VcUpdateIssuerRecordOptions): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Creates a stateless credential offer. This can only be used with an external authorization server, as credo only supports stateful
|
|
39
|
+
* credential offers.
|
|
40
|
+
*/
|
|
41
|
+
createStatelessCredentialOffer(options: OpenId4VciCreateStatelessCredentialOfferOptions & {
|
|
42
|
+
issuerId: string;
|
|
43
|
+
}): Promise<{
|
|
44
|
+
credentialOffer: string;
|
|
45
|
+
credentialOfferObject: OpenId4VciCredentialOfferPayload;
|
|
46
|
+
}>;
|
|
47
|
+
/**
|
|
48
|
+
* Creates a credential offer. Either the preAuthorizedCodeFlowConfig or the authorizationCodeFlowConfig must be provided.
|
|
49
|
+
*
|
|
50
|
+
* @returns Object containing the payload of the credential offer and the credential offer request, which can be sent to the wallet.
|
|
51
|
+
*/
|
|
52
|
+
createCredentialOffer(options: OpenId4VciCreateCredentialOfferOptions & {
|
|
53
|
+
issuerId: string;
|
|
54
|
+
}): Promise<{
|
|
55
|
+
issuanceSession: OpenId4VcIssuanceSessionRecord;
|
|
56
|
+
credentialOffer: string;
|
|
57
|
+
}>;
|
|
58
|
+
/**
|
|
59
|
+
* This function creates a response which can be sent to the holder after receiving a credential issuance request.
|
|
60
|
+
*/
|
|
61
|
+
createCredentialResponse(options: OpenId4VciCreateCredentialResponseOptions & {
|
|
62
|
+
issuanceSessionId: string;
|
|
63
|
+
}): Promise<{
|
|
64
|
+
issuanceSession: OpenId4VcIssuanceSessionRecord;
|
|
65
|
+
credentialResponse: _openid4vc_openid4vci0.CredentialResponse;
|
|
66
|
+
}>;
|
|
67
|
+
/**
|
|
68
|
+
* This function creates a response which can be sent to the holder after receiving a deferred credential issuance request.
|
|
69
|
+
*/
|
|
70
|
+
createDeferredCredentialResponse(options: OpenId4VciCreateDeferredCredentialResponseOptions & {
|
|
71
|
+
issuanceSessionId: string;
|
|
72
|
+
}): Promise<{
|
|
73
|
+
issuanceSession: OpenId4VcIssuanceSessionRecord;
|
|
74
|
+
deferredCredentialResponse: _openid4vc_openid4vci0.DeferredCredentialResponse;
|
|
75
|
+
}>;
|
|
76
|
+
getIssuerMetadata(issuerId: string): Promise<{
|
|
77
|
+
originalDraftVersion: _openid4vc_openid4vci0.Openid4vciDraftVersion;
|
|
78
|
+
credentialIssuer: {
|
|
79
|
+
credential_issuer: string;
|
|
80
|
+
credential_endpoint: string;
|
|
81
|
+
deferred_credential_endpoint: string;
|
|
82
|
+
credential_configurations_supported: OpenId4VciCredentialConfigurationsSupportedWithFormats;
|
|
83
|
+
authorization_servers: string[] | undefined;
|
|
84
|
+
display: {
|
|
85
|
+
[x: string]: unknown;
|
|
86
|
+
name?: string | undefined;
|
|
87
|
+
locale?: string | undefined;
|
|
88
|
+
logo?: {
|
|
89
|
+
[x: string]: unknown;
|
|
90
|
+
uri?: string | undefined;
|
|
91
|
+
alt_text?: string | undefined;
|
|
92
|
+
} | undefined;
|
|
93
|
+
}[] | undefined;
|
|
94
|
+
nonce_endpoint: string;
|
|
95
|
+
batch_credential_issuance: {
|
|
96
|
+
batch_size: number;
|
|
97
|
+
} | undefined;
|
|
98
|
+
};
|
|
99
|
+
authorizationServers: ({
|
|
100
|
+
[x: string]: unknown;
|
|
101
|
+
issuer: string;
|
|
102
|
+
token_endpoint: string;
|
|
103
|
+
token_endpoint_auth_methods_supported?: string[] | undefined;
|
|
104
|
+
authorization_endpoint?: string | undefined;
|
|
105
|
+
jwks_uri?: string | undefined;
|
|
106
|
+
grant_types_supported?: string[] | undefined;
|
|
107
|
+
code_challenge_methods_supported?: string[] | undefined;
|
|
108
|
+
dpop_signing_alg_values_supported?: string[] | undefined;
|
|
109
|
+
require_pushed_authorization_requests?: boolean | undefined;
|
|
110
|
+
pushed_authorization_request_endpoint?: string | undefined;
|
|
111
|
+
introspection_endpoint?: string | undefined;
|
|
112
|
+
introspection_endpoint_auth_methods_supported?: string[] | undefined;
|
|
113
|
+
introspection_endpoint_auth_signing_alg_values_supported?: string[] | undefined;
|
|
114
|
+
authorization_challenge_endpoint?: string | undefined;
|
|
115
|
+
'pre-authorized_grant_anonymous_access_supported'?: boolean | undefined;
|
|
116
|
+
client_attestation_pop_nonce_required?: boolean | undefined;
|
|
117
|
+
} | {
|
|
118
|
+
issuer: string;
|
|
119
|
+
token_endpoint: string;
|
|
120
|
+
'pre-authorized_grant_anonymous_access_supported': true;
|
|
121
|
+
jwks_uri: string;
|
|
122
|
+
grant_types_supported: ("authorization_code" | "urn:ietf:params:oauth:grant-type:pre-authorized_code")[];
|
|
123
|
+
authorization_challenge_endpoint: string;
|
|
124
|
+
authorization_endpoint: string;
|
|
125
|
+
pushed_authorization_request_endpoint: string;
|
|
126
|
+
require_pushed_authorization_requests: true;
|
|
127
|
+
code_challenge_methods_supported: _openid4vc_oauth20.PkceCodeChallengeMethod[];
|
|
128
|
+
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;
|
|
129
|
+
})[];
|
|
130
|
+
knownCredentialConfigurations: OpenId4VciCredentialConfigurationsSupportedWithFormats;
|
|
131
|
+
signedMetadataJwt: string | undefined;
|
|
132
|
+
}>;
|
|
133
|
+
getIssuanceSessionById(issuanceSessionId: string): Promise<OpenId4VcIssuanceSessionRecord>;
|
|
134
|
+
}
|
|
135
|
+
//#endregion
|
|
136
|
+
export { OpenId4VcIssuerApi };
|
|
137
|
+
//# sourceMappingURL=OpenId4VcIssuerApi.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenId4VcIssuerApi.d.mts","names":[],"sources":["../../src/openid4vc-issuer/OpenId4VcIssuerApi.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;cAmBa,kBAAA;mBAEe;;EAFf,QAAA,sBAAkB;EAEH,WAAA,CAAA,MAAA,EAAA,2BAAA,EAAA,YAAA,EACF,YADE,EAAA,sBAAA,EAEQ,sBAFR;EAAA,aAAA,CAAA,CAAA,EAKA,OALA,CAE8B,qBAAA,EAF9B,CAAA;EACF,mBAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAQyB,OARzB,CAIE,qBAAA,CAJF;EACU;;;;EAOe,YAAA,CAAA,OAAA,EAQd,6BARc,CAAA,EAQe,OARf,CAQe,qBAAA,CARf;EAQd;;;EAOsB,2BAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA,CAAA,IAAA,CAAA;EAKd,oBAAA,CAAA,OAAA,EAAA,kCAAA,CAAA,EAAkC,OAAlC,CAAA,IAAA,CAAA;EAAkC;;;;EAsCjC,8BAAA,CAAA,OAAA,EAZjC,+CAYiC,GAAA;IAAsC,QAAA,EAAA,MAAA;EAAuB,CAAA,CAAA,EAZxB,OAYwB,CAAA;IAU9F,eAAA,EAAA,MAAA;IAAyC,qBAAA,EAtBM,gCAsBN;;EAAgC;;;;;EAeQ,qBAAA,CAAA,OAAA,EAzBhD,sCAyBgD,GAAA;;MAzBa;qBAAvB;IAuCnC,eAAA,EAAA,MAAA;EAAA,CAAA,CAAA;EAKc;;;oCAlClD;;MAAyE;qBAAhC;;;;;;4CAezC;;MAAiF;qBAAhC;;;uCAcb;0BAd6C,sBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qDAmB/B,QALd,8BAAA"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { OpenId4VcIssuerModuleConfig } from "./OpenId4VcIssuerModuleConfig.mjs";
|
|
2
|
+
import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs";
|
|
3
|
+
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs";
|
|
4
|
+
import { OpenId4VcIssuerService } from "./OpenId4VcIssuerService.mjs";
|
|
5
|
+
import { AgentContext, injectable } from "@credo-ts/core";
|
|
6
|
+
|
|
7
|
+
//#region src/openid4vc-issuer/OpenId4VcIssuerApi.ts
|
|
8
|
+
var _ref, _ref2, _ref3;
|
|
9
|
+
let OpenId4VcIssuerApi = class OpenId4VcIssuerApi$1 {
|
|
10
|
+
constructor(config, agentContext, openId4VcIssuerService) {
|
|
11
|
+
this.config = config;
|
|
12
|
+
this.agentContext = agentContext;
|
|
13
|
+
this.openId4VcIssuerService = openId4VcIssuerService;
|
|
14
|
+
}
|
|
15
|
+
async getAllIssuers() {
|
|
16
|
+
return this.openId4VcIssuerService.getAllIssuers(this.agentContext);
|
|
17
|
+
}
|
|
18
|
+
async getIssuerByIssuerId(issuerId) {
|
|
19
|
+
return this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Creates an issuer and stores the corresponding issuer metadata. Multiple issuers can be created, to allow different sets of
|
|
23
|
+
* credentials to be issued with each issuer.
|
|
24
|
+
*/
|
|
25
|
+
async createIssuer(options) {
|
|
26
|
+
return this.openId4VcIssuerService.createIssuer(this.agentContext, options);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Rotate the key used for signing access tokens for the issuer with the given issuerId.
|
|
30
|
+
*/
|
|
31
|
+
async rotateAccessTokenSigningKey(issuerId) {
|
|
32
|
+
const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId);
|
|
33
|
+
return this.openId4VcIssuerService.rotateAccessTokenSigningKey(this.agentContext, issuer);
|
|
34
|
+
}
|
|
35
|
+
async updateIssuerMetadata(options) {
|
|
36
|
+
const { issuerId, credentialConfigurationsSupported, display, dpopSigningAlgValuesSupported, batchCredentialIssuance, authorizationServerConfigs } = options;
|
|
37
|
+
const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId);
|
|
38
|
+
issuer.credentialConfigurationsSupported = credentialConfigurationsSupported;
|
|
39
|
+
issuer.display = display;
|
|
40
|
+
issuer.dpopSigningAlgValuesSupported = dpopSigningAlgValuesSupported;
|
|
41
|
+
issuer.batchCredentialIssuance = batchCredentialIssuance;
|
|
42
|
+
issuer.authorizationServerConfigs = authorizationServerConfigs;
|
|
43
|
+
return this.openId4VcIssuerService.updateIssuer(this.agentContext, issuer);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Creates a stateless credential offer. This can only be used with an external authorization server, as credo only supports stateful
|
|
47
|
+
* credential offers.
|
|
48
|
+
*/
|
|
49
|
+
async createStatelessCredentialOffer(options) {
|
|
50
|
+
const { issuerId, ...rest } = options;
|
|
51
|
+
const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId);
|
|
52
|
+
return await this.openId4VcIssuerService.createStatelessCredentialOffer(this.agentContext, {
|
|
53
|
+
...rest,
|
|
54
|
+
issuer
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Creates a credential offer. Either the preAuthorizedCodeFlowConfig or the authorizationCodeFlowConfig must be provided.
|
|
59
|
+
*
|
|
60
|
+
* @returns Object containing the payload of the credential offer and the credential offer request, which can be sent to the wallet.
|
|
61
|
+
*/
|
|
62
|
+
async createCredentialOffer(options) {
|
|
63
|
+
const { issuerId, ...rest } = options;
|
|
64
|
+
const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId);
|
|
65
|
+
return await this.openId4VcIssuerService.createCredentialOffer(this.agentContext, {
|
|
66
|
+
...rest,
|
|
67
|
+
issuer
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* This function creates a response which can be sent to the holder after receiving a credential issuance request.
|
|
72
|
+
*/
|
|
73
|
+
async createCredentialResponse(options) {
|
|
74
|
+
const { issuanceSessionId, ...rest } = options;
|
|
75
|
+
const issuanceSession = await this.openId4VcIssuerService.getIssuanceSessionById(this.agentContext, issuanceSessionId);
|
|
76
|
+
return await this.openId4VcIssuerService.createCredentialResponse(this.agentContext, {
|
|
77
|
+
...rest,
|
|
78
|
+
issuanceSession
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* This function creates a response which can be sent to the holder after receiving a deferred credential issuance request.
|
|
83
|
+
*/
|
|
84
|
+
async createDeferredCredentialResponse(options) {
|
|
85
|
+
const { issuanceSessionId, ...rest } = options;
|
|
86
|
+
const issuanceSession = await this.openId4VcIssuerService.getIssuanceSessionById(this.agentContext, issuanceSessionId);
|
|
87
|
+
return await this.openId4VcIssuerService.createDeferredCredentialResponse(this.agentContext, {
|
|
88
|
+
...rest,
|
|
89
|
+
issuanceSession
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
async getIssuerMetadata(issuerId) {
|
|
93
|
+
const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId);
|
|
94
|
+
return this.openId4VcIssuerService.getIssuerMetadata(this.agentContext, issuer);
|
|
95
|
+
}
|
|
96
|
+
async getIssuanceSessionById(issuanceSessionId) {
|
|
97
|
+
return this.openId4VcIssuerService.getIssuanceSessionById(this.agentContext, issuanceSessionId);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
OpenId4VcIssuerApi = __decorate([injectable(), __decorateMetadata("design:paramtypes", [
|
|
101
|
+
typeof (_ref = typeof OpenId4VcIssuerModuleConfig !== "undefined" && OpenId4VcIssuerModuleConfig) === "function" ? _ref : Object,
|
|
102
|
+
typeof (_ref2 = typeof AgentContext !== "undefined" && AgentContext) === "function" ? _ref2 : Object,
|
|
103
|
+
typeof (_ref3 = typeof OpenId4VcIssuerService !== "undefined" && OpenId4VcIssuerService) === "function" ? _ref3 : Object
|
|
104
|
+
])], OpenId4VcIssuerApi);
|
|
105
|
+
|
|
106
|
+
//#endregion
|
|
107
|
+
export { OpenId4VcIssuerApi };
|
|
108
|
+
//# sourceMappingURL=OpenId4VcIssuerApi.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenId4VcIssuerApi.mjs","names":["OpenId4VcIssuerApi","config: OpenId4VcIssuerModuleConfig","agentContext: AgentContext","openId4VcIssuerService: OpenId4VcIssuerService"],"sources":["../../src/openid4vc-issuer/OpenId4VcIssuerApi.ts"],"sourcesContent":["import { AgentContext, injectable } from '@credo-ts/core'\nimport { OpenId4VcIssuerModuleConfig } from './OpenId4VcIssuerModuleConfig'\nimport { OpenId4VcIssuerService } from './OpenId4VcIssuerService'\nimport type {\n OpenId4VciCreateCredentialOfferOptions,\n OpenId4VciCreateCredentialResponseOptions,\n OpenId4VciCreateDeferredCredentialResponseOptions,\n OpenId4VciCreateIssuerOptions,\n OpenId4VciCreateStatelessCredentialOfferOptions,\n OpenId4VcUpdateIssuerRecordOptions,\n} from './OpenId4VcIssuerServiceOptions'\n\n/**\n * @public\n * This class represents the API for interacting with the OpenID4VC Issuer service.\n * It provides methods for creating a credential offer, creating a response to a credential issuance request,\n * and retrieving a credential offer from a URI.\n */\n@injectable()\nexport class OpenId4VcIssuerApi {\n public constructor(\n public readonly config: OpenId4VcIssuerModuleConfig,\n private agentContext: AgentContext,\n private openId4VcIssuerService: OpenId4VcIssuerService\n ) {}\n\n public async getAllIssuers() {\n return this.openId4VcIssuerService.getAllIssuers(this.agentContext)\n }\n\n public async getIssuerByIssuerId(issuerId: string) {\n return this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId)\n }\n\n /**\n * Creates an issuer and stores the corresponding issuer metadata. Multiple issuers can be created, to allow different sets of\n * credentials to be issued with each issuer.\n */\n public async createIssuer(options: OpenId4VciCreateIssuerOptions) {\n return this.openId4VcIssuerService.createIssuer(this.agentContext, options)\n }\n\n /**\n * Rotate the key used for signing access tokens for the issuer with the given issuerId.\n */\n public async rotateAccessTokenSigningKey(issuerId: string) {\n const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId)\n return this.openId4VcIssuerService.rotateAccessTokenSigningKey(this.agentContext, issuer)\n }\n\n public async updateIssuerMetadata(options: OpenId4VcUpdateIssuerRecordOptions) {\n const {\n issuerId,\n credentialConfigurationsSupported,\n display,\n dpopSigningAlgValuesSupported,\n batchCredentialIssuance,\n authorizationServerConfigs,\n } = options\n\n const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId)\n\n issuer.credentialConfigurationsSupported = credentialConfigurationsSupported\n issuer.display = display\n issuer.dpopSigningAlgValuesSupported = dpopSigningAlgValuesSupported\n issuer.batchCredentialIssuance = batchCredentialIssuance\n issuer.authorizationServerConfigs = authorizationServerConfigs\n\n return this.openId4VcIssuerService.updateIssuer(this.agentContext, issuer)\n }\n\n /**\n * Creates a stateless credential offer. This can only be used with an external authorization server, as credo only supports stateful\n * credential offers.\n */\n public async createStatelessCredentialOffer(\n options: OpenId4VciCreateStatelessCredentialOfferOptions & { issuerId: string }\n ) {\n const { issuerId, ...rest } = options\n const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId)\n return await this.openId4VcIssuerService.createStatelessCredentialOffer(this.agentContext, { ...rest, issuer })\n }\n\n /**\n * Creates a credential offer. Either the preAuthorizedCodeFlowConfig or the authorizationCodeFlowConfig must be provided.\n *\n * @returns Object containing the payload of the credential offer and the credential offer request, which can be sent to the wallet.\n */\n public async createCredentialOffer(options: OpenId4VciCreateCredentialOfferOptions & { issuerId: string }) {\n const { issuerId, ...rest } = options\n const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId)\n return await this.openId4VcIssuerService.createCredentialOffer(this.agentContext, { ...rest, issuer })\n }\n\n /**\n * This function creates a response which can be sent to the holder after receiving a credential issuance request.\n */\n public async createCredentialResponse(\n options: OpenId4VciCreateCredentialResponseOptions & { issuanceSessionId: string }\n ) {\n const { issuanceSessionId, ...rest } = options\n const issuanceSession = await this.openId4VcIssuerService.getIssuanceSessionById(\n this.agentContext,\n issuanceSessionId\n )\n\n return await this.openId4VcIssuerService.createCredentialResponse(this.agentContext, { ...rest, issuanceSession })\n }\n\n /**\n * This function creates a response which can be sent to the holder after receiving a deferred credential issuance request.\n */\n public async createDeferredCredentialResponse(\n options: OpenId4VciCreateDeferredCredentialResponseOptions & { issuanceSessionId: string }\n ) {\n const { issuanceSessionId, ...rest } = options\n const issuanceSession = await this.openId4VcIssuerService.getIssuanceSessionById(\n this.agentContext,\n issuanceSessionId\n )\n\n return await this.openId4VcIssuerService.createDeferredCredentialResponse(this.agentContext, {\n ...rest,\n issuanceSession,\n })\n }\n\n public async getIssuerMetadata(issuerId: string) {\n const issuer = await this.openId4VcIssuerService.getIssuerByIssuerId(this.agentContext, issuerId)\n return this.openId4VcIssuerService.getIssuerMetadata(this.agentContext, issuer)\n }\n\n public async getIssuanceSessionById(issuanceSessionId: string) {\n return this.openId4VcIssuerService.getIssuanceSessionById(this.agentContext, issuanceSessionId)\n }\n}\n"],"mappings":";;;;;;;;AAmBO,+BAAMA,qBAAmB;CAC9B,AAAO,YACL,AAAgBC,QAChB,AAAQC,cACR,AAAQC,wBACR;EAHgB;EACR;EACA;;CAGV,MAAa,gBAAgB;AAC3B,SAAO,KAAK,uBAAuB,cAAc,KAAK,aAAa;;CAGrE,MAAa,oBAAoB,UAAkB;AACjD,SAAO,KAAK,uBAAuB,oBAAoB,KAAK,cAAc,SAAS;;;;;;CAOrF,MAAa,aAAa,SAAwC;AAChE,SAAO,KAAK,uBAAuB,aAAa,KAAK,cAAc,QAAQ;;;;;CAM7E,MAAa,4BAA4B,UAAkB;EACzD,MAAM,SAAS,MAAM,KAAK,uBAAuB,oBAAoB,KAAK,cAAc,SAAS;AACjG,SAAO,KAAK,uBAAuB,4BAA4B,KAAK,cAAc,OAAO;;CAG3F,MAAa,qBAAqB,SAA6C;EAC7E,MAAM,EACJ,UACA,mCACA,SACA,+BACA,yBACA,+BACE;EAEJ,MAAM,SAAS,MAAM,KAAK,uBAAuB,oBAAoB,KAAK,cAAc,SAAS;AAEjG,SAAO,oCAAoC;AAC3C,SAAO,UAAU;AACjB,SAAO,gCAAgC;AACvC,SAAO,0BAA0B;AACjC,SAAO,6BAA6B;AAEpC,SAAO,KAAK,uBAAuB,aAAa,KAAK,cAAc,OAAO;;;;;;CAO5E,MAAa,+BACX,SACA;EACA,MAAM,EAAE,UAAU,GAAG,SAAS;EAC9B,MAAM,SAAS,MAAM,KAAK,uBAAuB,oBAAoB,KAAK,cAAc,SAAS;AACjG,SAAO,MAAM,KAAK,uBAAuB,+BAA+B,KAAK,cAAc;GAAE,GAAG;GAAM;GAAQ,CAAC;;;;;;;CAQjH,MAAa,sBAAsB,SAAwE;EACzG,MAAM,EAAE,UAAU,GAAG,SAAS;EAC9B,MAAM,SAAS,MAAM,KAAK,uBAAuB,oBAAoB,KAAK,cAAc,SAAS;AACjG,SAAO,MAAM,KAAK,uBAAuB,sBAAsB,KAAK,cAAc;GAAE,GAAG;GAAM;GAAQ,CAAC;;;;;CAMxG,MAAa,yBACX,SACA;EACA,MAAM,EAAE,mBAAmB,GAAG,SAAS;EACvC,MAAM,kBAAkB,MAAM,KAAK,uBAAuB,uBACxD,KAAK,cACL,kBACD;AAED,SAAO,MAAM,KAAK,uBAAuB,yBAAyB,KAAK,cAAc;GAAE,GAAG;GAAM;GAAiB,CAAC;;;;;CAMpH,MAAa,iCACX,SACA;EACA,MAAM,EAAE,mBAAmB,GAAG,SAAS;EACvC,MAAM,kBAAkB,MAAM,KAAK,uBAAuB,uBACxD,KAAK,cACL,kBACD;AAED,SAAO,MAAM,KAAK,uBAAuB,iCAAiC,KAAK,cAAc;GAC3F,GAAG;GACH;GACD,CAAC;;CAGJ,MAAa,kBAAkB,UAAkB;EAC/C,MAAM,SAAS,MAAM,KAAK,uBAAuB,oBAAoB,KAAK,cAAc,SAAS;AACjG,SAAO,KAAK,uBAAuB,kBAAkB,KAAK,cAAc,OAAO;;CAGjF,MAAa,uBAAuB,mBAA2B;AAC7D,SAAO,KAAK,uBAAuB,uBAAuB,KAAK,cAAc,kBAAkB;;;iCAnHlG,YAAY"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { OpenId4VcIssuanceSessionState } from "./OpenId4VcIssuanceSessionState.mjs";
|
|
2
|
+
import { OpenId4VcIssuanceSessionRecord } from "./repository/OpenId4VcIssuanceSessionRecord.mjs";
|
|
3
|
+
import "./repository/index.mjs";
|
|
4
|
+
import { BaseEvent } from "@credo-ts/core";
|
|
5
|
+
|
|
6
|
+
//#region src/openid4vc-issuer/OpenId4VcIssuerEvents.d.ts
|
|
7
|
+
declare enum OpenId4VcIssuerEvents {
|
|
8
|
+
IssuanceSessionStateChanged = "OpenId4VcIssuer.IssuanceSessionStateChanged",
|
|
9
|
+
}
|
|
10
|
+
interface OpenId4VcIssuanceSessionStateChangedEvent extends BaseEvent {
|
|
11
|
+
type: typeof OpenId4VcIssuerEvents.IssuanceSessionStateChanged;
|
|
12
|
+
payload: {
|
|
13
|
+
issuanceSession: OpenId4VcIssuanceSessionRecord;
|
|
14
|
+
previousState: OpenId4VcIssuanceSessionState | null;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { OpenId4VcIssuanceSessionStateChangedEvent, OpenId4VcIssuerEvents };
|
|
19
|
+
//# sourceMappingURL=OpenId4VcIssuerEvents.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenId4VcIssuerEvents.d.mts","names":[],"sources":["../../src/openid4vc-issuer/OpenId4VcIssuerEvents.ts"],"sourcesContent":[],"mappings":";;;;;;aAIY,qBAAA;;;AAAA,UAIK,yCAAA,SAAkD,SAJlC,CAAA;EAIhB,IAAA,EAAA,OACF,qBAAA,CAAsB,2BADsB;EAC5C,OAAA,EAAA;IAEM,eAAA,EAAA,8BAAA;IACF,aAAA,EAAA,6BAAA,GAAA,IAAA;EAJgD,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/openid4vc-issuer/OpenId4VcIssuerEvents.ts
|
|
2
|
+
let OpenId4VcIssuerEvents = /* @__PURE__ */ function(OpenId4VcIssuerEvents$1) {
|
|
3
|
+
OpenId4VcIssuerEvents$1["IssuanceSessionStateChanged"] = "OpenId4VcIssuer.IssuanceSessionStateChanged";
|
|
4
|
+
return OpenId4VcIssuerEvents$1;
|
|
5
|
+
}({});
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { OpenId4VcIssuerEvents };
|
|
9
|
+
//# sourceMappingURL=OpenId4VcIssuerEvents.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenId4VcIssuerEvents.mjs","names":[],"sources":["../../src/openid4vc-issuer/OpenId4VcIssuerEvents.ts"],"sourcesContent":["import type { BaseEvent } from '@credo-ts/core'\nimport type { OpenId4VcIssuanceSessionState } from './OpenId4VcIssuanceSessionState'\nimport type { OpenId4VcIssuanceSessionRecord } from './repository'\n\nexport enum OpenId4VcIssuerEvents {\n IssuanceSessionStateChanged = 'OpenId4VcIssuer.IssuanceSessionStateChanged',\n}\n\nexport interface OpenId4VcIssuanceSessionStateChangedEvent extends BaseEvent {\n type: typeof OpenId4VcIssuerEvents.IssuanceSessionStateChanged\n payload: {\n issuanceSession: OpenId4VcIssuanceSessionRecord\n previousState: OpenId4VcIssuanceSessionState | null\n }\n}\n"],"mappings":";AAIA,IAAY,0EAAL;AACL"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { InternalOpenId4VcIssuerModuleConfigOptions, OpenId4VcIssuerModuleConfig } from "./OpenId4VcIssuerModuleConfig.mjs";
|
|
2
|
+
import { AgentContext, DependencyManager, Module } from "@credo-ts/core";
|
|
3
|
+
|
|
4
|
+
//#region src/openid4vc-issuer/OpenId4VcIssuerModule.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
declare class OpenId4VcIssuerModule implements Module {
|
|
10
|
+
readonly config: OpenId4VcIssuerModuleConfig;
|
|
11
|
+
constructor(options: InternalOpenId4VcIssuerModuleConfigOptions | OpenId4VcIssuerModuleConfig);
|
|
12
|
+
/**
|
|
13
|
+
* Registers the dependencies of the openid4vc issuer module on the dependency manager.
|
|
14
|
+
*/
|
|
15
|
+
register(dependencyManager: DependencyManager): void;
|
|
16
|
+
initialize(rootAgentContext: AgentContext): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Registers the endpoints on the router passed to this module.
|
|
19
|
+
*/
|
|
20
|
+
private configureRouter;
|
|
21
|
+
private getIssuerIdParamHandler;
|
|
22
|
+
private registerWellKnownRoutes;
|
|
23
|
+
private registerIssuerRoutes;
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { OpenId4VcIssuerModule };
|
|
27
|
+
//# sourceMappingURL=OpenId4VcIssuerModule.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenId4VcIssuerModule.d.mts","names":[],"sources":["../../src/openid4vc-issuer/OpenId4VcIssuerModule.ts"],"sourcesContent":[],"mappings":";;;;;;AA4BA;;AAG8B,cAHjB,qBAAA,YAAiC,MAGhB,CAAA;EAA6C,SAAA,MAAA,EAFjD,2BAEiD;EAOtC,WAAA,CAAA,OAAA,EAPP,0CAOO,GAPsC,2BAOtC;EAgBO;;;EA1BQ,QAAA,CAAA,iBAAA,EAUf,iBAVe,CAAA,EAAA,IAAA;+BA0BR,eAAe"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { OpenId4VcIssuerModuleConfig } from "./OpenId4VcIssuerModuleConfig.mjs";
|
|
2
|
+
import { getRequestContext } from "../shared/router/context.mjs";
|
|
3
|
+
import { importExpress } from "../shared/router/express.mjs";
|
|
4
|
+
import { getAgentContextForActorId } from "../shared/router/tenants.mjs";
|
|
5
|
+
import "../shared/router/index.mjs";
|
|
6
|
+
import { OpenId4VcIssuanceSessionRepository } from "./repository/OpenId4VcIssuanceSessionRepository.mjs";
|
|
7
|
+
import { OpenId4VcIssuerRepository } from "./repository/OpenId4VcIssuerRepository.mjs";
|
|
8
|
+
import "./repository/index.mjs";
|
|
9
|
+
import { OpenId4VcIssuerService } from "./OpenId4VcIssuerService.mjs";
|
|
10
|
+
import { OpenId4VcIssuerApi } from "./OpenId4VcIssuerApi.mjs";
|
|
11
|
+
import { configureAccessTokenEndpoint } from "./router/accessTokenEndpoint.mjs";
|
|
12
|
+
import { configurePushedAuthorizationRequestEndpoint } from "./router/pushedAuthorizationRequestEndpoint.mjs";
|
|
13
|
+
import { configureAuthorizationChallengeEndpoint } from "./router/authorizationChallengeEndpoint.mjs";
|
|
14
|
+
import { configureAuthorizationEndpoint } from "./router/authorizationEndpoint.mjs";
|
|
15
|
+
import { configureOAuthAuthorizationServerMetadataEndpoint } from "./router/authorizationServerMetadataEndpoint.mjs";
|
|
16
|
+
import { configureCredentialEndpoint } from "./router/credentialEndpoint.mjs";
|
|
17
|
+
import { configureCredentialOfferEndpoint } from "./router/credentialOfferEndpoint.mjs";
|
|
18
|
+
import { configureDeferredCredentialEndpoint } from "./router/deferredCredentialEndpoint.mjs";
|
|
19
|
+
import { configureIssuerMetadataEndpoint } from "./router/issuerMetadataEndpoint.mjs";
|
|
20
|
+
import { configureJwksEndpoint } from "./router/jwksEndpoint.mjs";
|
|
21
|
+
import { configureNonceEndpoint } from "./router/nonceEndpoint.mjs";
|
|
22
|
+
import { configureRedirectEndpoint } from "./router/redirectEndpoint.mjs";
|
|
23
|
+
import "./router/index.mjs";
|
|
24
|
+
import { joinUriParts } from "@credo-ts/core";
|
|
25
|
+
|
|
26
|
+
//#region src/openid4vc-issuer/OpenId4VcIssuerModule.ts
|
|
27
|
+
/**
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
var OpenId4VcIssuerModule = class {
|
|
31
|
+
constructor(options) {
|
|
32
|
+
this.getIssuerIdParamHandler = (rootAgentContext) => async (req, res, next, issuerId) => {
|
|
33
|
+
if (!issuerId) {
|
|
34
|
+
rootAgentContext.config.logger.debug("No issuerId provided for incoming oid4vci request, returning 404");
|
|
35
|
+
return res.status(404).send("Not found");
|
|
36
|
+
}
|
|
37
|
+
let agentContext;
|
|
38
|
+
try {
|
|
39
|
+
agentContext = await getAgentContextForActorId(rootAgentContext, issuerId);
|
|
40
|
+
const issuer = await agentContext.dependencyManager.resolve(OpenId4VcIssuerApi).getIssuerByIssuerId(issuerId);
|
|
41
|
+
req.requestContext = {
|
|
42
|
+
agentContext,
|
|
43
|
+
issuer
|
|
44
|
+
};
|
|
45
|
+
} catch (error) {
|
|
46
|
+
agentContext?.config.logger.error("Failed to correlate incoming oid4vci request to existing tenant and issuer", { error });
|
|
47
|
+
await agentContext?.endSession();
|
|
48
|
+
return res.status(404).send("Not found");
|
|
49
|
+
}
|
|
50
|
+
next();
|
|
51
|
+
};
|
|
52
|
+
this.config = options instanceof OpenId4VcIssuerModuleConfig ? options : new OpenId4VcIssuerModuleConfig(options);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Registers the dependencies of the openid4vc issuer module on the dependency manager.
|
|
56
|
+
*/
|
|
57
|
+
register(dependencyManager) {
|
|
58
|
+
dependencyManager.registerContextScoped(OpenId4VcIssuerApi);
|
|
59
|
+
dependencyManager.registerInstance(OpenId4VcIssuerModuleConfig, this.config);
|
|
60
|
+
dependencyManager.registerSingleton(OpenId4VcIssuerService);
|
|
61
|
+
dependencyManager.registerSingleton(OpenId4VcIssuerRepository);
|
|
62
|
+
dependencyManager.registerSingleton(OpenId4VcIssuanceSessionRepository);
|
|
63
|
+
}
|
|
64
|
+
async initialize(rootAgentContext) {
|
|
65
|
+
this.configureRouter(rootAgentContext);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Registers the endpoints on the router passed to this module.
|
|
69
|
+
*/
|
|
70
|
+
configureRouter(rootAgentContext) {
|
|
71
|
+
this.registerWellKnownRoutes(rootAgentContext);
|
|
72
|
+
this.registerIssuerRoutes(rootAgentContext);
|
|
73
|
+
}
|
|
74
|
+
registerWellKnownRoutes(rootAgentContext) {
|
|
75
|
+
const issuerIdParamHandler = this.getIssuerIdParamHandler(rootAgentContext);
|
|
76
|
+
const { Router } = importExpress();
|
|
77
|
+
const wellKnownEndpointsRouter = Router();
|
|
78
|
+
const basePath = new URL(this.config.baseUrl).pathname;
|
|
79
|
+
const issuerPath = joinUriParts(basePath, [":issuerId"]);
|
|
80
|
+
const openidCredentialIssuerPath = joinUriParts("/.well-known/openid-credential-issuer", [issuerPath]);
|
|
81
|
+
const oauthAuthorizationServerPath = joinUriParts("/.well-known/oauth-authorization-server", [issuerPath]);
|
|
82
|
+
wellKnownEndpointsRouter.param("issuerId", issuerIdParamHandler);
|
|
83
|
+
configureIssuerMetadataEndpoint(wellKnownEndpointsRouter, openidCredentialIssuerPath);
|
|
84
|
+
configureOAuthAuthorizationServerMetadataEndpoint(wellKnownEndpointsRouter, oauthAuthorizationServerPath);
|
|
85
|
+
wellKnownEndpointsRouter.use(async (req, _res, next) => {
|
|
86
|
+
const { agentContext } = getRequestContext(req);
|
|
87
|
+
await agentContext.endSession();
|
|
88
|
+
next();
|
|
89
|
+
});
|
|
90
|
+
wellKnownEndpointsRouter.use(async (_error, req, res, next) => {
|
|
91
|
+
const { agentContext } = getRequestContext(req);
|
|
92
|
+
if (!res.headersSent) {
|
|
93
|
+
agentContext.config.logger.warn("Error was thrown but openid4vci endpoint did not send a response. Sending generic server_error.");
|
|
94
|
+
res.status(500).json({
|
|
95
|
+
error: "server_error",
|
|
96
|
+
error_description: "An unexpected error occurred on the server."
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
await agentContext.endSession();
|
|
100
|
+
next();
|
|
101
|
+
});
|
|
102
|
+
this.config.app.get(openidCredentialIssuerPath, wellKnownEndpointsRouter);
|
|
103
|
+
this.config.app.get(oauthAuthorizationServerPath, wellKnownEndpointsRouter);
|
|
104
|
+
}
|
|
105
|
+
registerIssuerRoutes(rootAgentContext) {
|
|
106
|
+
const { Router, json, urlencoded } = importExpress();
|
|
107
|
+
const issuerContextRouter = Router();
|
|
108
|
+
const issuerEndpointsRouter = Router();
|
|
109
|
+
const issuerIdParamHandler = this.getIssuerIdParamHandler(rootAgentContext);
|
|
110
|
+
const basePath = new URL(this.config.baseUrl).pathname;
|
|
111
|
+
issuerContextRouter.use(urlencoded({ extended: false }));
|
|
112
|
+
issuerContextRouter.use(json());
|
|
113
|
+
issuerContextRouter.param("issuerId", issuerIdParamHandler);
|
|
114
|
+
issuerContextRouter.use("/:issuerId", issuerEndpointsRouter);
|
|
115
|
+
configureIssuerMetadataEndpoint(issuerEndpointsRouter, "/.well-known/openid-credential-issuer");
|
|
116
|
+
configureOAuthAuthorizationServerMetadataEndpoint(issuerEndpointsRouter, "/.well-known/oauth-authorization-server");
|
|
117
|
+
configureJwksEndpoint(issuerEndpointsRouter, this.config);
|
|
118
|
+
configureNonceEndpoint(issuerEndpointsRouter, this.config);
|
|
119
|
+
configureCredentialOfferEndpoint(issuerEndpointsRouter, this.config);
|
|
120
|
+
configureAccessTokenEndpoint(issuerEndpointsRouter, this.config);
|
|
121
|
+
configureAuthorizationChallengeEndpoint(issuerEndpointsRouter, this.config);
|
|
122
|
+
configureCredentialEndpoint(issuerEndpointsRouter, this.config);
|
|
123
|
+
configureDeferredCredentialEndpoint(issuerEndpointsRouter, this.config);
|
|
124
|
+
configurePushedAuthorizationRequestEndpoint(issuerEndpointsRouter, this.config);
|
|
125
|
+
configureAuthorizationEndpoint(issuerEndpointsRouter, this.config);
|
|
126
|
+
configureRedirectEndpoint(issuerEndpointsRouter, this.config);
|
|
127
|
+
issuerContextRouter.use(async (req, _res, next) => {
|
|
128
|
+
const { agentContext } = getRequestContext(req);
|
|
129
|
+
await agentContext.endSession();
|
|
130
|
+
next();
|
|
131
|
+
});
|
|
132
|
+
issuerContextRouter.use(async (_error, req, res, next) => {
|
|
133
|
+
const { agentContext } = getRequestContext(req);
|
|
134
|
+
if (!res.headersSent) {
|
|
135
|
+
agentContext.config.logger.warn("Error was thrown but openid4vci endpoint did not send a response. Sending generic server_error.");
|
|
136
|
+
res.status(500).json({
|
|
137
|
+
error: "server_error",
|
|
138
|
+
error_description: "An unexpected error occurred on the server."
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
await agentContext.endSession();
|
|
142
|
+
next();
|
|
143
|
+
});
|
|
144
|
+
this.config.app.use(basePath, issuerContextRouter);
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
//#endregion
|
|
149
|
+
export { OpenId4VcIssuerModule };
|
|
150
|
+
//# sourceMappingURL=OpenId4VcIssuerModule.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenId4VcIssuerModule.mjs","names":["agentContext: AgentContext | undefined"],"sources":["../../src/openid4vc-issuer/OpenId4VcIssuerModule.ts"],"sourcesContent":["import { type AgentContext, type DependencyManager, joinUriParts, type Module } from '@credo-ts/core'\nimport type { NextFunction, Response } from 'express'\nimport { getAgentContextForActorId, getRequestContext, importExpress } from '../shared/router'\nimport { OpenId4VcIssuerApi } from './OpenId4VcIssuerApi'\nimport type { InternalOpenId4VcIssuerModuleConfigOptions } from './OpenId4VcIssuerModuleConfig'\nimport { OpenId4VcIssuerModuleConfig } from './OpenId4VcIssuerModuleConfig'\nimport { OpenId4VcIssuerService } from './OpenId4VcIssuerService'\nimport { OpenId4VcIssuanceSessionRepository } from './repository'\nimport { OpenId4VcIssuerRepository } from './repository/OpenId4VcIssuerRepository'\nimport type { OpenId4VcIssuanceRequest } from './router'\nimport {\n configureAccessTokenEndpoint,\n configureAuthorizationChallengeEndpoint,\n configureAuthorizationEndpoint,\n configureCredentialEndpoint,\n configureCredentialOfferEndpoint,\n configureDeferredCredentialEndpoint,\n configureIssuerMetadataEndpoint,\n configureJwksEndpoint,\n configureNonceEndpoint,\n configureOAuthAuthorizationServerMetadataEndpoint,\n configurePushedAuthorizationRequestEndpoint,\n configureRedirectEndpoint,\n} from './router'\n\n/**\n * @public\n */\nexport class OpenId4VcIssuerModule implements Module {\n public readonly config: OpenId4VcIssuerModuleConfig\n\n public constructor(options: InternalOpenId4VcIssuerModuleConfigOptions | OpenId4VcIssuerModuleConfig) {\n this.config = options instanceof OpenId4VcIssuerModuleConfig ? options : new OpenId4VcIssuerModuleConfig(options)\n }\n\n /**\n * Registers the dependencies of the openid4vc issuer module on the dependency manager.\n */\n public register(dependencyManager: DependencyManager) {\n // Since the OpenID4VC module is a nested module (a module consisting of three modules) we register the API\n // manually. In the future we may disallow resolving the sub-api, but for now it allows for a cleaner migration path\n dependencyManager.registerContextScoped(OpenId4VcIssuerApi)\n\n // Register config\n dependencyManager.registerInstance(OpenId4VcIssuerModuleConfig, this.config)\n\n // Services\n dependencyManager.registerSingleton(OpenId4VcIssuerService)\n\n // Repository\n dependencyManager.registerSingleton(OpenId4VcIssuerRepository)\n dependencyManager.registerSingleton(OpenId4VcIssuanceSessionRepository)\n }\n\n public async initialize(rootAgentContext: AgentContext): Promise<void> {\n this.configureRouter(rootAgentContext)\n }\n\n /**\n * Registers the endpoints on the router passed to this module.\n */\n private configureRouter(rootAgentContext: AgentContext) {\n // TODO: it is currently not possible to initialize an agent\n // shut it down, and then start it again, as the\n // express router is configured with a specific `AgentContext` instance\n // and dependency manager. One option is to always create a new router\n // but then users cannot pass their own router implementation.\n // We need to find a proper way to fix this.\n this.registerWellKnownRoutes(rootAgentContext)\n this.registerIssuerRoutes(rootAgentContext)\n }\n\n private getIssuerIdParamHandler =\n (rootAgentContext: AgentContext) =>\n async (req: OpenId4VcIssuanceRequest, res: Response, next: NextFunction, issuerId: string) => {\n if (!issuerId) {\n rootAgentContext.config.logger.debug('No issuerId provided for incoming oid4vci request, returning 404')\n return res.status(404).send('Not found')\n }\n\n let agentContext: AgentContext | undefined\n\n try {\n // FIXME: should we create combined openId actor record?\n agentContext = await getAgentContextForActorId(rootAgentContext, issuerId)\n const issuerApi = agentContext.dependencyManager.resolve(OpenId4VcIssuerApi)\n const issuer = await issuerApi.getIssuerByIssuerId(issuerId)\n\n req.requestContext = {\n agentContext,\n issuer,\n }\n } catch (error) {\n agentContext?.config.logger.error(\n 'Failed to correlate incoming oid4vci request to existing tenant and issuer',\n {\n error,\n }\n )\n // If the opening failed\n await agentContext?.endSession()\n\n return res.status(404).send('Not found')\n }\n\n next()\n }\n\n private registerWellKnownRoutes(rootAgentContext: AgentContext) {\n const issuerIdParamHandler = this.getIssuerIdParamHandler(rootAgentContext)\n const { Router } = importExpress()\n const wellKnownEndpointsRouter = Router()\n\n const basePath = new URL(this.config.baseUrl).pathname\n const issuerPath = joinUriParts(basePath, [':issuerId'])\n\n // The files need to be hosted at the root .well-known directory\n const openidCredentialIssuerPath = joinUriParts('/.well-known/openid-credential-issuer', [issuerPath])\n const oauthAuthorizationServerPath = joinUriParts('/.well-known/oauth-authorization-server', [issuerPath])\n\n wellKnownEndpointsRouter.param('issuerId', issuerIdParamHandler)\n\n configureIssuerMetadataEndpoint(wellKnownEndpointsRouter, openidCredentialIssuerPath)\n configureOAuthAuthorizationServerMetadataEndpoint(wellKnownEndpointsRouter, oauthAuthorizationServerPath)\n\n wellKnownEndpointsRouter.use(async (req: OpenId4VcIssuanceRequest, _res: unknown, next) => {\n const { agentContext } = getRequestContext(req)\n await agentContext.endSession()\n\n next()\n })\n\n // This one will be called for all errors that are thrown\n wellKnownEndpointsRouter.use(\n async (_error: unknown, req: OpenId4VcIssuanceRequest, res: Response, next: NextFunction) => {\n const { agentContext } = getRequestContext(req)\n\n if (!res.headersSent) {\n agentContext.config.logger.warn(\n 'Error was thrown but openid4vci endpoint did not send a response. Sending generic server_error.'\n )\n\n res.status(500).json({\n error: 'server_error',\n error_description: 'An unexpected error occurred on the server.',\n })\n }\n\n await agentContext.endSession()\n next()\n }\n )\n\n // We only want these routes to be handle by the router, so we register each path separately\n // here, so it's also possible for the app to register other `.well-known` endpoints.\n this.config.app.get(openidCredentialIssuerPath, wellKnownEndpointsRouter)\n this.config.app.get(oauthAuthorizationServerPath, wellKnownEndpointsRouter)\n }\n\n private registerIssuerRoutes(rootAgentContext: AgentContext) {\n const { Router, json, urlencoded } = importExpress()\n\n const issuerContextRouter = Router()\n const issuerEndpointsRouter = Router()\n const issuerIdParamHandler = this.getIssuerIdParamHandler(rootAgentContext)\n\n const basePath = new URL(this.config.baseUrl).pathname\n\n // parse application/x-www-form-urlencoded\n issuerContextRouter.use(urlencoded({ extended: false }))\n // parse application/json\n issuerContextRouter.use(json())\n\n // Register the issuer endpoints under /:issuerId\n issuerContextRouter.param('issuerId', issuerIdParamHandler)\n issuerContextRouter.use('/:issuerId', issuerEndpointsRouter)\n\n // NOTE: these are here for backwards compat, at some point we should remove them for the root well-known counterpart\n configureIssuerMetadataEndpoint(issuerEndpointsRouter, '/.well-known/openid-credential-issuer')\n configureOAuthAuthorizationServerMetadataEndpoint(issuerEndpointsRouter, '/.well-known/oauth-authorization-server')\n\n configureJwksEndpoint(issuerEndpointsRouter, this.config)\n configureNonceEndpoint(issuerEndpointsRouter, this.config)\n configureCredentialOfferEndpoint(issuerEndpointsRouter, this.config)\n configureAccessTokenEndpoint(issuerEndpointsRouter, this.config)\n configureAuthorizationChallengeEndpoint(issuerEndpointsRouter, this.config)\n configureCredentialEndpoint(issuerEndpointsRouter, this.config)\n configureDeferredCredentialEndpoint(issuerEndpointsRouter, this.config)\n configurePushedAuthorizationRequestEndpoint(issuerEndpointsRouter, this.config)\n configureAuthorizationEndpoint(issuerEndpointsRouter, this.config)\n configureRedirectEndpoint(issuerEndpointsRouter, this.config)\n\n // First one will be called for all requests (when next is called)\n issuerContextRouter.use(async (req: OpenId4VcIssuanceRequest, _res: unknown, next) => {\n const { agentContext } = getRequestContext(req)\n await agentContext.endSession()\n\n next()\n })\n\n // This one will be called for all errors that are thrown\n issuerContextRouter.use(\n async (_error: unknown, req: OpenId4VcIssuanceRequest, res: Response, next: NextFunction) => {\n const { agentContext } = getRequestContext(req)\n\n if (!res.headersSent) {\n agentContext.config.logger.warn(\n 'Error was thrown but openid4vci endpoint did not send a response. Sending generic server_error.'\n )\n\n res.status(500).json({\n error: 'server_error',\n error_description: 'An unexpected error occurred on the server.',\n })\n }\n\n await agentContext.endSession()\n next()\n }\n )\n\n // Register the issuer context router under /<basePath>\n this.config.app.use(basePath, issuerContextRouter)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,IAAa,wBAAb,MAAqD;CAGnD,AAAO,YAAY,SAAmF;OAyC9F,2BACL,qBACD,OAAO,KAA+B,KAAe,MAAoB,aAAqB;AAC5F,OAAI,CAAC,UAAU;AACb,qBAAiB,OAAO,OAAO,MAAM,mEAAmE;AACxG,WAAO,IAAI,OAAO,IAAI,CAAC,KAAK,YAAY;;GAG1C,IAAIA;AAEJ,OAAI;AAEF,mBAAe,MAAM,0BAA0B,kBAAkB,SAAS;IAE1E,MAAM,SAAS,MADG,aAAa,kBAAkB,QAAQ,mBAAmB,CAC7C,oBAAoB,SAAS;AAE5D,QAAI,iBAAiB;KACnB;KACA;KACD;YACM,OAAO;AACd,kBAAc,OAAO,OAAO,MAC1B,8EACA,EACE,OACD,CACF;AAED,UAAM,cAAc,YAAY;AAEhC,WAAO,IAAI,OAAO,IAAI,CAAC,KAAK,YAAY;;AAG1C,SAAM;;AAzER,OAAK,SAAS,mBAAmB,8BAA8B,UAAU,IAAI,4BAA4B,QAAQ;;;;;CAMnH,AAAO,SAAS,mBAAsC;AAGpD,oBAAkB,sBAAsB,mBAAmB;AAG3D,oBAAkB,iBAAiB,6BAA6B,KAAK,OAAO;AAG5E,oBAAkB,kBAAkB,uBAAuB;AAG3D,oBAAkB,kBAAkB,0BAA0B;AAC9D,oBAAkB,kBAAkB,mCAAmC;;CAGzE,MAAa,WAAW,kBAA+C;AACrE,OAAK,gBAAgB,iBAAiB;;;;;CAMxC,AAAQ,gBAAgB,kBAAgC;AAOtD,OAAK,wBAAwB,iBAAiB;AAC9C,OAAK,qBAAqB,iBAAiB;;CAuC7C,AAAQ,wBAAwB,kBAAgC;EAC9D,MAAM,uBAAuB,KAAK,wBAAwB,iBAAiB;EAC3E,MAAM,EAAE,WAAW,eAAe;EAClC,MAAM,2BAA2B,QAAQ;EAEzC,MAAM,WAAW,IAAI,IAAI,KAAK,OAAO,QAAQ,CAAC;EAC9C,MAAM,aAAa,aAAa,UAAU,CAAC,YAAY,CAAC;EAGxD,MAAM,6BAA6B,aAAa,yCAAyC,CAAC,WAAW,CAAC;EACtG,MAAM,+BAA+B,aAAa,2CAA2C,CAAC,WAAW,CAAC;AAE1G,2BAAyB,MAAM,YAAY,qBAAqB;AAEhE,kCAAgC,0BAA0B,2BAA2B;AACrF,oDAAkD,0BAA0B,6BAA6B;AAEzG,2BAAyB,IAAI,OAAO,KAA+B,MAAe,SAAS;GACzF,MAAM,EAAE,iBAAiB,kBAAkB,IAAI;AAC/C,SAAM,aAAa,YAAY;AAE/B,SAAM;IACN;AAGF,2BAAyB,IACvB,OAAO,QAAiB,KAA+B,KAAe,SAAuB;GAC3F,MAAM,EAAE,iBAAiB,kBAAkB,IAAI;AAE/C,OAAI,CAAC,IAAI,aAAa;AACpB,iBAAa,OAAO,OAAO,KACzB,kGACD;AAED,QAAI,OAAO,IAAI,CAAC,KAAK;KACnB,OAAO;KACP,mBAAmB;KACpB,CAAC;;AAGJ,SAAM,aAAa,YAAY;AAC/B,SAAM;IAET;AAID,OAAK,OAAO,IAAI,IAAI,4BAA4B,yBAAyB;AACzE,OAAK,OAAO,IAAI,IAAI,8BAA8B,yBAAyB;;CAG7E,AAAQ,qBAAqB,kBAAgC;EAC3D,MAAM,EAAE,QAAQ,MAAM,eAAe,eAAe;EAEpD,MAAM,sBAAsB,QAAQ;EACpC,MAAM,wBAAwB,QAAQ;EACtC,MAAM,uBAAuB,KAAK,wBAAwB,iBAAiB;EAE3E,MAAM,WAAW,IAAI,IAAI,KAAK,OAAO,QAAQ,CAAC;AAG9C,sBAAoB,IAAI,WAAW,EAAE,UAAU,OAAO,CAAC,CAAC;AAExD,sBAAoB,IAAI,MAAM,CAAC;AAG/B,sBAAoB,MAAM,YAAY,qBAAqB;AAC3D,sBAAoB,IAAI,cAAc,sBAAsB;AAG5D,kCAAgC,uBAAuB,wCAAwC;AAC/F,oDAAkD,uBAAuB,0CAA0C;AAEnH,wBAAsB,uBAAuB,KAAK,OAAO;AACzD,yBAAuB,uBAAuB,KAAK,OAAO;AAC1D,mCAAiC,uBAAuB,KAAK,OAAO;AACpE,+BAA6B,uBAAuB,KAAK,OAAO;AAChE,0CAAwC,uBAAuB,KAAK,OAAO;AAC3E,8BAA4B,uBAAuB,KAAK,OAAO;AAC/D,sCAAoC,uBAAuB,KAAK,OAAO;AACvE,8CAA4C,uBAAuB,KAAK,OAAO;AAC/E,iCAA+B,uBAAuB,KAAK,OAAO;AAClE,4BAA0B,uBAAuB,KAAK,OAAO;AAG7D,sBAAoB,IAAI,OAAO,KAA+B,MAAe,SAAS;GACpF,MAAM,EAAE,iBAAiB,kBAAkB,IAAI;AAC/C,SAAM,aAAa,YAAY;AAE/B,SAAM;IACN;AAGF,sBAAoB,IAClB,OAAO,QAAiB,KAA+B,KAAe,SAAuB;GAC3F,MAAM,EAAE,iBAAiB,kBAAkB,IAAI;AAE/C,OAAI,CAAC,IAAI,aAAa;AACpB,iBAAa,OAAO,OAAO,KACzB,kGACD;AAED,QAAI,OAAO,IAAI,CAAC,KAAK;KACnB,OAAO;KACP,mBAAmB;KACpB,CAAC;;AAGJ,SAAM,aAAa,YAAY;AAC/B,SAAM;IAET;AAGD,OAAK,OAAO,IAAI,IAAI,UAAU,oBAAoB"}
|