@venizia/ignis 0.2.0-2 → 0.2.0-21
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/dist/base/applications/base.d.ts +14 -13
- package/dist/base/applications/base.d.ts.map +1 -1
- package/dist/base/applications/base.js +55 -52
- package/dist/base/applications/base.js.map +1 -1
- package/dist/base/applications/boot-steps.d.ts +13 -0
- package/dist/base/applications/boot-steps.d.ts.map +1 -0
- package/dist/base/applications/boot-steps.js +23 -0
- package/dist/base/applications/boot-steps.js.map +1 -0
- package/dist/base/applications/common/index.d.ts +2 -0
- package/dist/base/applications/common/index.d.ts.map +1 -0
- package/dist/base/applications/common/index.js +18 -0
- package/dist/base/applications/common/index.js.map +1 -0
- package/dist/base/applications/{types.d.ts → common/types.d.ts} +11 -0
- package/dist/base/applications/common/types.d.ts.map +1 -0
- package/dist/base/applications/common/types.js.map +1 -0
- package/dist/base/applications/index.d.ts +2 -1
- package/dist/base/applications/index.d.ts.map +1 -1
- package/dist/base/applications/index.js +2 -1
- package/dist/base/applications/index.js.map +1 -1
- package/dist/base/applications/server.d.ts +4 -2
- package/dist/base/applications/server.d.ts.map +1 -1
- package/dist/base/applications/server.js +25 -2
- package/dist/base/applications/server.js.map +1 -1
- package/dist/base/controllers/grpc/adapter.d.ts +2 -1
- package/dist/base/controllers/grpc/adapter.d.ts.map +1 -1
- package/dist/base/controllers/grpc/adapter.js +4 -3
- package/dist/base/controllers/grpc/adapter.js.map +1 -1
- package/dist/base/middlewares/app-error/app-error.middleware.d.ts +3 -2
- package/dist/base/middlewares/app-error/app-error.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/app-error/app-error.middleware.js +4 -3
- package/dist/base/middlewares/app-error/app-error.middleware.js.map +1 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.js +2 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.js.map +1 -1
- package/dist/components/api-reference/component.d.ts.map +1 -1
- package/dist/components/api-reference/component.js +4 -2
- package/dist/components/api-reference/component.js.map +1 -1
- package/dist/components/api-reference/index.d.ts +1 -1
- package/dist/components/api-reference/index.d.ts.map +1 -1
- package/dist/components/api-reference/index.js +1 -1
- package/dist/components/api-reference/index.js.map +1 -1
- package/dist/components/api-reference/ui/factory.d.ts +14 -0
- package/dist/components/api-reference/ui/factory.d.ts.map +1 -0
- package/dist/components/api-reference/{ui-factory.js → ui/factory.js} +7 -21
- package/dist/components/api-reference/ui/factory.js.map +1 -0
- package/dist/components/api-reference/ui/index.d.ts +4 -0
- package/dist/components/api-reference/ui/index.d.ts.map +1 -0
- package/dist/components/api-reference/ui/index.js +20 -0
- package/dist/components/api-reference/ui/index.js.map +1 -0
- package/dist/components/api-reference/ui/scalar.d.ts +8 -0
- package/dist/components/api-reference/ui/scalar.d.ts.map +1 -0
- package/dist/components/api-reference/ui/scalar.js +28 -0
- package/dist/components/api-reference/ui/scalar.js.map +1 -0
- package/dist/components/api-reference/ui/swagger.d.ts +8 -0
- package/dist/components/api-reference/ui/swagger.d.ts.map +1 -0
- package/dist/components/api-reference/ui/swagger.js +28 -0
- package/dist/components/api-reference/ui/swagger.js.map +1 -0
- package/dist/components/auth/authenticate/component.d.ts +10 -1
- package/dist/components/auth/authenticate/component.d.ts.map +1 -1
- package/dist/components/auth/authenticate/component.js +79 -25
- package/dist/components/auth/authenticate/component.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/factory.d.ts +33 -2
- package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -1
- package/dist/components/auth/authenticate/controllers/index.d.ts +1 -0
- package/dist/components/auth/authenticate/controllers/index.d.ts.map +1 -1
- package/dist/components/auth/authenticate/controllers/index.js +1 -0
- package/dist/components/auth/authenticate/controllers/index.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/service-certs/controller.d.ts +10 -0
- package/dist/components/auth/authenticate/controllers/service-certs/controller.d.ts.map +1 -0
- package/dist/components/auth/authenticate/controllers/service-certs/controller.js +50 -0
- package/dist/components/auth/authenticate/controllers/service-certs/controller.js.map +1 -0
- package/dist/components/auth/authenticate/controllers/service-certs/definitions.d.ts +73 -0
- package/dist/components/auth/authenticate/controllers/service-certs/definitions.d.ts.map +1 -0
- package/dist/components/auth/authenticate/controllers/service-certs/definitions.js +34 -0
- package/dist/components/auth/authenticate/controllers/service-certs/definitions.js.map +1 -0
- package/dist/components/auth/authenticate/controllers/service-certs/index.d.ts +3 -0
- package/dist/components/auth/authenticate/controllers/service-certs/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/controllers/service-certs/index.js +19 -0
- package/dist/components/auth/authenticate/controllers/service-certs/index.js.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts +16 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js +29 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/index.d.ts +1 -0
- package/dist/components/auth/authenticate/services/index.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/index.js +1 -0
- package/dist/components/auth/authenticate/services/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/service/index.d.ts +3 -0
- package/dist/components/auth/authenticate/services/service/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/service/index.js +19 -0
- package/dist/components/auth/authenticate/services/service/index.js.map +1 -0
- package/dist/components/auth/authenticate/services/service/signer.service.d.ts +46 -0
- package/dist/components/auth/authenticate/services/service/signer.service.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/service/signer.service.js +135 -0
- package/dist/components/auth/authenticate/services/service/signer.service.js.map +1 -0
- package/dist/components/auth/authenticate/services/service/verifier.service.d.ts +40 -0
- package/dist/components/auth/authenticate/services/service/verifier.service.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/service/verifier.service.js +165 -0
- package/dist/components/auth/authenticate/services/service/verifier.service.js.map +1 -0
- package/dist/components/auth/authenticate/strategies/index.d.ts +2 -1
- package/dist/components/auth/authenticate/strategies/index.d.ts.map +1 -1
- package/dist/components/auth/authenticate/strategies/index.js +2 -1
- package/dist/components/auth/authenticate/strategies/index.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/jwks/index.d.ts +3 -0
- package/dist/components/auth/authenticate/strategies/jwks/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/jwks/index.js +19 -0
- package/dist/components/auth/authenticate/strategies/jwks/index.js.map +1 -0
- package/dist/components/auth/authenticate/strategies/jwks/issuer.d.ts +13 -0
- package/dist/components/auth/authenticate/strategies/jwks/issuer.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/{jwks.strategy.js → jwks/issuer.js} +4 -27
- package/dist/components/auth/authenticate/strategies/jwks/issuer.js.map +1 -0
- package/dist/components/auth/authenticate/strategies/{jwks.strategy.d.ts → jwks/verifier.d.ts} +2 -10
- package/dist/components/auth/authenticate/strategies/jwks/verifier.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/jwks/verifier.js +45 -0
- package/dist/components/auth/authenticate/strategies/jwks/verifier.js.map +1 -0
- package/dist/components/auth/authenticate/strategies/service.strategy.d.ts +19 -0
- package/dist/components/auth/authenticate/strategies/service.strategy.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/service.strategy.js +73 -0
- package/dist/components/auth/authenticate/strategies/service.strategy.js.map +1 -0
- package/dist/components/auth/authorize/adapters/base-filtered.d.ts +1 -1
- package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +1 -1
- package/dist/components/auth/authorize/adapters/base-filtered.js +5 -8
- package/dist/components/auth/authorize/adapters/base-filtered.js.map +1 -1
- package/dist/components/auth/authorize/adapters/common/index.d.ts +2 -0
- package/dist/components/auth/authorize/adapters/common/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/common/index.js +18 -0
- package/dist/components/auth/authorize/adapters/common/index.js.map +1 -0
- package/dist/components/auth/authorize/adapters/{types.d.ts → common/types.d.ts} +1 -1
- package/dist/components/auth/authorize/adapters/common/types.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/common/types.js.map +1 -0
- package/dist/components/auth/authorize/adapters/connector.d.ts +10 -0
- package/dist/components/auth/authorize/adapters/connector.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/connector.js +20 -0
- package/dist/components/auth/authorize/adapters/connector.js.map +1 -0
- package/dist/components/auth/authorize/adapters/custom-grant-expander.d.ts +52 -0
- package/dist/components/auth/authorize/adapters/custom-grant-expander.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/custom-grant-expander.js +111 -0
- package/dist/components/auth/authorize/adapters/custom-grant-expander.js.map +1 -0
- package/dist/components/auth/authorize/adapters/index.d.ts +4 -2
- package/dist/components/auth/authorize/adapters/index.d.ts.map +1 -1
- package/dist/components/auth/authorize/adapters/index.js +4 -2
- package/dist/components/auth/authorize/adapters/index.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/adapter.d.ts +93 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/adapter.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/{scoped-casbin.adapter.js → scoped-casbin/adapter.js} +95 -97
- package/dist/components/auth/authorize/adapters/scoped-casbin/adapter.js.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.d.ts +2 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.js +5 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.js.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.d.ts +3 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.js +19 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.js.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.d.ts +50 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.js +3 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.js.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.d.ts +4 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.js +19 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.js.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.d.ts +17 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.js +11 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.js.map +1 -0
- package/dist/components/auth/authorize/component.d.ts.map +1 -1
- package/dist/components/auth/authorize/component.js +3 -0
- package/dist/components/auth/authorize/component.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts +7 -36
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +1 -1
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.js +48 -117
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/index.d.ts +2 -1
- package/dist/components/auth/authorize/enforcers/index.d.ts.map +1 -1
- package/dist/components/auth/authorize/enforcers/index.js +2 -1
- package/dist/components/auth/authorize/enforcers/index.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/policy-line-codec.d.ts +26 -0
- package/dist/components/auth/authorize/enforcers/policy-line-codec.d.ts.map +1 -0
- package/dist/components/auth/authorize/enforcers/policy-line-codec.js +57 -0
- package/dist/components/auth/authorize/enforcers/policy-line-codec.js.map +1 -0
- package/dist/components/auth/authorize/enforcers/user-policy-line-cache.d.ts +46 -0
- package/dist/components/auth/authorize/enforcers/user-policy-line-cache.d.ts.map +1 -0
- package/dist/components/auth/authorize/enforcers/user-policy-line-cache.js +98 -0
- package/dist/components/auth/authorize/enforcers/user-policy-line-cache.js.map +1 -0
- package/dist/components/auth/authorize/index.d.ts +1 -0
- package/dist/components/auth/authorize/index.d.ts.map +1 -1
- package/dist/components/auth/authorize/index.js +1 -0
- package/dist/components/auth/authorize/index.js.map +1 -1
- package/dist/components/auth/authorize/role-managers/base.d.ts +34 -0
- package/dist/components/auth/authorize/role-managers/base.d.ts.map +1 -0
- package/dist/components/auth/authorize/role-managers/base.js +76 -0
- package/dist/components/auth/authorize/role-managers/base.js.map +1 -0
- package/dist/components/auth/authorize/role-managers/domain-hierarchy.d.ts +28 -0
- package/dist/components/auth/authorize/role-managers/domain-hierarchy.d.ts.map +1 -0
- package/dist/components/auth/authorize/role-managers/domain-hierarchy.js +77 -0
- package/dist/components/auth/authorize/role-managers/domain-hierarchy.js.map +1 -0
- package/dist/components/auth/authorize/role-managers/index.d.ts +5 -0
- package/dist/components/auth/authorize/role-managers/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/role-managers/index.js +21 -0
- package/dist/components/auth/authorize/role-managers/index.js.map +1 -0
- package/dist/components/auth/authorize/role-managers/membership.d.ts +21 -0
- package/dist/components/auth/authorize/role-managers/membership.d.ts.map +1 -0
- package/dist/components/auth/authorize/role-managers/membership.js +69 -0
- package/dist/components/auth/authorize/role-managers/membership.js.map +1 -0
- package/dist/components/auth/authorize/{enforcers/resource-role-manager.d.ts → role-managers/resource.d.ts} +3 -9
- package/dist/components/auth/authorize/role-managers/resource.d.ts.map +1 -0
- package/dist/components/auth/authorize/{enforcers/resource-role-manager.js → role-managers/resource.js} +9 -21
- package/dist/components/auth/authorize/role-managers/resource.js.map +1 -0
- package/dist/components/auth/models/entities/policy-definition.model.d.ts +49 -14
- package/dist/components/auth/models/entities/policy-definition.model.d.ts.map +1 -1
- package/dist/components/auth/models/entities/policy-definition.model.js +45 -11
- package/dist/components/auth/models/entities/policy-definition.model.js.map +1 -1
- package/dist/components/auth/models/entities/user.model.d.ts +2 -2
- package/dist/components/mail/common/constants.d.ts +7 -0
- package/dist/components/mail/common/constants.d.ts.map +1 -1
- package/dist/components/mail/common/constants.js +7 -1
- package/dist/components/mail/common/constants.js.map +1 -1
- package/dist/components/mail/common/types/index.d.ts +6 -0
- package/dist/components/mail/common/types/index.d.ts.map +1 -0
- package/dist/components/mail/common/types/index.js +22 -0
- package/dist/components/mail/common/types/index.js.map +1 -0
- package/dist/components/mail/common/types/message.d.ts +48 -0
- package/dist/components/mail/common/types/message.d.ts.map +1 -0
- package/dist/components/mail/common/types/message.js +3 -0
- package/dist/components/mail/common/types/message.js.map +1 -0
- package/dist/components/mail/common/types/options.d.ts +42 -0
- package/dist/components/mail/common/types/options.d.ts.map +1 -0
- package/dist/components/mail/common/types/options.js +3 -0
- package/dist/components/mail/common/types/options.js.map +1 -0
- package/dist/components/mail/common/types/queue.d.ts +53 -0
- package/dist/components/mail/common/types/queue.d.ts.map +1 -0
- package/dist/components/mail/common/types/queue.js +3 -0
- package/dist/components/mail/common/types/queue.js.map +1 -0
- package/dist/components/mail/common/types/template.d.ts +33 -0
- package/dist/components/mail/common/types/template.d.ts.map +1 -0
- package/dist/components/mail/common/types/template.js +3 -0
- package/dist/components/mail/common/types/template.js.map +1 -0
- package/dist/components/mail/common/types/verification.d.ts +26 -0
- package/dist/components/mail/common/types/verification.d.ts.map +1 -0
- package/dist/components/mail/common/types/verification.js +3 -0
- package/dist/components/mail/common/types/verification.js.map +1 -0
- package/dist/components/mail/services/generators/index.d.ts +4 -0
- package/dist/components/mail/services/generators/index.d.ts.map +1 -0
- package/dist/components/mail/services/generators/index.js +20 -0
- package/dist/components/mail/services/generators/index.js.map +1 -0
- package/dist/components/mail/services/generators/numeric-code.d.ts +7 -0
- package/dist/components/mail/services/generators/numeric-code.d.ts.map +1 -0
- package/dist/components/mail/services/generators/numeric-code.js +20 -0
- package/dist/components/mail/services/generators/numeric-code.js.map +1 -0
- package/dist/components/mail/services/generators/random-token.d.ts +7 -0
- package/dist/components/mail/services/generators/random-token.d.ts.map +1 -0
- package/dist/components/mail/services/generators/random-token.js +18 -0
- package/dist/components/mail/services/generators/random-token.js.map +1 -0
- package/dist/components/mail/services/generators/verification-data.d.ts +9 -0
- package/dist/components/mail/services/generators/verification-data.d.ts.map +1 -0
- package/dist/components/mail/services/{generator.service.js → generators/verification-data.js} +10 -25
- package/dist/components/mail/services/generators/verification-data.js.map +1 -0
- package/dist/components/mail/services/index.d.ts +1 -1
- package/dist/components/mail/services/index.d.ts.map +1 -1
- package/dist/components/mail/services/index.js +1 -1
- package/dist/components/mail/services/index.js.map +1 -1
- package/dist/components/static-asset/controller/factory.d.ts +34 -2
- package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
- package/dist/components/static-asset/models/base.model.d.ts +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +22 -23
- package/dist/base/applications/types.d.ts.map +0 -1
- package/dist/base/applications/types.js.map +0 -1
- package/dist/components/api-reference/ui-factory.d.ts +0 -21
- package/dist/components/api-reference/ui-factory.d.ts.map +0 -1
- package/dist/components/api-reference/ui-factory.js.map +0 -1
- package/dist/components/auth/authenticate/strategies/jwks.strategy.d.ts.map +0 -1
- package/dist/components/auth/authenticate/strategies/jwks.strategy.js.map +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts +0 -121
- package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.js.map +0 -1
- package/dist/components/auth/authorize/adapters/types.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/types.js.map +0 -1
- package/dist/components/auth/authorize/enforcers/resource-role-manager.d.ts.map +0 -1
- package/dist/components/auth/authorize/enforcers/resource-role-manager.js.map +0 -1
- package/dist/components/mail/common/types.d.ts +0 -201
- package/dist/components/mail/common/types.d.ts.map +0 -1
- package/dist/components/mail/common/types.js +0 -10
- package/dist/components/mail/common/types.js.map +0 -1
- package/dist/components/mail/services/generator.service.d.ts +0 -14
- package/dist/components/mail/services/generator.service.d.ts.map +0 -1
- package/dist/components/mail/services/generator.service.js.map +0 -1
- /package/dist/base/applications/{types.js → common/types.js} +0 -0
- /package/dist/components/auth/authorize/adapters/{types.js → common/types.js} +0 -0
|
@@ -14,15 +14,15 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
var AuthenticateComponent_1;
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.AuthenticateComponent = void 0;
|
|
17
|
-
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
18
|
-
const ignis_kernel_2 = require("@venizia/ignis-kernel");
|
|
19
|
-
const ignis_kernel_3 = require("@venizia/ignis-kernel");
|
|
20
|
-
const ignis_kernel_4 = require("@venizia/ignis-kernel");
|
|
21
17
|
const core_1 = require("@venizia/ignis-helpers/core");
|
|
22
18
|
const ignis_inversion_1 = require("@venizia/ignis-inversion");
|
|
23
|
-
const
|
|
19
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
24
20
|
const controllers_1 = require("./controllers");
|
|
21
|
+
const service_certs_1 = require("./controllers/service-certs");
|
|
25
22
|
const services_1 = require("./services");
|
|
23
|
+
const signer_service_1 = require("./services/service/signer.service");
|
|
24
|
+
const verifier_service_1 = require("./services/service/verifier.service");
|
|
25
|
+
const service_strategy_1 = require("./strategies/service.strategy");
|
|
26
26
|
const DEFAULT_SECRET = 'unknown_secret';
|
|
27
27
|
let AuthenticateComponent = AuthenticateComponent_1 = class AuthenticateComponent extends ignis_kernel_1.BaseComponent {
|
|
28
28
|
constructor(application) {
|
|
@@ -30,8 +30,8 @@ let AuthenticateComponent = AuthenticateComponent_1 = class AuthenticateComponen
|
|
|
30
30
|
scope: AuthenticateComponent_1.name,
|
|
31
31
|
initDefault: { enable: true, container: application },
|
|
32
32
|
bindings: {
|
|
33
|
-
[
|
|
34
|
-
key:
|
|
33
|
+
[ignis_kernel_1.AuthenticateBindingKeys.REST_OPTIONS]: ignis_inversion_1.Binding.bind({
|
|
34
|
+
key: ignis_kernel_1.AuthenticateBindingKeys.REST_OPTIONS,
|
|
35
35
|
}).toValue({ useAuthController: false }),
|
|
36
36
|
},
|
|
37
37
|
});
|
|
@@ -39,30 +39,36 @@ let AuthenticateComponent = AuthenticateComponent_1 = class AuthenticateComponen
|
|
|
39
39
|
}
|
|
40
40
|
binding() {
|
|
41
41
|
const jwtOptions = this.application.get({
|
|
42
|
-
key:
|
|
42
|
+
key: ignis_kernel_1.AuthenticateBindingKeys.JWT_OPTIONS,
|
|
43
43
|
isOptional: true,
|
|
44
44
|
});
|
|
45
45
|
const basicOptions = this.application.get({
|
|
46
|
-
key:
|
|
46
|
+
key: ignis_kernel_1.AuthenticateBindingKeys.BASIC_OPTIONS,
|
|
47
47
|
isOptional: true,
|
|
48
48
|
});
|
|
49
49
|
const restOptions = this.application.get({
|
|
50
|
-
key:
|
|
50
|
+
key: ignis_kernel_1.AuthenticateBindingKeys.REST_OPTIONS,
|
|
51
|
+
isOptional: true,
|
|
52
|
+
});
|
|
53
|
+
const serviceOptions = this.application.get({
|
|
54
|
+
key: ignis_kernel_1.AuthenticateBindingKeys.SERVICE_OPTIONS,
|
|
51
55
|
isOptional: true,
|
|
52
56
|
});
|
|
53
|
-
|
|
57
|
+
// A service that only VERIFIES assertions needs neither jwt nor basic - and that application,
|
|
58
|
+
// an IGNIS app consuming no user tokens at all, is exactly what the service strategy is for.
|
|
59
|
+
if (!jwtOptions && !basicOptions && !serviceOptions) {
|
|
54
60
|
throw (0, core_1.getError)({
|
|
55
|
-
message: '[AuthenticateComponent] At least one of jwtOptions or
|
|
61
|
+
message: '[AuthenticateComponent] At least one of jwtOptions, basicOptions or serviceOptions must be provided',
|
|
56
62
|
});
|
|
57
63
|
}
|
|
58
|
-
const options = { restOptions, jwtOptions, basicOptions };
|
|
64
|
+
const options = { restOptions, jwtOptions, basicOptions, serviceOptions };
|
|
59
65
|
if (jwtOptions) {
|
|
60
66
|
switch (jwtOptions.standard) {
|
|
61
|
-
case
|
|
67
|
+
case ignis_kernel_1.JOSEStandards.JWS: {
|
|
62
68
|
this.defineJWSAuth({ options: jwtOptions.options });
|
|
63
69
|
break;
|
|
64
70
|
}
|
|
65
|
-
case
|
|
71
|
+
case ignis_kernel_1.JOSEStandards.JWKS: {
|
|
66
72
|
this.defineJWKSAuth({ options: jwtOptions.options });
|
|
67
73
|
break;
|
|
68
74
|
}
|
|
@@ -74,6 +80,7 @@ let AuthenticateComponent = AuthenticateComponent_1 = class AuthenticateComponen
|
|
|
74
80
|
}
|
|
75
81
|
}
|
|
76
82
|
this.defineBasicAuth({ basicOptions });
|
|
83
|
+
this.defineServiceAuth({ serviceOptions });
|
|
77
84
|
this.defineControllers({ options });
|
|
78
85
|
this.defineOAuth2();
|
|
79
86
|
}
|
|
@@ -91,7 +98,7 @@ let AuthenticateComponent = AuthenticateComponent_1 = class AuthenticateComponen
|
|
|
91
98
|
});
|
|
92
99
|
}
|
|
93
100
|
this.application
|
|
94
|
-
.bind({ key:
|
|
101
|
+
.bind({ key: ignis_kernel_1.AuthenticateBindingKeys.JWT_OPTIONS })
|
|
95
102
|
.toValue(jwsOptions);
|
|
96
103
|
this.application.service(services_1.JWSTokenService);
|
|
97
104
|
this.logger.for(this.defineJWSAuth.name).info('JWS authentication configured');
|
|
@@ -99,16 +106,16 @@ let AuthenticateComponent = AuthenticateComponent_1 = class AuthenticateComponen
|
|
|
99
106
|
defineJWKSAuth(opts) {
|
|
100
107
|
const { options: jwksOptions } = opts;
|
|
101
108
|
switch (jwksOptions.mode) {
|
|
102
|
-
case
|
|
109
|
+
case ignis_kernel_1.JWKSModes.ISSUER: {
|
|
103
110
|
const issuerOpts = jwksOptions;
|
|
104
111
|
if (!issuerOpts.keys?.private || !issuerOpts.keys?.public) {
|
|
105
112
|
throw (0, core_1.getError)({
|
|
106
113
|
message: '[defineJWKSAuth] keys.private and keys.public are required for issuer mode',
|
|
107
114
|
});
|
|
108
115
|
}
|
|
109
|
-
if (!issuerOpts.keys?.format || !
|
|
116
|
+
if (!issuerOpts.keys?.format || !ignis_kernel_1.JWKSKeyFormats.isValid(issuerOpts.keys.format)) {
|
|
110
117
|
throw (0, core_1.getError)({
|
|
111
|
-
message: `[defineJWKSAuth] keys.format is required and must be one of: ${[...
|
|
118
|
+
message: `[defineJWKSAuth] keys.format is required and must be one of: ${[...ignis_kernel_1.JWKSKeyFormats.SCHEME_SET].join(', ')}`,
|
|
112
119
|
});
|
|
113
120
|
}
|
|
114
121
|
if (!issuerOpts.kid) {
|
|
@@ -120,24 +127,24 @@ let AuthenticateComponent = AuthenticateComponent_1 = class AuthenticateComponen
|
|
|
120
127
|
});
|
|
121
128
|
}
|
|
122
129
|
this.application
|
|
123
|
-
.bind({ key:
|
|
130
|
+
.bind({ key: ignis_kernel_1.AuthenticateBindingKeys.JWKS_OPTIONS })
|
|
124
131
|
.toValue(issuerOpts);
|
|
125
132
|
this.application.service(services_1.JWKSIssuerTokenService);
|
|
126
133
|
// Path depends on a runtime option, so @controller can't be applied statically — decorate here instead.
|
|
127
|
-
Reflect.decorate([(0,
|
|
134
|
+
Reflect.decorate([(0, ignis_kernel_1.controller)({ path: issuerOpts?.rest?.path ?? '/certs' })], controllers_1.JWKSController);
|
|
128
135
|
this.application.controller(controllers_1.JWKSController);
|
|
129
136
|
this.logger
|
|
130
137
|
.for(this.defineJWKSAuth.name)
|
|
131
138
|
.info('JWKS issuer configured with /certs endpoint');
|
|
132
139
|
break;
|
|
133
140
|
}
|
|
134
|
-
case
|
|
141
|
+
case ignis_kernel_1.JWKSModes.VERIFIER: {
|
|
135
142
|
const verifierOpts = jwksOptions;
|
|
136
143
|
if (!verifierOpts.jwksUrl) {
|
|
137
144
|
throw (0, core_1.getError)({ message: '[defineJWKSAuth] jwksUrl is required for verifier mode' });
|
|
138
145
|
}
|
|
139
146
|
this.application
|
|
140
|
-
.bind({ key:
|
|
147
|
+
.bind({ key: ignis_kernel_1.AuthenticateBindingKeys.JWKS_OPTIONS })
|
|
141
148
|
.toValue(verifierOpts);
|
|
142
149
|
this.application.service(services_1.JWKSVerifierTokenService);
|
|
143
150
|
this.logger.for(this.defineJWKSAuth.name).info('JWKS verifier configured');
|
|
@@ -151,6 +158,53 @@ let AuthenticateComponent = AuthenticateComponent_1 = class AuthenticateComponen
|
|
|
151
158
|
}
|
|
152
159
|
}
|
|
153
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Service-to-service authentication. Absent options mean no strategy is registered and no route is
|
|
163
|
+
* mounted, so an application that never sets them is byte-identical to today.
|
|
164
|
+
*
|
|
165
|
+
* The certs route is mounted only when SIGNING keys are present. Most services are called and
|
|
166
|
+
* never call; publishing a key set for a service that signs nothing advertises a capability it
|
|
167
|
+
* does not have.
|
|
168
|
+
*/
|
|
169
|
+
defineServiceAuth(opts) {
|
|
170
|
+
const { serviceOptions } = opts;
|
|
171
|
+
if (!serviceOptions) {
|
|
172
|
+
this.logger
|
|
173
|
+
.for(this.defineServiceAuth.name)
|
|
174
|
+
.debug('serviceOptions not provided, skipping service authentication');
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
if (!serviceOptions.name) {
|
|
178
|
+
throw (0, core_1.getError)({
|
|
179
|
+
message: '[defineServiceAuth] name is required | it is the issuer this service stamps and the audience it demands',
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
if (!serviceOptions.resolvePrincipal) {
|
|
183
|
+
throw (0, core_1.getError)({
|
|
184
|
+
message: '[defineServiceAuth] resolvePrincipal is required | the framework proves WHICH SERVICE called, the application decides who that acts as',
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
this.application.service(verifier_service_1.ServiceAssertionVerifierService);
|
|
188
|
+
if (serviceOptions.keys) {
|
|
189
|
+
this.application.service(signer_service_1.ServiceAssertionSignerService);
|
|
190
|
+
const restPath = serviceOptions.rest?.path ?? ignis_kernel_1.ServiceAssertion.DEFAULT_REST_PATH;
|
|
191
|
+
this.application
|
|
192
|
+
.bind({ key: ignis_kernel_1.AuthenticateBindingKeys.SERVICE_CERTS_PATH })
|
|
193
|
+
.toValue(restPath);
|
|
194
|
+
// Path depends on a runtime option, so @controller cannot be applied statically.
|
|
195
|
+
Reflect.decorate([(0, ignis_kernel_1.controller)({ path: restPath })], service_certs_1.ServiceCertsController);
|
|
196
|
+
this.application.controller(service_certs_1.ServiceCertsController);
|
|
197
|
+
}
|
|
198
|
+
ignis_kernel_1.AuthenticationStrategyRegistry.getInstance().register({
|
|
199
|
+
container: this.application,
|
|
200
|
+
strategies: [
|
|
201
|
+
{ name: ignis_kernel_1.Authentication.STRATEGY_SERVICE, strategy: service_strategy_1.ServiceAuthenticationStrategy },
|
|
202
|
+
],
|
|
203
|
+
});
|
|
204
|
+
this.logger
|
|
205
|
+
.for(this.defineServiceAuth.name)
|
|
206
|
+
.info('Service authentication configured | name: %s | signs: %s | callers: %s', serviceOptions.name, Boolean(serviceOptions.keys), Object.keys(serviceOptions.callers ?? {}).join(', ') || 'none');
|
|
207
|
+
}
|
|
154
208
|
defineBasicAuth(opts) {
|
|
155
209
|
const { basicOptions } = opts;
|
|
156
210
|
if (!basicOptions) {
|
|
@@ -165,7 +219,7 @@ let AuthenticateComponent = AuthenticateComponent_1 = class AuthenticateComponen
|
|
|
165
219
|
});
|
|
166
220
|
}
|
|
167
221
|
this.application
|
|
168
|
-
.bind({ key:
|
|
222
|
+
.bind({ key: ignis_kernel_1.AuthenticateBindingKeys.BASIC_OPTIONS })
|
|
169
223
|
.toValue(basicOptions);
|
|
170
224
|
this.application.service(services_1.BasicTokenService);
|
|
171
225
|
this.logger.for(this.defineBasicAuth.name).info('Basic authentication configured');
|
|
@@ -191,7 +245,7 @@ let AuthenticateComponent = AuthenticateComponent_1 = class AuthenticateComponen
|
|
|
191
245
|
};
|
|
192
246
|
exports.AuthenticateComponent = AuthenticateComponent;
|
|
193
247
|
exports.AuthenticateComponent = AuthenticateComponent = AuthenticateComponent_1 = __decorate([
|
|
194
|
-
__param(0, (0,
|
|
248
|
+
__param(0, (0, ignis_kernel_1.inject)({ key: ignis_kernel_1.CoreBindings.APPLICATION_INSTANCE })),
|
|
195
249
|
__metadata("design:paramtypes", [Function])
|
|
196
250
|
], AuthenticateComponent);
|
|
197
251
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/components/auth/authenticate/component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/components/auth/authenticate/component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,sDAAuD;AACvD,8DAAmD;AACnD,wDAqB+B;AAC/B,+CAAqE;AACrE,+DAAqE;AACrE,yCAKoB;AACpB,sEAAkF;AAClF,0EAAsF;AACtF,oEAA8E;AAE9E,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAExC,IAAa,qBAAqB,6BAAlC,MAAa,qBAAsB,SAAQ,4BAAa;IACtD,YAC8D,WAA4B;QAExF,KAAK,CAAC;YACJ,KAAK,EAAE,uBAAqB,CAAC,IAAI;YACjC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;YACrD,QAAQ,EAAE;gBACR,CAAC,sCAAuB,CAAC,YAAY,CAAC,EAAE,yBAAO,CAAC,IAAI,CAA6B;oBAC/E,GAAG,EAAE,sCAAuB,CAAC,YAAY;iBAC1C,CAAC,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;aACzC;SACF,CAAC,CAAC;QAVyD,gBAAW,GAAX,WAAW,CAAiB;IAW1F,CAAC;IAEQ,OAAO;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAA0B;YAC/D,GAAG,EAAE,sCAAuB,CAAC,WAAW;YACxC,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B;YACnE,GAAG,EAAE,sCAAuB,CAAC,aAAa;YAC1C,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAA6B;YACnE,GAAG,EAAE,sCAAuB,CAAC,YAAY;YACzC,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAsB;YAC/D,GAAG,EAAE,sCAAuB,CAAC,eAAe;YAC5C,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,8FAA8F;QAC9F,6FAA6F;QAC7F,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;YACpD,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EACL,qGAAqG;aACxG,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAyB,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;QAEhG,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC5B,KAAK,4BAAa,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvB,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;oBACpD,MAAM;gBACR,CAAC;gBACD,KAAK,4BAAa,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxB,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;oBACrD,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,IAAA,eAAQ,EAAC;wBACb,OAAO,EAAE,kDAAmD,UAAkB,CAAC,QAAQ,EAAE;qBAC1F,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,aAAa,CAAC,IAA0C;QAC9D,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAErC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC;QAEpD,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;YAC/C,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,iDAAiD,SAAS,EAAE;aACtE,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,+CAA+C;aACzD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW;aACb,IAAI,CAA0B,EAAE,GAAG,EAAE,sCAAuB,CAAC,WAAW,EAAE,CAAC;aAC3E,OAAO,CAAC,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,0BAAe,CAAC,CAAC;QAE1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACjF,CAAC;IAEO,cAAc,CAAC,IAA2C;QAChE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAEtC,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,wBAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtB,MAAM,UAAU,GAAG,WAAW,CAAC;gBAE/B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;oBAC1D,MAAM,IAAA,eAAQ,EAAC;wBACb,OAAO,EAAE,4EAA4E;qBACtF,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,6BAAc,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChF,MAAM,IAAA,eAAQ,EAAC;wBACb,OAAO,EAAE,gEAAgE,CAAC,GAAG,6BAAc,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACrH,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;oBACpB,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC,CAAC;gBAClF,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;oBAClC,MAAM,IAAA,eAAQ,EAAC;wBACb,OAAO,EAAE,gEAAgE;qBAC1E,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,WAAW;qBACb,IAAI,CAAqB,EAAE,GAAG,EAAE,sCAAuB,CAAC,YAAY,EAAE,CAAC;qBACvE,OAAO,CAAC,UAAU,CAAC,CAAC;gBACvB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iCAAsB,CAAC,CAAC;gBAEjD,wGAAwG;gBACxG,OAAO,CAAC,QAAQ,CACd,CAAC,IAAA,yBAAU,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,EAC1D,4BAAc,CACf,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,4BAAc,CAAC,CAAC;gBAE5C,IAAI,CAAC,MAAM;qBACR,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;qBAC7B,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBACvD,MAAM;YACR,CAAC;YAED,KAAK,wBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxB,MAAM,YAAY,GAAG,WAAW,CAAC;gBAEjC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC,CAAC;gBACxF,CAAC;gBAED,IAAI,CAAC,WAAW;qBACb,IAAI,CAAuB,EAAE,GAAG,EAAE,sCAAuB,CAAC,YAAY,EAAE,CAAC;qBACzE,OAAO,CAAC,YAAY,CAAC,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAwB,CAAC,CAAC;gBAEnD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAC3E,MAAM;YACR,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACR,wFAAwF;gBACxF,MAAM,IAAA,eAAQ,EAAC;oBACb,OAAO,EAAE,uCAAwC,WAAkC,CAAC,IAAI,EAAE;iBAC3F,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,iBAAiB,CAAC,IAA8C;QACtE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAEhC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;iBAChC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EACL,yGAAyG;aAC5G,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;YACrC,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EACL,wIAAwI;aAC3I,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,kDAA+B,CAAC,CAAC;QAE1D,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,8CAA6B,CAAC,CAAC;YAExD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,IAAI,+BAAgB,CAAC,iBAAiB,CAAC;YACjF,IAAI,CAAC,WAAW;iBACb,IAAI,CAAS,EAAE,GAAG,EAAE,sCAAuB,CAAC,kBAAkB,EAAE,CAAC;iBACjE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAErB,iFAAiF;YACjF,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAA,yBAAU,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,sCAAsB,CAAC,CAAC;YAC3E,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,sCAAsB,CAAC,CAAC;QACtD,CAAC;QAED,6CAA8B,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;YACpD,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,UAAU,EAAE;gBACV,EAAE,IAAI,EAAE,6BAAc,CAAC,gBAAgB,EAAE,QAAQ,EAAE,gDAA6B,EAAE;aACnF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;aAChC,IAAI,CACH,wEAAwE,EACxE,cAAc,CAAC,IAAI,EACnB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAC/D,CAAC;IACN,CAAC;IAEO,eAAe,CAAC,IAAkD;QACxE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;iBAC9B,KAAK,CAAC,yDAAyD,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,0DAA0D;aACpE,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW;aACb,IAAI,CAA4B,EAAE,GAAG,EAAE,sCAAuB,CAAC,aAAa,EAAE,CAAC;aAC/E,OAAO,CAAC,YAAY,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,4BAAiB,CAAC,CAAC;QAE5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACrF,CAAC;IAEO,iBAAiB,CAAC,IAAuC;QAC/D,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEjD,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,0EAA0E;aACpF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,IAAA,kCAAoB,EAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAE5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAClF,CAAC;IAED,YAAY;QACV,wBAAwB;IAC1B,CAAC;CACF,CAAA;AAtRY,sDAAqB;gCAArB,qBAAqB;IAE7B,WAAA,IAAA,qBAAM,EAAC,EAAE,GAAG,EAAE,2BAAY,CAAC,oBAAoB,EAAE,CAAC,CAAA;;GAF1C,qBAAqB,CAsRjC"}
|
|
@@ -21,6 +21,37 @@ export declare const defineAuthController: (opts: TDefineAuthControllerOpts) =>
|
|
|
21
21
|
args: unknown;
|
|
22
22
|
task: () => Promise<R>;
|
|
23
23
|
}): Promise<any>;
|
|
24
|
+
normalizeCountData<ResponseSchema extends unknown, RequestContext extends import("@venizia/ignis-kernel").TRouteContext<import("hono").Env> = import("@venizia/ignis-kernel").TRouteContext<import("hono").Env>, ResponseData extends {
|
|
25
|
+
count: number;
|
|
26
|
+
data?: import("@venizia/ignis-helpers/common").TNullable<ResponseSchema>;
|
|
27
|
+
} = {
|
|
28
|
+
count: number;
|
|
29
|
+
data?: import("@venizia/ignis-helpers/common").TNullable<ResponseSchema>;
|
|
30
|
+
}>(opts: {
|
|
31
|
+
context: RequestContext;
|
|
32
|
+
payload: ResponseData;
|
|
33
|
+
}): ResponseData | import("@venizia/ignis-helpers/common").TNullable<ResponseSchema>;
|
|
34
|
+
respond<R>(opts: {
|
|
35
|
+
context: import("@venizia/ignis-kernel").TRouteContext<import("hono").Env>;
|
|
36
|
+
format: import("@venizia/ignis-kernel").TResponseFormat;
|
|
37
|
+
payload: {
|
|
38
|
+
count: number;
|
|
39
|
+
data?: import("@venizia/ignis-helpers/common").TNullable<R>;
|
|
40
|
+
};
|
|
41
|
+
range?: import("@venizia/ignis-kernel").TDataRange;
|
|
42
|
+
}): import("@venizia/ignis-helpers/common").TNullable<R> | {
|
|
43
|
+
count: number;
|
|
44
|
+
data?: import("@venizia/ignis-helpers/common").TNullable<R>;
|
|
45
|
+
};
|
|
46
|
+
setListHeaders(opts: {
|
|
47
|
+
context: import("@venizia/ignis-kernel").TRouteContext<import("hono").Env>;
|
|
48
|
+
count: number;
|
|
49
|
+
} & ({
|
|
50
|
+
range: import("@venizia/ignis-kernel").TDataRange;
|
|
51
|
+
} | {
|
|
52
|
+
offset: number;
|
|
53
|
+
total: number;
|
|
54
|
+
})): void;
|
|
24
55
|
toHonoHandler<ResponseType = unknown>(opts: {
|
|
25
56
|
handler: import("@venizia/ignis-kernel").TRouteHandler<ResponseType, import("hono").Env>;
|
|
26
57
|
}): import("hono").Handler<import("hono").Env, string, import("hono").Input, (Response | Promise<Response>) | (import("@hono/zod-openapi").RouteConfigToTypedResponse<import("@hono/zod-openapi").RouteConfig> | Promise<import("@hono/zod-openapi").RouteConfigToTypedResponse<import("@hono/zod-openapi").RouteConfig>>)>;
|
|
@@ -58,12 +89,12 @@ export declare const defineAuthController: (opts: TDefineAuthControllerOpts) =>
|
|
|
58
89
|
getRouteConfigs<RouteConfig extends import("@venizia/ignis-kernel").IAuthRouteConfig>(opts: {
|
|
59
90
|
configs: RouteConfig;
|
|
60
91
|
}): RouteConfig & {
|
|
61
|
-
getRoutingPath(): RouteConfig["path"] extends infer T ? T extends RouteConfig["path"] ? T extends `${infer
|
|
92
|
+
getRoutingPath(): RouteConfig["path"] extends infer T ? T extends RouteConfig["path"] ? T extends `${infer Start}/{${infer Param}}${infer Rest}` ? `${Start}/:${Param}${Rest extends `${infer Start_1}/{${infer Param_1}}${infer Rest_1}` ? `${Start_1}/:${Param_1}${Rest_1 extends `${infer Start_2}/{${infer Param_2}}${infer Rest_2}` ? `${Start_2}/:${Param_2}${Rest_2 extends `${infer Start_3}/{${infer Param_3}}${infer Rest_3}` ? `${Start_3}/:${Param_3}${Rest_3 extends `${infer Start_4}/{${infer Param_4}}${infer Rest_4}` ? `${Start_4}/:${Param_4}${Rest_4 extends `${infer Start_5}/{${infer Param_5}}${infer Rest_5}` ? `${Start_5}/:${Param_5}${Rest_5 extends `${infer Start_6}/{${infer Param_6}}${infer Rest_6}` ? `${Start_6}/:${Param_6}${Rest_6 extends `${infer Start_7}/{${infer Param_7}}${infer Rest_7}` ? `${Start_7}/:${Param_7}${Rest_7 extends `${infer Start_8}/{${infer Param_8}}${infer Rest_8}` ? `${Start_8}/:${Param_8}${Rest_8 extends `${infer Start_9}/{${infer Param_9}}${infer Rest_9}` ? `${Start_9}/:${Param_9}${Rest_9 extends `${infer Start_10}/{${infer Param_10}}${infer Rest_10}` ? `${Start_10}/:${Param_10}${any}` : Rest_9}` : Rest_8}` : Rest_7}` : Rest_6}` : Rest_5}` : Rest_4}` : Rest_3}` : Rest_2}` : Rest_1}` : Rest}` : T : never : never;
|
|
62
93
|
};
|
|
63
94
|
getJSXRouteConfigs<RouteConfig extends import("@venizia/ignis-kernel").IAuthRouteConfig>(opts: {
|
|
64
95
|
configs: RouteConfig;
|
|
65
96
|
}): RouteConfig & {
|
|
66
|
-
getRoutingPath(): RouteConfig["path"] extends infer T ? T extends RouteConfig["path"] ? T extends `${infer
|
|
97
|
+
getRoutingPath(): RouteConfig["path"] extends infer T ? T extends RouteConfig["path"] ? T extends `${infer Start}/{${infer Param}}${infer Rest}` ? `${Start}/:${Param}${Rest extends `${infer Start_1}/{${infer Param_1}}${infer Rest_1}` ? `${Start_1}/:${Param_1}${Rest_1 extends `${infer Start_2}/{${infer Param_2}}${infer Rest_2}` ? `${Start_2}/:${Param_2}${Rest_2 extends `${infer Start_3}/{${infer Param_3}}${infer Rest_3}` ? `${Start_3}/:${Param_3}${Rest_3 extends `${infer Start_4}/{${infer Param_4}}${infer Rest_4}` ? `${Start_4}/:${Param_4}${Rest_4 extends `${infer Start_5}/{${infer Param_5}}${infer Rest_5}` ? `${Start_5}/:${Param_5}${Rest_5 extends `${infer Start_6}/{${infer Param_6}}${infer Rest_6}` ? `${Start_6}/:${Param_6}${Rest_6 extends `${infer Start_7}/{${infer Param_7}}${infer Rest_7}` ? `${Start_7}/:${Param_7}${Rest_7 extends `${infer Start_8}/{${infer Param_8}}${infer Rest_8}` ? `${Start_8}/:${Param_8}${Rest_8 extends `${infer Start_9}/{${infer Param_9}}${infer Rest_9}` ? `${Start_9}/:${Param_9}${Rest_9 extends `${infer Start_10}/{${infer Param_10}}${infer Rest_10}` ? `${Start_10}/:${Param_10}${any}` : Rest_9}` : Rest_8}` : Rest_7}` : Rest_6}` : Rest_5}` : Rest_4}` : Rest_3}` : Rest_2}` : Rest_1}` : Rest}` : T : never : never;
|
|
67
98
|
};
|
|
68
99
|
scope: string;
|
|
69
100
|
identifier: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authenticate/controllers/factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EAAQ,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAMrE,OAAO,EAAkB,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEhG,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAYhC,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAAI,MAAM,yBAAyB;sBAOvC,YAAY;iBAF5B,YAAY;mBAmBD,cAAc,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authenticate/controllers/factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EAAQ,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAMrE,OAAO,EAAkB,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEhG,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAYhC,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAAI,MAAM,yBAAyB;sBAOvC,YAAY;iBAF5B,YAAY;mBAmBD,cAAc,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAflC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0MV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authenticate/controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authenticate/controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC"}
|
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./factory"), exports);
|
|
18
18
|
__exportStar(require("./jwks"), exports);
|
|
19
|
+
__exportStar(require("./service-certs"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/auth/authenticate/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,yCAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/auth/authenticate/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,yCAAuB;AACvB,kDAAgC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseRestController } from '@venizia/ignis-kernel';
|
|
2
|
+
import { ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
3
|
+
import { ServiceAssertionSignerService } from '../../services/service/signer.service';
|
|
4
|
+
/** Publishes this service's assertion-signing public key. Mounted only when signing keys are configured. */
|
|
5
|
+
export declare class ServiceCertsController extends BaseRestController {
|
|
6
|
+
private readonly signer;
|
|
7
|
+
constructor(signer: ServiceAssertionSignerService, path: string);
|
|
8
|
+
binding(): ValueOrPromise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/controllers/service-certs/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAGnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAQ,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAGtF,4GAA4G;AAC5G,qBAAa,sBAAuB,SAAQ,kBAAkB;IAQ1D,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,6BAA6B,EAEtD,IAAI,EAAE,MAAM;IAKL,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;CAUzC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var ServiceCertsController_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ServiceCertsController = void 0;
|
|
17
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
18
|
+
const common_1 = require("@venizia/ignis-helpers/common");
|
|
19
|
+
const ignis_inversion_1 = require("@venizia/ignis-inversion");
|
|
20
|
+
const signer_service_1 = require("../../services/service/signer.service");
|
|
21
|
+
const definitions_1 = require("./definitions");
|
|
22
|
+
/** Publishes this service's assertion-signing public key. Mounted only when signing keys are configured. */
|
|
23
|
+
let ServiceCertsController = ServiceCertsController_1 = class ServiceCertsController extends ignis_kernel_1.BaseRestController {
|
|
24
|
+
constructor(signer, path) {
|
|
25
|
+
super({ scope: ServiceCertsController_1.name, path, isStrict: true });
|
|
26
|
+
this.signer = signer;
|
|
27
|
+
}
|
|
28
|
+
binding() {
|
|
29
|
+
this.defineRoute({
|
|
30
|
+
configs: definitions_1.ServiceCertsRouteConfigs.GET_SERVICE_CERTS,
|
|
31
|
+
handler: async (context) => {
|
|
32
|
+
const jwks = await this.signer.getPublicJWKS();
|
|
33
|
+
context.header('Cache-Control', 'public, max-age=600, stale-while-revalidate=86400');
|
|
34
|
+
return context.json(jwks, common_1.HTTP.ResultCodes.RS_2.Ok);
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.ServiceCertsController = ServiceCertsController;
|
|
40
|
+
exports.ServiceCertsController = ServiceCertsController = ServiceCertsController_1 = __decorate([
|
|
41
|
+
__param(0, (0, ignis_kernel_1.inject)({
|
|
42
|
+
key: ignis_inversion_1.BindingKeys.build({
|
|
43
|
+
namespace: ignis_kernel_1.BindingNamespaces.SERVICE,
|
|
44
|
+
key: signer_service_1.ServiceAssertionSignerService.name,
|
|
45
|
+
}),
|
|
46
|
+
})),
|
|
47
|
+
__param(1, (0, ignis_kernel_1.inject)({ key: ignis_kernel_1.AuthenticateBindingKeys.SERVICE_CERTS_PATH })),
|
|
48
|
+
__metadata("design:paramtypes", [signer_service_1.ServiceAssertionSignerService, String])
|
|
49
|
+
], ServiceCertsController);
|
|
50
|
+
//# sourceMappingURL=controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/controllers/service-certs/controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAK+B;AAC/B,0DAAqE;AACrE,8DAAuD;AACvD,0EAAsF;AACtF,+CAAyD;AAEzD,4GAA4G;AAC5G,IAAa,sBAAsB,8BAAnC,MAAa,sBAAuB,SAAQ,iCAAkB;IAC5D,YAOmB,MAAqC,EAEtD,IAAY;QAEZ,KAAK,CAAC,EAAE,KAAK,EAAE,wBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAJnD,WAAM,GAAN,MAAM,CAA+B;IAKxD,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,WAAW,CAAC;YACf,OAAO,EAAE,sCAAwB,CAAC,iBAAiB;YACnD,OAAO,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;gBACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC/C,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC,CAAC;gBACrF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAzBY,wDAAsB;iCAAtB,sBAAsB;IAE9B,WAAA,IAAA,qBAAM,EAAC;QACN,GAAG,EAAE,6BAAW,CAAC,KAAK,CAAC;YACrB,SAAS,EAAE,gCAAiB,CAAC,OAAO;YACpC,GAAG,EAAE,8CAA6B,CAAC,IAAI;SACxC,CAAC;KACH,CAAC,CAAA;IAED,WAAA,IAAA,qBAAM,EAAC,EAAE,GAAG,EAAE,sCAAuB,CAAC,kBAAkB,EAAE,CAAC,CAAA;qCADnC,8CAA6B;GAR7C,sBAAsB,CAyBlC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { z } from '@hono/zod-openapi';
|
|
2
|
+
/**
|
|
3
|
+
* Unauthenticated by design: it serves the PUBLIC key a callee needs to verify this service's
|
|
4
|
+
* assertions. Whoever can reach it learns only which key signs, which is what verification requires.
|
|
5
|
+
*
|
|
6
|
+
* The schema names public members only. That is documentation, not a filter - a zod response schema
|
|
7
|
+
* does not strip anything - so the guard that private material never gets here lives in the signer.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ServiceCertsRouteConfigs: {
|
|
10
|
+
readonly GET_SERVICE_CERTS: {
|
|
11
|
+
readonly path: "/";
|
|
12
|
+
readonly method: "get";
|
|
13
|
+
readonly responses: {
|
|
14
|
+
200: {
|
|
15
|
+
description: string;
|
|
16
|
+
content: {
|
|
17
|
+
'application/json': {
|
|
18
|
+
schema: z.ZodObject<{
|
|
19
|
+
keys: z.ZodArray<z.ZodObject<{
|
|
20
|
+
kty: z.ZodString;
|
|
21
|
+
kid: z.ZodOptional<z.ZodString>;
|
|
22
|
+
use: z.ZodOptional<z.ZodString>;
|
|
23
|
+
alg: z.ZodOptional<z.ZodString>;
|
|
24
|
+
crv: z.ZodOptional<z.ZodString>;
|
|
25
|
+
x: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, z.core.$strip>>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
required: boolean | undefined;
|
|
31
|
+
} | {
|
|
32
|
+
headers: never;
|
|
33
|
+
description: string;
|
|
34
|
+
content: {
|
|
35
|
+
'application/json': {
|
|
36
|
+
schema: z.ZodObject<{
|
|
37
|
+
keys: z.ZodArray<z.ZodObject<{
|
|
38
|
+
kty: z.ZodString;
|
|
39
|
+
kid: z.ZodOptional<z.ZodString>;
|
|
40
|
+
use: z.ZodOptional<z.ZodString>;
|
|
41
|
+
alg: z.ZodOptional<z.ZodString>;
|
|
42
|
+
crv: z.ZodOptional<z.ZodString>;
|
|
43
|
+
x: z.ZodOptional<z.ZodString>;
|
|
44
|
+
}, z.core.$strip>>;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
required: boolean | undefined;
|
|
49
|
+
};
|
|
50
|
+
"4xx | 5xx": {
|
|
51
|
+
description: string;
|
|
52
|
+
content: {
|
|
53
|
+
"application/json": {
|
|
54
|
+
schema: z.ZodObject<{
|
|
55
|
+
statusCode: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
message: z.ZodString;
|
|
57
|
+
normalized: z.ZodOptional<z.ZodObject<{
|
|
58
|
+
text: z.ZodString;
|
|
59
|
+
code: z.ZodString;
|
|
60
|
+
args: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
61
|
+
}, z.core.$strip>>;
|
|
62
|
+
extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
63
|
+
requestId: z.ZodOptional<z.ZodString>;
|
|
64
|
+
details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
65
|
+
}, z.core.$strip>;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
required: boolean | undefined;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/controllers/service-certs/definitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsB3B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ServiceCertsRouteConfigs = void 0;
|
|
4
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
5
|
+
const zod_openapi_1 = require("@hono/zod-openapi");
|
|
6
|
+
/**
|
|
7
|
+
* Unauthenticated by design: it serves the PUBLIC key a callee needs to verify this service's
|
|
8
|
+
* assertions. Whoever can reach it learns only which key signs, which is what verification requires.
|
|
9
|
+
*
|
|
10
|
+
* The schema names public members only. That is documentation, not a filter - a zod response schema
|
|
11
|
+
* does not strip anything - so the guard that private material never gets here lives in the signer.
|
|
12
|
+
*/
|
|
13
|
+
exports.ServiceCertsRouteConfigs = {
|
|
14
|
+
GET_SERVICE_CERTS: {
|
|
15
|
+
path: '/',
|
|
16
|
+
method: 'get',
|
|
17
|
+
responses: (0, ignis_kernel_1.jsonResponse)({
|
|
18
|
+
schema: zod_openapi_1.z
|
|
19
|
+
.object({
|
|
20
|
+
keys: zod_openapi_1.z.array(zod_openapi_1.z.object({
|
|
21
|
+
kty: zod_openapi_1.z.string(),
|
|
22
|
+
kid: zod_openapi_1.z.string().optional(),
|
|
23
|
+
use: zod_openapi_1.z.string().optional(),
|
|
24
|
+
alg: zod_openapi_1.z.string().optional(),
|
|
25
|
+
crv: zod_openapi_1.z.string().optional(),
|
|
26
|
+
x: zod_openapi_1.z.string().optional(),
|
|
27
|
+
})),
|
|
28
|
+
})
|
|
29
|
+
.openapi({ description: 'Service assertion JSON Web Key Set' }),
|
|
30
|
+
description: 'Service assertion JSON Web Key Set',
|
|
31
|
+
}),
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/controllers/service-certs/definitions.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AACrD,mDAAsC;AAEtC;;;;;;GAMG;AACU,QAAA,wBAAwB,GAAG;IACtC,iBAAiB,EAAE;QACjB,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,IAAA,2BAAY,EAAC;YACtB,MAAM,EAAE,eAAC;iBACN,MAAM,CAAC;gBACN,IAAI,EAAE,eAAC,CAAC,KAAK,CACX,eAAC,CAAC,MAAM,CAAC;oBACP,GAAG,EAAE,eAAC,CAAC,MAAM,EAAE;oBACf,GAAG,EAAE,eAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAC1B,GAAG,EAAE,eAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAC1B,GAAG,EAAE,eAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAC1B,GAAG,EAAE,eAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAC1B,CAAC,EAAE,eAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBACzB,CAAC,CACH;aACF,CAAC;iBACD,OAAO,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;YACjE,WAAW,EAAE,oCAAoC;SAClD,CAAC;KACH;CACO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/controllers/service-certs/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./controller"), exports);
|
|
18
|
+
__exportStar(require("./definitions"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/controllers/service-certs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,gDAA8B"}
|
|
@@ -18,6 +18,22 @@ export declare class JWKSIssuerTokenService<E extends Env = Env> extends Abstrac
|
|
|
18
18
|
priv: string;
|
|
19
19
|
pub: string;
|
|
20
20
|
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Refuses a JWK carrying private material where a PUBLIC key is expected.
|
|
23
|
+
*
|
|
24
|
+
* The `pem` format cannot reach this state - `importSPKI` rejects a private PEM outright. The
|
|
25
|
+
* `jwk` format can: `importJWK` imports whatever it is handed, and a private JWK marked
|
|
26
|
+
* `"ext": true` yields an EXTRACTABLE key, so `exportJWK` then carries `d` straight into the
|
|
27
|
+
* document `/certs` serves without authentication. Measured on jose 6.2.3: with `ext: true` the
|
|
28
|
+
* round trip returns `d`; without it, export throws. So the only thing standing between a
|
|
29
|
+
* mis-pasted key and a published signing key was an optional flag on attacker-irrelevant input.
|
|
30
|
+
*
|
|
31
|
+
* Named members, not a blanket scan: `d` covers EC/OKP and RSA's private exponent, and the CRT
|
|
32
|
+
* members are the rest of an RSA private key.
|
|
33
|
+
*/
|
|
34
|
+
protected assertPublicJWK(opts: {
|
|
35
|
+
jwk: JWK;
|
|
36
|
+
}): void;
|
|
21
37
|
protected parseKeyMaterial(opts: {
|
|
22
38
|
raw: {
|
|
23
39
|
priv: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issuer.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/auth/authenticate/services/bearer/jwks/issuer.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAEL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAIhB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EACL,SAAS,EAKT,GAAG,EAEH,OAAO,EACR,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,qBAAa,sBAAsB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,CAAE,SAAQ,wBAAwB,CAAC,CAAC,CAAC;IAOxF,SAAS,CAAC,OAAO,EAAE,kBAAkB;IANvC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,CAAQ;IAC/D,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,CAAQ;IAC9D,SAAS,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,IAAI,CAAQ;gBAIlC,OAAO,EAAE,kBAAkB;cAad,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"issuer.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/auth/authenticate/services/bearer/jwks/issuer.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAEL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAIhB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EACL,SAAS,EAKT,GAAG,EAEH,OAAO,EACR,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,qBAAa,sBAAsB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,CAAE,SAAQ,wBAAwB,CAAC,CAAC,CAAC;IAOxF,SAAS,CAAC,OAAO,EAAE,kBAAkB;IANvC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,CAAQ;IAC/D,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,CAAQ;IAC9D,SAAS,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,IAAI,CAAQ;gBAIlC,OAAO,EAAE,kBAAkB;cAad,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cAkCpC,iBAAiB,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;KAAE;;;;IA0B5E;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI;cAcnC,gBAAgB,CAAC,IAAI,EAAE;QACrC,GAAG,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACnC,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;KAClC;;;;cAsDwB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAM5D,SAAS,CAAC,IAAI,EAAE;QAC7B,OAAO,EAAE,gBAAgB,CAAC;QAC1B,iBAAiB,EAAE,kBAAkB,CAAC;QACtC,MAAM,CAAC,EAAE,eAAe,CAAC;KAC1B;cAiBkB,aAAa,IAAI,cAAc,CAAC,UAAU,GAAG,SAAS,CAAC;cAQvD,wBAAwB,IAAI,kBAAkB;IAIjE,OAAO,IAAI;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE;IAWpB,YAAY,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;CAI/C"}
|