@minimaltech/node-infra 0.2.27
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/LICENSE +26 -0
- package/README.md +8 -0
- package/dist/base/applications/base.application.d.ts +306 -0
- package/dist/base/applications/base.application.js +147 -0
- package/dist/base/applications/base.application.js.map +1 -0
- package/dist/base/applications/default.application.d.ts +19 -0
- package/dist/base/applications/default.application.js +78 -0
- package/dist/base/applications/default.application.js.map +1 -0
- package/dist/base/applications/index.d.ts +2 -0
- package/dist/base/applications/index.js +19 -0
- package/dist/base/applications/index.js.map +1 -0
- package/dist/base/base.component.d.ts +8 -0
- package/dist/base/base.component.js +12 -0
- package/dist/base/base.component.js.map +1 -0
- package/dist/base/base.datasource.d.ts +9 -0
- package/dist/base/base.datasource.js +13 -0
- package/dist/base/base.datasource.js.map +1 -0
- package/dist/base/base.model.d.ts +107 -0
- package/dist/base/base.model.js +79 -0
- package/dist/base/base.model.js.map +1 -0
- package/dist/base/base.provider.d.ts +7 -0
- package/dist/base/base.provider.js +12 -0
- package/dist/base/base.provider.js.map +1 -0
- package/dist/base/base.sequence.d.ts +8 -0
- package/dist/base/base.sequence.js +62 -0
- package/dist/base/base.sequence.js.map +1 -0
- package/dist/base/base.service.d.ts +8 -0
- package/dist/base/base.service.js +12 -0
- package/dist/base/base.service.js.map +1 -0
- package/dist/base/controllers/common.d.ts +17 -0
- package/dist/base/controllers/common.js +33 -0
- package/dist/base/controllers/common.js.map +1 -0
- package/dist/base/controllers/crud.controller.d.ts +39 -0
- package/dist/base/controllers/crud.controller.js +297 -0
- package/dist/base/controllers/crud.controller.js.map +1 -0
- package/dist/base/controllers/index.d.ts +4 -0
- package/dist/base/controllers/index.js +21 -0
- package/dist/base/controllers/index.js.map +1 -0
- package/dist/base/controllers/kv.controller.d.ts +20 -0
- package/dist/base/controllers/kv.controller.js +139 -0
- package/dist/base/controllers/kv.controller.js.map +1 -0
- package/dist/base/controllers/relational.controller.d.ts +40 -0
- package/dist/base/controllers/relational.controller.js +393 -0
- package/dist/base/controllers/relational.controller.js.map +1 -0
- package/dist/base/index.d.ts +9 -0
- package/dist/base/index.js +26 -0
- package/dist/base/index.js.map +1 -0
- package/dist/base/repositories/base.repository.d.ts +54 -0
- package/dist/base/repositories/base.repository.js +156 -0
- package/dist/base/repositories/base.repository.js.map +1 -0
- package/dist/base/repositories/index.d.ts +3 -0
- package/dist/base/repositories/index.js +20 -0
- package/dist/base/repositories/index.js.map +1 -0
- package/dist/base/repositories/searchable-tz-crud.repository.d.ts +42 -0
- package/dist/base/repositories/searchable-tz-crud.repository.js +241 -0
- package/dist/base/repositories/searchable-tz-crud.repository.js.map +1 -0
- package/dist/base/repositories/tz-crud.repository.d.ts +64 -0
- package/dist/base/repositories/tz-crud.repository.js +244 -0
- package/dist/base/repositories/tz-crud.repository.js.map +1 -0
- package/dist/common/constants.d.ts +62 -0
- package/dist/common/constants.js +87 -0
- package/dist/common/constants.js.map +1 -0
- package/dist/common/environments.d.ts +20 -0
- package/dist/common/environments.js +25 -0
- package/dist/common/environments.js.map +1 -0
- package/dist/common/index.d.ts +5 -0
- package/dist/common/index.js +22 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/keys.d.ts +4 -0
- package/dist/common/keys.js +9 -0
- package/dist/common/keys.js.map +1 -0
- package/dist/common/statuses.d.ts +36 -0
- package/dist/common/statuses.js +53 -0
- package/dist/common/statuses.js.map +1 -0
- package/dist/common/types.d.ts +96 -0
- package/dist/common/types.js +3 -0
- package/dist/common/types.js.map +1 -0
- package/dist/components/authenticate/common/constants.d.ts +15 -0
- package/dist/components/authenticate/common/constants.js +23 -0
- package/dist/components/authenticate/common/constants.js.map +1 -0
- package/dist/components/authenticate/common/index.d.ts +3 -0
- package/dist/components/authenticate/common/index.js +20 -0
- package/dist/components/authenticate/common/index.js.map +1 -0
- package/dist/components/authenticate/common/keys.d.ts +8 -0
- package/dist/components/authenticate/common/keys.js +13 -0
- package/dist/components/authenticate/common/keys.js.map +1 -0
- package/dist/components/authenticate/common/types.d.ts +80 -0
- package/dist/components/authenticate/common/types.js +146 -0
- package/dist/components/authenticate/common/types.js.map +1 -0
- package/dist/components/authenticate/component.d.ts +14 -0
- package/dist/components/authenticate/component.js +143 -0
- package/dist/components/authenticate/component.js.map +1 -0
- package/dist/components/authenticate/controllers/auth.controller.d.ts +21 -0
- package/dist/components/authenticate/controllers/auth.controller.js +125 -0
- package/dist/components/authenticate/controllers/auth.controller.js.map +1 -0
- package/dist/components/authenticate/controllers/index.d.ts +2 -0
- package/dist/components/authenticate/controllers/index.js +19 -0
- package/dist/components/authenticate/controllers/index.js.map +1 -0
- package/dist/components/authenticate/controllers/oauth2.controller.d.ts +46 -0
- package/dist/components/authenticate/controllers/oauth2.controller.js +227 -0
- package/dist/components/authenticate/controllers/oauth2.controller.js.map +1 -0
- package/dist/components/authenticate/index.d.ts +7 -0
- package/dist/components/authenticate/index.js +24 -0
- package/dist/components/authenticate/index.js.map +1 -0
- package/dist/components/authenticate/middleware.d.ts +11 -0
- package/dist/components/authenticate/middleware.js +89 -0
- package/dist/components/authenticate/middleware.js.map +1 -0
- package/dist/components/authenticate/models/index.d.ts +3 -0
- package/dist/components/authenticate/models/index.js +20 -0
- package/dist/components/authenticate/models/index.js.map +1 -0
- package/dist/components/authenticate/models/oauth2-client.model.d.ts +19 -0
- package/dist/components/authenticate/models/oauth2-client.model.js +100 -0
- package/dist/components/authenticate/models/oauth2-client.model.js.map +1 -0
- package/dist/components/authenticate/models/oauth2-scope.model.d.ts +8 -0
- package/dist/components/authenticate/models/oauth2-scope.model.js +61 -0
- package/dist/components/authenticate/models/oauth2-scope.model.js.map +1 -0
- package/dist/components/authenticate/models/oauth2-token.model.d.ts +12 -0
- package/dist/components/authenticate/models/oauth2-token.model.js +87 -0
- package/dist/components/authenticate/models/oauth2-token.model.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.d.ts +13 -0
- package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js +56 -0
- package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/base.d.ts +37 -0
- package/dist/components/authenticate/oauth2-handlers/base.js +192 -0
- package/dist/components/authenticate/oauth2-handlers/base.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/client-credential.handler.d.ts +12 -0
- package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js +28 -0
- package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/index.d.ts +5 -0
- package/dist/components/authenticate/oauth2-handlers/index.js +22 -0
- package/dist/components/authenticate/oauth2-handlers/index.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/oauth2.d.ts +15 -0
- package/dist/components/authenticate/oauth2-handlers/oauth2.js +36 -0
- package/dist/components/authenticate/oauth2-handlers/oauth2.js.map +1 -0
- package/dist/components/authenticate/oauth2-handlers/password.handler.d.ts +12 -0
- package/dist/components/authenticate/oauth2-handlers/password.handler.js +22 -0
- package/dist/components/authenticate/oauth2-handlers/password.handler.js.map +1 -0
- package/dist/components/authenticate/repositories/index.d.ts +1 -0
- package/dist/components/authenticate/repositories/index.js +18 -0
- package/dist/components/authenticate/repositories/index.js.map +1 -0
- package/dist/components/authenticate/repositories/oauth2.repository.d.ts +17 -0
- package/dist/components/authenticate/repositories/oauth2.repository.js +78 -0
- package/dist/components/authenticate/repositories/oauth2.repository.js.map +1 -0
- package/dist/components/authenticate/services/basic-token.service.d.ts +8 -0
- package/dist/components/authenticate/services/basic-token.service.js +42 -0
- package/dist/components/authenticate/services/basic-token.service.js.map +1 -0
- package/dist/components/authenticate/services/basic.strategy.d.ts +13 -0
- package/dist/components/authenticate/services/basic.strategy.js +64 -0
- package/dist/components/authenticate/services/basic.strategy.js.map +1 -0
- package/dist/components/authenticate/services/index.d.ts +6 -0
- package/dist/components/authenticate/services/index.js +23 -0
- package/dist/components/authenticate/services/index.js.map +1 -0
- package/dist/components/authenticate/services/jwt-token.service.d.ts +23 -0
- package/dist/components/authenticate/services/jwt-token.service.js +154 -0
- package/dist/components/authenticate/services/jwt-token.service.js.map +1 -0
- package/dist/components/authenticate/services/jwt.strategy.d.ts +9 -0
- package/dist/components/authenticate/services/jwt.strategy.js +34 -0
- package/dist/components/authenticate/services/jwt.strategy.js.map +1 -0
- package/dist/components/authenticate/services/oauth2.service.d.ts +51 -0
- package/dist/components/authenticate/services/oauth2.service.js +208 -0
- package/dist/components/authenticate/services/oauth2.service.js.map +1 -0
- package/dist/components/authenticate/services/oauth2.strategy.d.ts +23 -0
- package/dist/components/authenticate/services/oauth2.strategy.js +69 -0
- package/dist/components/authenticate/services/oauth2.strategy.js.map +1 -0
- package/dist/components/authenticate/views/fragments/footer.ejs +0 -0
- package/dist/components/authenticate/views/fragments/head.ejs +26 -0
- package/dist/components/authenticate/views/fragments/header.ejs +0 -0
- package/dist/components/authenticate/views/pages/auth.ejs +61 -0
- package/dist/components/authenticate/views/pages/error.ejs +21 -0
- package/dist/components/authorize/adapters/adapter-builder.d.ts +12 -0
- package/dist/components/authorize/adapters/adapter-builder.js +34 -0
- package/dist/components/authorize/adapters/adapter-builder.js.map +1 -0
- package/dist/components/authorize/adapters/base.adapter.d.ts +18 -0
- package/dist/components/authorize/adapters/base.adapter.js +67 -0
- package/dist/components/authorize/adapters/base.adapter.js.map +1 -0
- package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.d.ts +12 -0
- package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js +91 -0
- package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js.map +1 -0
- package/dist/components/authorize/adapters/casbin-redis-adapter.helper.d.ts +7 -0
- package/dist/components/authorize/adapters/casbin-redis-adapter.helper.js +15 -0
- package/dist/components/authorize/adapters/casbin-redis-adapter.helper.js.map +1 -0
- package/dist/components/authorize/adapters/index.d.ts +4 -0
- package/dist/components/authorize/adapters/index.js +21 -0
- package/dist/components/authorize/adapters/index.js.map +1 -0
- package/dist/components/authorize/common/constants.d.ts +14 -0
- package/dist/components/authorize/common/constants.js +22 -0
- package/dist/components/authorize/common/constants.js.map +1 -0
- package/dist/components/authorize/common/index.d.ts +3 -0
- package/dist/components/authorize/common/index.js +20 -0
- package/dist/components/authorize/common/index.js.map +1 -0
- package/dist/components/authorize/common/keys.d.ts +17 -0
- package/dist/components/authorize/common/keys.js +22 -0
- package/dist/components/authorize/common/keys.js.map +1 -0
- package/dist/components/authorize/common/types.d.ts +16 -0
- package/dist/components/authorize/common/types.js +9 -0
- package/dist/components/authorize/common/types.js.map +1 -0
- package/dist/components/authorize/component.d.ts +12 -0
- package/dist/components/authorize/component.js +158 -0
- package/dist/components/authorize/component.js.map +1 -0
- package/dist/components/authorize/decorators/index.d.ts +8 -0
- package/dist/components/authorize/decorators/index.js +19 -0
- package/dist/components/authorize/decorators/index.js.map +1 -0
- package/dist/components/authorize/index.d.ts +9 -0
- package/dist/components/authorize/index.js +26 -0
- package/dist/components/authorize/index.js.map +1 -0
- package/dist/components/authorize/interceptor.d.ts +9 -0
- package/dist/components/authorize/interceptor.js +121 -0
- package/dist/components/authorize/interceptor.js.map +1 -0
- package/dist/components/authorize/migrations/0000-create-view-policy.d.ts +7 -0
- package/dist/components/authorize/migrations/0000-create-view-policy.js +83 -0
- package/dist/components/authorize/migrations/0000-create-view-policy.js.map +1 -0
- package/dist/components/authorize/migrations/index.d.ts +1 -0
- package/dist/components/authorize/migrations/index.js +18 -0
- package/dist/components/authorize/migrations/index.js.map +1 -0
- package/dist/components/authorize/models/defs.d.ts +173 -0
- package/dist/components/authorize/models/defs.js +243 -0
- package/dist/components/authorize/models/defs.js.map +1 -0
- package/dist/components/authorize/models/index.d.ts +6 -0
- package/dist/components/authorize/models/index.js +23 -0
- package/dist/components/authorize/models/index.js.map +1 -0
- package/dist/components/authorize/models/permission-mapping.model.d.ts +36 -0
- package/dist/components/authorize/models/permission-mapping.model.js +40 -0
- package/dist/components/authorize/models/permission-mapping.model.js.map +1 -0
- package/dist/components/authorize/models/permission.model.d.ts +44 -0
- package/dist/components/authorize/models/permission.model.js +34 -0
- package/dist/components/authorize/models/permission.model.js.map +1 -0
- package/dist/components/authorize/models/role.model.d.ts +40 -0
- package/dist/components/authorize/models/role.model.js +46 -0
- package/dist/components/authorize/models/role.model.js.map +1 -0
- package/dist/components/authorize/models/user-role.model.d.ts +34 -0
- package/dist/components/authorize/models/user-role.model.js +35 -0
- package/dist/components/authorize/models/user-role.model.js.map +1 -0
- package/dist/components/authorize/models/view-authorize-policy.model.d.ts +9 -0
- package/dist/components/authorize/models/view-authorize-policy.model.js +70 -0
- package/dist/components/authorize/models/view-authorize-policy.model.js.map +1 -0
- package/dist/components/authorize/provider.d.ts +30 -0
- package/dist/components/authorize/provider.js +157 -0
- package/dist/components/authorize/provider.js.map +1 -0
- package/dist/components/authorize/repositories/authorize.repository.d.ts +33 -0
- package/dist/components/authorize/repositories/authorize.repository.js +105 -0
- package/dist/components/authorize/repositories/authorize.repository.js.map +1 -0
- package/dist/components/authorize/repositories/index.d.ts +1 -0
- package/dist/components/authorize/repositories/index.js +18 -0
- package/dist/components/authorize/repositories/index.js.map +1 -0
- package/dist/components/authorize/services/enforcer.service.d.ts +13 -0
- package/dist/components/authorize/services/enforcer.service.js +99 -0
- package/dist/components/authorize/services/enforcer.service.js.map +1 -0
- package/dist/components/authorize/services/generator.service.d.ts +54 -0
- package/dist/components/authorize/services/generator.service.js +161 -0
- package/dist/components/authorize/services/generator.service.js.map +1 -0
- package/dist/components/authorize/services/index.d.ts +2 -0
- package/dist/components/authorize/services/index.js +19 -0
- package/dist/components/authorize/services/index.js.map +1 -0
- package/dist/components/grpc/common/constants.d.ts +2 -0
- package/dist/components/grpc/common/constants.js +6 -0
- package/dist/components/grpc/common/constants.js.map +1 -0
- package/dist/components/grpc/common/index.d.ts +3 -0
- package/dist/components/grpc/common/index.js +20 -0
- package/dist/components/grpc/common/index.js.map +1 -0
- package/dist/components/grpc/common/keys.d.ts +10 -0
- package/dist/components/grpc/common/keys.js +17 -0
- package/dist/components/grpc/common/keys.js.map +1 -0
- package/dist/components/grpc/common/types.d.ts +31 -0
- package/dist/components/grpc/common/types.js +3 -0
- package/dist/components/grpc/common/types.js.map +1 -0
- package/dist/components/grpc/components/index.d.ts +1 -0
- package/dist/components/grpc/components/index.js +18 -0
- package/dist/components/grpc/components/index.js.map +1 -0
- package/dist/components/grpc/components/server.component.d.ts +10 -0
- package/dist/components/grpc/components/server.component.js +65 -0
- package/dist/components/grpc/components/server.component.js.map +1 -0
- package/dist/components/grpc/controllers/base.d.ts +14 -0
- package/dist/components/grpc/controllers/base.js +31 -0
- package/dist/components/grpc/controllers/base.js.map +1 -0
- package/dist/components/grpc/controllers/index.d.ts +1 -0
- package/dist/components/grpc/controllers/index.js +18 -0
- package/dist/components/grpc/controllers/index.js.map +1 -0
- package/dist/components/grpc/decorators/index.d.ts +3 -0
- package/dist/components/grpc/decorators/index.js +14 -0
- package/dist/components/grpc/decorators/index.js.map +1 -0
- package/dist/components/grpc/helpers/grpc-client.d.ts +15 -0
- package/dist/components/grpc/helpers/grpc-client.js +58 -0
- package/dist/components/grpc/helpers/grpc-client.js.map +1 -0
- package/dist/components/grpc/helpers/grpc-server.d.ts +21 -0
- package/dist/components/grpc/helpers/grpc-server.js +152 -0
- package/dist/components/grpc/helpers/grpc-server.js.map +1 -0
- package/dist/components/grpc/helpers/index.d.ts +2 -0
- package/dist/components/grpc/helpers/index.js +19 -0
- package/dist/components/grpc/helpers/index.js.map +1 -0
- package/dist/components/grpc/index.d.ts +6 -0
- package/dist/components/grpc/index.js +23 -0
- package/dist/components/grpc/index.js.map +1 -0
- package/dist/components/grpc/persistents/grpc.connector.d.ts +27 -0
- package/dist/components/grpc/persistents/grpc.connector.js +39 -0
- package/dist/components/grpc/persistents/grpc.connector.js.map +1 -0
- package/dist/components/grpc/persistents/grpc.datasource.d.ts +21 -0
- package/dist/components/grpc/persistents/grpc.datasource.js +43 -0
- package/dist/components/grpc/persistents/grpc.datasource.js.map +1 -0
- package/dist/components/grpc/persistents/grpc.repository.d.ts +13 -0
- package/dist/components/grpc/persistents/grpc.repository.js +28 -0
- package/dist/components/grpc/persistents/grpc.repository.js.map +1 -0
- package/dist/components/grpc/persistents/index.d.ts +3 -0
- package/dist/components/grpc/persistents/index.js +20 -0
- package/dist/components/grpc/persistents/index.js.map +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.js +23 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/migration/common/index.d.ts +2 -0
- package/dist/components/migration/common/index.js +19 -0
- package/dist/components/migration/common/index.js.map +1 -0
- package/dist/components/migration/common/keys.d.ts +5 -0
- package/dist/components/migration/common/keys.js +10 -0
- package/dist/components/migration/common/keys.js.map +1 -0
- package/dist/components/migration/common/types.d.ts +9 -0
- package/dist/components/migration/common/types.js +3 -0
- package/dist/components/migration/common/types.js.map +1 -0
- package/dist/components/migration/component.d.ts +11 -0
- package/dist/components/migration/component.js +55 -0
- package/dist/components/migration/component.js.map +1 -0
- package/dist/components/migration/index.d.ts +4 -0
- package/dist/components/migration/index.js +21 -0
- package/dist/components/migration/index.js.map +1 -0
- package/dist/components/migration/models/index.d.ts +1 -0
- package/dist/components/migration/models/index.js +18 -0
- package/dist/components/migration/models/index.js.map +1 -0
- package/dist/components/migration/models/migration.model.d.ts +6 -0
- package/dist/components/migration/models/migration.model.js +54 -0
- package/dist/components/migration/models/migration.model.js.map +1 -0
- package/dist/components/migration/repositories/index.d.ts +1 -0
- package/dist/components/migration/repositories/index.js +18 -0
- package/dist/components/migration/repositories/index.js.map +1 -0
- package/dist/components/migration/repositories/migration.repository.d.ts +13 -0
- package/dist/components/migration/repositories/migration.repository.js +53 -0
- package/dist/components/migration/repositories/migration.repository.js.map +1 -0
- package/dist/components/socket-io/common/constants.d.ts +12 -0
- package/dist/components/socket-io/common/constants.js +17 -0
- package/dist/components/socket-io/common/constants.js.map +1 -0
- package/dist/components/socket-io/common/index.d.ts +2 -0
- package/dist/components/socket-io/common/index.js +19 -0
- package/dist/components/socket-io/common/index.js.map +1 -0
- package/dist/components/socket-io/common/keys.d.ts +8 -0
- package/dist/components/socket-io/common/keys.js +13 -0
- package/dist/components/socket-io/common/keys.js.map +1 -0
- package/dist/components/socket-io/component.d.ts +9 -0
- package/dist/components/socket-io/component.js +73 -0
- package/dist/components/socket-io/component.js.map +1 -0
- package/dist/components/socket-io/helpers/index.d.ts +2 -0
- package/dist/components/socket-io/helpers/index.js +19 -0
- package/dist/components/socket-io/helpers/index.js.map +1 -0
- package/dist/components/socket-io/helpers/socket-io-client.helper.d.ts +34 -0
- package/dist/components/socket-io/helpers/socket-io-client.helper.js +89 -0
- package/dist/components/socket-io/helpers/socket-io-client.helper.js.map +1 -0
- package/dist/components/socket-io/helpers/socket-io-server.helper.d.ts +74 -0
- package/dist/components/socket-io/helpers/socket-io-server.helper.js +325 -0
- package/dist/components/socket-io/helpers/socket-io-server.helper.js.map +1 -0
- package/dist/components/socket-io/helpers/types.d.ts +15 -0
- package/dist/components/socket-io/helpers/types.js +3 -0
- package/dist/components/socket-io/helpers/types.js.map +1 -0
- package/dist/components/socket-io/index.d.ts +3 -0
- package/dist/components/socket-io/index.js +20 -0
- package/dist/components/socket-io/index.js.map +1 -0
- package/dist/components/static-asset/common/index.d.ts +1 -0
- package/dist/components/static-asset/common/index.js +18 -0
- package/dist/components/static-asset/common/index.js.map +1 -0
- package/dist/components/static-asset/common/keys.d.ts +6 -0
- package/dist/components/static-asset/common/keys.js +11 -0
- package/dist/components/static-asset/common/keys.js.map +1 -0
- package/dist/components/static-asset/component.d.ts +13 -0
- package/dist/components/static-asset/component.js +73 -0
- package/dist/components/static-asset/component.js.map +1 -0
- package/dist/components/static-asset/controllers/asset.controller.d.ts +18 -0
- package/dist/components/static-asset/controllers/asset.controller.js +239 -0
- package/dist/components/static-asset/controllers/asset.controller.js.map +1 -0
- package/dist/components/static-asset/controllers/index.d.ts +2 -0
- package/dist/components/static-asset/controllers/index.js +19 -0
- package/dist/components/static-asset/controllers/index.js.map +1 -0
- package/dist/components/static-asset/controllers/resource.controller.d.ts +14 -0
- package/dist/components/static-asset/controllers/resource.controller.js +140 -0
- package/dist/components/static-asset/controllers/resource.controller.js.map +1 -0
- package/dist/components/static-asset/index.d.ts +3 -0
- package/dist/components/static-asset/index.js +20 -0
- package/dist/components/static-asset/index.js.map +1 -0
- package/dist/datasources/index.d.ts +2 -0
- package/dist/datasources/index.js +19 -0
- package/dist/datasources/index.js.map +1 -0
- package/dist/datasources/kvmem.datasource.d.ts +9 -0
- package/dist/datasources/kvmem.datasource.js +36 -0
- package/dist/datasources/kvmem.datasource.js.map +1 -0
- package/dist/datasources/postgres.datasource.d.ts +14 -0
- package/dist/datasources/postgres.datasource.js +71 -0
- package/dist/datasources/postgres.datasource.js.map +1 -0
- package/dist/helpers/application-environment.helper.d.ts +13 -0
- package/dist/helpers/application-environment.helper.js +31 -0
- package/dist/helpers/application-environment.helper.js.map +1 -0
- package/dist/helpers/cron.helper.d.ts +21 -0
- package/dist/helpers/cron.helper.js +59 -0
- package/dist/helpers/cron.helper.js.map +1 -0
- package/dist/helpers/database/index.d.ts +1 -0
- package/dist/helpers/database/index.js +18 -0
- package/dist/helpers/database/index.js.map +1 -0
- package/dist/helpers/database/query-builder.helper.d.ts +43 -0
- package/dist/helpers/database/query-builder.helper.js +72 -0
- package/dist/helpers/database/query-builder.helper.js.map +1 -0
- package/dist/helpers/index.d.ts +9 -0
- package/dist/helpers/index.js +26 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/logger/application-logger.d.ts +13 -0
- package/dist/helpers/logger/application-logger.js +66 -0
- package/dist/helpers/logger/application-logger.js.map +1 -0
- package/dist/helpers/logger/default-logger.d.ts +4 -0
- package/dist/helpers/logger/default-logger.js +40 -0
- package/dist/helpers/logger/default-logger.js.map +1 -0
- package/dist/helpers/logger/factory.d.ts +4 -0
- package/dist/helpers/logger/factory.js +13 -0
- package/dist/helpers/logger/factory.js.map +1 -0
- package/dist/helpers/logger/index.d.ts +3 -0
- package/dist/helpers/logger/index.js +20 -0
- package/dist/helpers/logger/index.js.map +1 -0
- package/dist/helpers/network/base-network-request.d.ts +16 -0
- package/dist/helpers/network/base-network-request.js +65 -0
- package/dist/helpers/network/base-network-request.js.map +1 -0
- package/dist/helpers/network/index.d.ts +4 -0
- package/dist/helpers/network/index.js +21 -0
- package/dist/helpers/network/index.js.map +1 -0
- package/dist/helpers/network/network-tcp-client.helper.d.ts +45 -0
- package/dist/helpers/network/network-tcp-client.helper.js +136 -0
- package/dist/helpers/network/network-tcp-client.helper.js.map +1 -0
- package/dist/helpers/network/network-udp-client.helper.d.ts +43 -0
- package/dist/helpers/network/network-udp-client.helper.js +82 -0
- package/dist/helpers/network/network-udp-client.helper.js.map +1 -0
- package/dist/helpers/network/network.helper.d.ts +26 -0
- package/dist/helpers/network/network.helper.js +121 -0
- package/dist/helpers/network/network.helper.js.map +1 -0
- package/dist/helpers/queue/bullmq.helper.d.ts +32 -0
- package/dist/helpers/queue/bullmq.helper.js +94 -0
- package/dist/helpers/queue/bullmq.helper.js.map +1 -0
- package/dist/helpers/queue/index.d.ts +3 -0
- package/dist/helpers/queue/index.js +20 -0
- package/dist/helpers/queue/index.js.map +1 -0
- package/dist/helpers/queue/mqtt.helper.d.ts +35 -0
- package/dist/helpers/queue/mqtt.helper.js +99 -0
- package/dist/helpers/queue/mqtt.helper.js.map +1 -0
- package/dist/helpers/queue/queue.helper.d.ts +31 -0
- package/dist/helpers/queue/queue.helper.js +90 -0
- package/dist/helpers/queue/queue.helper.js.map +1 -0
- package/dist/helpers/redis.helper.d.ts +82 -0
- package/dist/helpers/redis.helper.js +238 -0
- package/dist/helpers/redis.helper.js.map +1 -0
- package/dist/helpers/storage/di-container.helper.d.ts +11 -0
- package/dist/helpers/storage/di-container.helper.js +28 -0
- package/dist/helpers/storage/di-container.helper.js.map +1 -0
- package/dist/helpers/storage/index.d.ts +2 -0
- package/dist/helpers/storage/index.js +19 -0
- package/dist/helpers/storage/index.js.map +1 -0
- package/dist/helpers/storage/minio.helper.d.ts +58 -0
- package/dist/helpers/storage/minio.helper.js +171 -0
- package/dist/helpers/storage/minio.helper.js.map +1 -0
- package/dist/helpers/testing/common.d.ts +6 -0
- package/dist/helpers/testing/common.js +10 -0
- package/dist/helpers/testing/common.js.map +1 -0
- package/dist/helpers/testing/describe.d.ts +15 -0
- package/dist/helpers/testing/describe.js +55 -0
- package/dist/helpers/testing/describe.js.map +1 -0
- package/dist/helpers/testing/index.d.ts +6 -0
- package/dist/helpers/testing/index.js +23 -0
- package/dist/helpers/testing/index.js.map +1 -0
- package/dist/helpers/testing/test-case.d.ts +20 -0
- package/dist/helpers/testing/test-case.js +18 -0
- package/dist/helpers/testing/test-case.js.map +1 -0
- package/dist/helpers/testing/test-handler.d.ts +23 -0
- package/dist/helpers/testing/test-handler.js +54 -0
- package/dist/helpers/testing/test-handler.js.map +1 -0
- package/dist/helpers/testing/test-plan/base.d.ts +28 -0
- package/dist/helpers/testing/test-plan/base.js +70 -0
- package/dist/helpers/testing/test-plan/base.js.map +1 -0
- package/dist/helpers/testing/test-plan/default.d.ts +5 -0
- package/dist/helpers/testing/test-plan/default.js +11 -0
- package/dist/helpers/testing/test-plan/default.js.map +1 -0
- package/dist/helpers/testing/test-plan/index.d.ts +2 -0
- package/dist/helpers/testing/test-plan/index.js +19 -0
- package/dist/helpers/testing/test-plan/index.js.map +1 -0
- package/dist/helpers/testing/types.d.ts +51 -0
- package/dist/helpers/testing/types.js +3 -0
- package/dist/helpers/testing/types.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/interceptors/content-range.interceptor.d.ts +26 -0
- package/dist/interceptors/content-range.interceptor.js +188 -0
- package/dist/interceptors/content-range.interceptor.js.map +1 -0
- package/dist/interceptors/index.d.ts +1 -0
- package/dist/interceptors/index.js +18 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/middlewares/index.d.ts +2 -0
- package/dist/middlewares/index.js +19 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/request-body-parser.middleware.d.ts +9 -0
- package/dist/middlewares/request-body-parser.middleware.js +80 -0
- package/dist/middlewares/request-body-parser.middleware.js.map +1 -0
- package/dist/middlewares/request-spy.middleware.d.ts +8 -0
- package/dist/middlewares/request-spy.middleware.js +64 -0
- package/dist/middlewares/request-spy.middleware.js.map +1 -0
- package/dist/migrations/base-path.d.ts +1 -0
- package/dist/migrations/base-path.js +6 -0
- package/dist/migrations/base-path.js.map +1 -0
- package/dist/migrations/handler.d.ts +9 -0
- package/dist/migrations/handler.js +80 -0
- package/dist/migrations/handler.js.map +1 -0
- package/dist/migrations/index.d.ts +1 -0
- package/dist/migrations/index.js +18 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/mixins/data-type.mixin.d.ts +15 -0
- package/dist/mixins/data-type.mixin.js +68 -0
- package/dist/mixins/data-type.mixin.js.map +1 -0
- package/dist/mixins/index.d.ts +8 -0
- package/dist/mixins/index.js +25 -0
- package/dist/mixins/index.js.map +1 -0
- package/dist/mixins/object-search.mixin.d.ts +12 -0
- package/dist/mixins/object-search.mixin.js +31 -0
- package/dist/mixins/object-search.mixin.js.map +1 -0
- package/dist/mixins/principal.mixin.d.ts +13 -0
- package/dist/mixins/principal.mixin.js +41 -0
- package/dist/mixins/principal.mixin.js.map +1 -0
- package/dist/mixins/soft-delete.mixin.d.ts +11 -0
- package/dist/mixins/soft-delete.mixin.js +31 -0
- package/dist/mixins/soft-delete.mixin.js.map +1 -0
- package/dist/mixins/soft-persistent.mixin.d.ts +11 -0
- package/dist/mixins/soft-persistent.mixin.js +30 -0
- package/dist/mixins/soft-persistent.mixin.js.map +1 -0
- package/dist/mixins/text-search.mixin.d.ts +11 -0
- package/dist/mixins/text-search.mixin.js +31 -0
- package/dist/mixins/text-search.mixin.js.map +1 -0
- package/dist/mixins/tz.mixin.d.ts +12 -0
- package/dist/mixins/tz.mixin.js +42 -0
- package/dist/mixins/tz.mixin.js.map +1 -0
- package/dist/mixins/user-audit.mixin.d.ts +13 -0
- package/dist/mixins/user-audit.mixin.js +42 -0
- package/dist/mixins/user-audit.mixin.js.map +1 -0
- package/dist/static/security/authorize_model.conf +14 -0
- package/dist/static/security/authorize_model_match_subject.conf +14 -0
- package/dist/utilities/crypto.utility.d.ts +22 -0
- package/dist/utilities/crypto.utility.js +131 -0
- package/dist/utilities/crypto.utility.js.map +1 -0
- package/dist/utilities/date.utility.d.ts +13 -0
- package/dist/utilities/date.utility.js +59 -0
- package/dist/utilities/date.utility.js.map +1 -0
- package/dist/utilities/error.utility.d.ts +14 -0
- package/dist/utilities/error.utility.js +18 -0
- package/dist/utilities/error.utility.js.map +1 -0
- package/dist/utilities/index.d.ts +7 -0
- package/dist/utilities/index.js +24 -0
- package/dist/utilities/index.js.map +1 -0
- package/dist/utilities/parse.utility.d.ts +12 -0
- package/dist/utilities/parse.utility.js +160 -0
- package/dist/utilities/parse.utility.js.map +1 -0
- package/dist/utilities/performance.utility.d.ts +4 -0
- package/dist/utilities/performance.utility.js +11 -0
- package/dist/utilities/performance.utility.js.map +1 -0
- package/dist/utilities/request.utility.d.ts +17 -0
- package/dist/utilities/request.utility.js +41 -0
- package/dist/utilities/request.utility.js.map +1 -0
- package/dist/utilities/url.utility.d.ts +2 -0
- package/dist/utilities/url.utility.js +32 -0
- package/dist/utilities/url.utility.js.map +1 -0
- package/package.json +128 -0
@@ -0,0 +1,78 @@
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
16
|
+
};
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
18
|
+
exports.OAuth2TokenRepository = exports.OAuth2ScopeRepository = exports.OAuth2ClientRepository = void 0;
|
19
|
+
const base_datasource_1 = require("../../../base/base.datasource");
|
20
|
+
const repositories_1 = require("../../../base/repositories");
|
21
|
+
const core_1 = require("@loopback/core");
|
22
|
+
const models_1 = require("../models");
|
23
|
+
const utilities_1 = require("../../../utilities");
|
24
|
+
const repository_1 = require("@loopback/repository");
|
25
|
+
const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
26
|
+
const DS_OAUTH2 = process.env.APP_ENV_APPLICATION_DS_OAUTH2
|
27
|
+
? process.env.APP_ENV_APPLICATION_DS_OAUTH2
|
28
|
+
: process.env.APP_ENV_APPLICATION_DS_AUTHORIZE;
|
29
|
+
let OAuth2ClientRepository = class OAuth2ClientRepository extends repositories_1.TzCrudRepository {
|
30
|
+
constructor(dataSource) {
|
31
|
+
if (!DS_OAUTH2 || (0, isEmpty_1.default)(DS_OAUTH2)) {
|
32
|
+
throw (0, utilities_1.getError)({
|
33
|
+
message: `[AUTHORIZE][DANGER] INVALID DATABASE CONFIGURE | Missing env: DS_AUTHORIZE`,
|
34
|
+
});
|
35
|
+
}
|
36
|
+
super(models_1.OAuth2Client, dataSource);
|
37
|
+
}
|
38
|
+
};
|
39
|
+
exports.OAuth2ClientRepository = OAuth2ClientRepository;
|
40
|
+
exports.OAuth2ClientRepository = OAuth2ClientRepository = __decorate([
|
41
|
+
__param(0, (0, core_1.inject)(`datasources.${DS_OAUTH2}`)),
|
42
|
+
__metadata("design:paramtypes", [base_datasource_1.BaseDataSource])
|
43
|
+
], OAuth2ClientRepository);
|
44
|
+
let OAuth2ScopeRepository = class OAuth2ScopeRepository extends repositories_1.TzCrudRepository {
|
45
|
+
constructor(dataSource) {
|
46
|
+
if (!DS_OAUTH2 || (0, isEmpty_1.default)(DS_OAUTH2)) {
|
47
|
+
throw (0, utilities_1.getError)({
|
48
|
+
message: `[AUTHORIZE][DANGER] INVALID DATABASE CONFIGURE | Missing env: DS_AUTHORIZE`,
|
49
|
+
});
|
50
|
+
}
|
51
|
+
super(models_1.OAuth2Scope, dataSource);
|
52
|
+
}
|
53
|
+
};
|
54
|
+
exports.OAuth2ScopeRepository = OAuth2ScopeRepository;
|
55
|
+
exports.OAuth2ScopeRepository = OAuth2ScopeRepository = __decorate([
|
56
|
+
__param(0, (0, core_1.inject)(`datasources.${DS_OAUTH2}`)),
|
57
|
+
__metadata("design:paramtypes", [base_datasource_1.BaseDataSource])
|
58
|
+
], OAuth2ScopeRepository);
|
59
|
+
let OAuth2TokenRepository = class OAuth2TokenRepository extends repositories_1.TzCrudRepository {
|
60
|
+
constructor(dataSource, oauth2ClientRepository) {
|
61
|
+
if (!DS_OAUTH2 || (0, isEmpty_1.default)(DS_OAUTH2)) {
|
62
|
+
throw (0, utilities_1.getError)({
|
63
|
+
message: `[AUTHORIZE][DANGER] INVALID DATABASE CONFIGURE | Missing env: DS_AUTHORIZE`,
|
64
|
+
});
|
65
|
+
}
|
66
|
+
super(models_1.OAuth2Token, dataSource);
|
67
|
+
this.oauth2ClientRepository = oauth2ClientRepository;
|
68
|
+
this.client = this.createBelongsToAccessorFor('client', oauth2ClientRepository);
|
69
|
+
this.registerInclusionResolver('client', this.client.inclusionResolver);
|
70
|
+
}
|
71
|
+
};
|
72
|
+
exports.OAuth2TokenRepository = OAuth2TokenRepository;
|
73
|
+
exports.OAuth2TokenRepository = OAuth2TokenRepository = __decorate([
|
74
|
+
__param(0, (0, core_1.inject)(`datasources.${DS_OAUTH2}`)),
|
75
|
+
__param(1, repository_1.repository.getter('OAuth2ScopeRepository')),
|
76
|
+
__metadata("design:paramtypes", [base_datasource_1.BaseDataSource, Function])
|
77
|
+
], OAuth2TokenRepository);
|
78
|
+
//# sourceMappingURL=oauth2.repository.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"oauth2.repository.js","sourceRoot":"","sources":["../../../../src/components/authenticate/repositories/oauth2.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,4DAAwD;AACxD,sDAAuD;AACvD,yCAAgD;AAChD,sCAAmE;AAGnE,2CAAuC;AACvC,qDAAqE;AACrE,6DAAqC;AAErC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B;IACzD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B;IAC3C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;AAEjD,IAAa,sBAAsB,GAAnC,MAAa,sBAAuB,SAAQ,+BAA8B;IACxE,YAAgD,UAA0B;QACxE,IAAI,CAAC,SAAS,IAAI,IAAA,iBAAO,EAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,IAAA,oBAAQ,EAAC;gBACb,OAAO,EAAE,4EAA4E;aACtF,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,qBAAY,EAAE,UAAU,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAVY,wDAAsB;iCAAtB,sBAAsB;IACpB,WAAA,IAAA,aAAM,EAAC,eAAe,SAAS,EAAE,CAAC,CAAA;qCAAa,gCAAc;GAD/D,sBAAsB,CAUlC;AAED,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,+BAA6B;IACtE,YAAgD,UAA0B;QACxE,IAAI,CAAC,SAAS,IAAI,IAAA,iBAAO,EAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,IAAA,oBAAQ,EAAC;gBACb,OAAO,EAAE,4EAA4E;aACtF,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,oBAAW,EAAE,UAAU,CAAC,CAAC;IACjC,CAAC;CACF,CAAA;AAVY,sDAAqB;gCAArB,qBAAqB;IACnB,WAAA,IAAA,aAAM,EAAC,eAAe,SAAS,EAAE,CAAC,CAAA;qCAAa,gCAAc;GAD/D,qBAAqB,CAUjC;AAED,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,+BAA6B;IAGtE,YACsC,UAA0B,EAEpD,sBAAsD;QAEhE,IAAI,CAAC,SAAS,IAAI,IAAA,iBAAO,EAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,IAAA,oBAAQ,EAAC;gBACb,OAAO,EAAE,4EAA4E;aACtF,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,oBAAW,EAAE,UAAU,CAAC,CAAC;QARrB,2BAAsB,GAAtB,sBAAsB,CAAgC;QAUhE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAChF,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC1E,CAAC;CACF,CAAA;AAnBY,sDAAqB;gCAArB,qBAAqB;IAI7B,WAAA,IAAA,aAAM,EAAC,eAAe,SAAS,EAAE,CAAC,CAAA;IAClC,WAAA,uBAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;qCADK,gCAAc;GAJrD,qBAAqB,CAmBjC"}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
exports.BasicTokenService = void 0;
|
13
|
+
const base_service_1 = require("../../../base/base.service");
|
14
|
+
const rest_1 = require("@loopback/rest");
|
15
|
+
class BasicTokenService extends base_service_1.BaseService {
|
16
|
+
constructor() {
|
17
|
+
super({ scope: BasicTokenService.name });
|
18
|
+
}
|
19
|
+
verify(credential) {
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
21
|
+
if (!credential) {
|
22
|
+
this.logger.error('verify', 'Missing basic credential for validating request!');
|
23
|
+
throw new rest_1.HttpErrors.Unauthorized('Invalid basic request credential!');
|
24
|
+
}
|
25
|
+
let tokenPayload;
|
26
|
+
try {
|
27
|
+
const { username, password } = credential;
|
28
|
+
const basicCredential = {
|
29
|
+
identifier: { scheme: 'username', value: username },
|
30
|
+
credential: { scheme: 'basic', value: password },
|
31
|
+
};
|
32
|
+
tokenPayload = basicCredential;
|
33
|
+
}
|
34
|
+
catch (error) {
|
35
|
+
throw new rest_1.HttpErrors.Unauthorized(`Error verifying token : ${error.message}`);
|
36
|
+
}
|
37
|
+
return tokenPayload;
|
38
|
+
});
|
39
|
+
}
|
40
|
+
}
|
41
|
+
exports.BasicTokenService = BasicTokenService;
|
42
|
+
//# sourceMappingURL=basic-token.service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"basic-token.service.js","sourceRoot":"","sources":["../../../../src/components/authenticate/services/basic-token.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAkD;AAClD,yCAA4C;AAE5C,MAAa,iBAAkB,SAAQ,0BAAW;IAChD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEK,MAAM,CAAC,UAAkD;;YAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,kDAAkD,CAAC,CAAC;gBAChF,MAAM,IAAI,iBAAU,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,YAAY,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;gBAC1C,MAAM,eAAe,GAAG;oBACtB,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACnD,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;iBACjD,CAAC;gBAEF,YAAY,GAAG,eAAe,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,iBAAU,CAAC,YAAY,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChF,CAAC;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;CACF;AA1BD,8CA0BC"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { AuthenticationStrategy } from '@loopback/authentication';
|
2
|
+
import { Request } from '@loopback/rest';
|
3
|
+
import { BasicTokenService } from './basic-token.service';
|
4
|
+
export declare class BasicAuthenticationStrategy implements AuthenticationStrategy {
|
5
|
+
private service;
|
6
|
+
name: string;
|
7
|
+
constructor(service: BasicTokenService);
|
8
|
+
extractCredentials(request: Request): {
|
9
|
+
username: string;
|
10
|
+
password: string;
|
11
|
+
};
|
12
|
+
authenticate(request: Request): Promise<any>;
|
13
|
+
}
|
@@ -0,0 +1,64 @@
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
21
|
+
});
|
22
|
+
};
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
24
|
+
exports.BasicAuthenticationStrategy = void 0;
|
25
|
+
const core_1 = require("@loopback/core");
|
26
|
+
const rest_1 = require("@loopback/rest");
|
27
|
+
const common_1 = require("../common");
|
28
|
+
const basic_token_service_1 = require("./basic-token.service");
|
29
|
+
let BasicAuthenticationStrategy = class BasicAuthenticationStrategy {
|
30
|
+
constructor(service) {
|
31
|
+
this.service = service;
|
32
|
+
this.name = common_1.Authentication.TYPE_BASIC;
|
33
|
+
}
|
34
|
+
extractCredentials(request) {
|
35
|
+
if (!request.headers.authorization) {
|
36
|
+
throw new rest_1.HttpErrors.Unauthorized(`Authorization header not found.`);
|
37
|
+
}
|
38
|
+
const authHeaderValue = request.headers.authorization;
|
39
|
+
if (!authHeaderValue.startsWith('Basic')) {
|
40
|
+
throw new rest_1.HttpErrors.Unauthorized(`Authorization header is not of type 'Basic'.`);
|
41
|
+
}
|
42
|
+
const parts = authHeaderValue.split(' ');
|
43
|
+
if (parts.length !== 2) {
|
44
|
+
throw new rest_1.HttpErrors.Unauthorized('Invalid basic authentication header');
|
45
|
+
}
|
46
|
+
const token = parts[1];
|
47
|
+
const credential = Buffer.from(token, 'base64').toString();
|
48
|
+
const [username, password] = (credential === null || credential === void 0 ? void 0 : credential.split(':')) || [];
|
49
|
+
return { username, password };
|
50
|
+
}
|
51
|
+
authenticate(request) {
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
53
|
+
const credential = this.extractCredentials(request);
|
54
|
+
const rs = yield this.service.verify(credential);
|
55
|
+
return rs;
|
56
|
+
});
|
57
|
+
}
|
58
|
+
};
|
59
|
+
exports.BasicAuthenticationStrategy = BasicAuthenticationStrategy;
|
60
|
+
exports.BasicAuthenticationStrategy = BasicAuthenticationStrategy = __decorate([
|
61
|
+
__param(0, (0, core_1.inject)('services.BasicTokenService')),
|
62
|
+
__metadata("design:paramtypes", [basic_token_service_1.BasicTokenService])
|
63
|
+
], BasicAuthenticationStrategy);
|
64
|
+
//# sourceMappingURL=basic.strategy.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"basic.strategy.js","sourceRoot":"","sources":["../../../../src/components/authenticate/services/basic.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAAwC;AACxC,yCAAqD;AACrD,sCAA2C;AAC3C,+DAA0D;AAE1D,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;IAGtC,YAAkD,OAAkC;QAA1B,YAAO,GAAP,OAAO,CAAmB;QAFpF,SAAI,GAAG,uBAAc,CAAC,UAAU,CAAC;IAEsD,CAAC;IAExF,kBAAkB,CAAC,OAAgB;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,iBAAU,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QAEtD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,iBAAU,CAAC,YAAY,CAAC,8CAA8C,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,iBAAU,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IAEK,YAAY,CAAC,OAAgB;;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;CACF,CAAA;AAhCY,kEAA2B;sCAA3B,2BAA2B;IAGzB,WAAA,IAAA,aAAM,EAAC,4BAA4B,CAAC,CAAA;qCAAkB,uCAAiB;GAHzE,2BAA2B,CAgCvC"}
|
@@ -0,0 +1,23 @@
|
|
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("./basic.strategy"), exports);
|
18
|
+
__exportStar(require("./basic-token.service"), exports);
|
19
|
+
__exportStar(require("./jwt.strategy"), exports);
|
20
|
+
__exportStar(require("./jwt-token.service"), exports);
|
21
|
+
__exportStar(require("./oauth2.strategy"), exports);
|
22
|
+
__exportStar(require("./oauth2.service"), exports);
|
23
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/authenticate/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AAEtC,iDAA+B;AAC/B,sDAAoC;AAEpC,oDAAkC;AAClC,mDAAiC"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { BaseService } from '../../../base/base.service';
|
2
|
+
import { IJWTTokenPayload } from '../common';
|
3
|
+
export declare class JWTTokenService extends BaseService {
|
4
|
+
private applicationSecret;
|
5
|
+
private jwtSecret;
|
6
|
+
private jwtExpiresIn;
|
7
|
+
constructor(applicationSecret: string, jwtSecret: string, jwtExpiresIn: string);
|
8
|
+
extractCredentials(request: {
|
9
|
+
headers: any;
|
10
|
+
}): {
|
11
|
+
type: string;
|
12
|
+
token: string;
|
13
|
+
};
|
14
|
+
encryptPayload(payload: IJWTTokenPayload): {
|
15
|
+
[x: string]: string;
|
16
|
+
};
|
17
|
+
decryptPayload(decodedToken: any): IJWTTokenPayload;
|
18
|
+
verify(opts: {
|
19
|
+
type: string;
|
20
|
+
token: string;
|
21
|
+
}): IJWTTokenPayload;
|
22
|
+
generate(payload: IJWTTokenPayload): string;
|
23
|
+
}
|
@@ -0,0 +1,154 @@
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
16
|
+
};
|
17
|
+
var JWTTokenService_1;
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
19
|
+
exports.JWTTokenService = void 0;
|
20
|
+
const base_service_1 = require("../../../base/base.service");
|
21
|
+
const utilities_1 = require("../../../utilities");
|
22
|
+
const authentication_jwt_1 = require("@loopback/authentication-jwt");
|
23
|
+
const core_1 = require("@loopback/core");
|
24
|
+
const rest_1 = require("@loopback/rest");
|
25
|
+
const security_1 = require("@loopback/security");
|
26
|
+
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
27
|
+
const common_1 = require("../common");
|
28
|
+
let JWTTokenService = JWTTokenService_1 = class JWTTokenService extends base_service_1.BaseService {
|
29
|
+
constructor(applicationSecret, jwtSecret, jwtExpiresIn) {
|
30
|
+
super({ scope: JWTTokenService_1.name });
|
31
|
+
this.applicationSecret = applicationSecret;
|
32
|
+
this.jwtSecret = jwtSecret;
|
33
|
+
this.jwtExpiresIn = jwtExpiresIn;
|
34
|
+
}
|
35
|
+
// --------------------------------------------------------------------------------------
|
36
|
+
extractCredentials(request) {
|
37
|
+
if (!request.headers.authorization) {
|
38
|
+
throw (0, utilities_1.getError)({
|
39
|
+
statusCode: 401,
|
40
|
+
message: 'Unauthorized user! Missing authorization header',
|
41
|
+
});
|
42
|
+
}
|
43
|
+
const authHeaderValue = request.headers.authorization;
|
44
|
+
if (!authHeaderValue.startsWith(common_1.Authentication.TYPE_BEARER)) {
|
45
|
+
throw (0, utilities_1.getError)({
|
46
|
+
statusCode: 401,
|
47
|
+
message: 'Unauthorized user! Invalid schema of request token!',
|
48
|
+
});
|
49
|
+
}
|
50
|
+
const parts = authHeaderValue.split(' ');
|
51
|
+
if (parts.length !== 2) {
|
52
|
+
throw new rest_1.HttpErrors.Unauthorized(`Authorization header value has too many parts. It must follow the pattern: 'Bearer xx.yy.zz' where xx.yy.zz is a valid JWT token.`);
|
53
|
+
}
|
54
|
+
return { type: parts[0], token: parts[1] };
|
55
|
+
}
|
56
|
+
// --------------------------------------------------------------------------------------
|
57
|
+
encryptPayload(payload) {
|
58
|
+
const userKey = (0, utilities_1.encrypt)('userId', this.applicationSecret);
|
59
|
+
const rolesKey = (0, utilities_1.encrypt)('roles', this.applicationSecret);
|
60
|
+
const clientIdKey = (0, utilities_1.encrypt)('clientId', this.applicationSecret);
|
61
|
+
const { userId, roles, clientId = 'NA' } = payload;
|
62
|
+
return {
|
63
|
+
[userKey]: (0, utilities_1.encrypt)(userId.toString(), this.applicationSecret),
|
64
|
+
[rolesKey]: (0, utilities_1.encrypt)(JSON.stringify(roles.map(el => `${el.id}|${el.identifier}|${el.priority}`)), this.applicationSecret),
|
65
|
+
[clientIdKey]: (0, utilities_1.encrypt)(clientId, this.applicationSecret),
|
66
|
+
};
|
67
|
+
}
|
68
|
+
// --------------------------------------------------------------------------------------
|
69
|
+
decryptPayload(decodedToken) {
|
70
|
+
const rs = {};
|
71
|
+
const jwtFields = new Set(['iat', 'exp']);
|
72
|
+
for (const encodedAttr in decodedToken) {
|
73
|
+
if (jwtFields.has(encodedAttr)) {
|
74
|
+
rs[encodedAttr] = decodedToken[encodedAttr];
|
75
|
+
continue;
|
76
|
+
}
|
77
|
+
const attr = (0, utilities_1.decrypt)(encodedAttr, this.applicationSecret);
|
78
|
+
const decryptedValue = (0, utilities_1.decrypt)(decodedToken[encodedAttr], this.applicationSecret);
|
79
|
+
switch (attr) {
|
80
|
+
case 'userId': {
|
81
|
+
rs.userId = parseInt(decryptedValue);
|
82
|
+
rs[security_1.securityId] = rs.userId.toString();
|
83
|
+
break;
|
84
|
+
}
|
85
|
+
case 'clientId': {
|
86
|
+
rs.clientId = decryptedValue;
|
87
|
+
break;
|
88
|
+
}
|
89
|
+
case 'roles': {
|
90
|
+
rs.roles = JSON.parse(decryptedValue).map(el => {
|
91
|
+
const [id, identifier, priority] = el.split('|');
|
92
|
+
return { id, identifier, priority };
|
93
|
+
});
|
94
|
+
break;
|
95
|
+
}
|
96
|
+
default: {
|
97
|
+
rs[encodedAttr] = decodedToken[encodedAttr];
|
98
|
+
break;
|
99
|
+
}
|
100
|
+
}
|
101
|
+
}
|
102
|
+
return rs;
|
103
|
+
}
|
104
|
+
// --------------------------------------------------------------------------------------
|
105
|
+
verify(opts) {
|
106
|
+
const { token } = opts;
|
107
|
+
if (!token) {
|
108
|
+
this.logger.error('[verify] Missing token for validating request!');
|
109
|
+
throw new rest_1.HttpErrors.Unauthorized('Invalid request token!');
|
110
|
+
}
|
111
|
+
let decodedToken;
|
112
|
+
try {
|
113
|
+
decodedToken = jsonwebtoken_1.default.verify(token, this.jwtSecret);
|
114
|
+
}
|
115
|
+
catch (error) {
|
116
|
+
throw new rest_1.HttpErrors.Unauthorized(`Error verifying token : ${error.message}`);
|
117
|
+
}
|
118
|
+
try {
|
119
|
+
return this.decryptPayload(decodedToken);
|
120
|
+
}
|
121
|
+
catch (error) {
|
122
|
+
this.logger.error('[verify] Failed to decode token | Error: %s', error);
|
123
|
+
throw (0, utilities_1.getError)({
|
124
|
+
statusCode: 401,
|
125
|
+
message: 'Invalid token signature | Failed to decode token!',
|
126
|
+
});
|
127
|
+
}
|
128
|
+
}
|
129
|
+
// --------------------------------------------------------------------------------------
|
130
|
+
generate(payload) {
|
131
|
+
if (!payload) {
|
132
|
+
throw new rest_1.HttpErrors.Unauthorized('Error generating token : userProfile is null');
|
133
|
+
}
|
134
|
+
let token;
|
135
|
+
try {
|
136
|
+
token = jsonwebtoken_1.default.sign(this.encryptPayload(payload), this.jwtSecret, {
|
137
|
+
expiresIn: Number(this.jwtExpiresIn),
|
138
|
+
});
|
139
|
+
}
|
140
|
+
catch (error) {
|
141
|
+
throw new rest_1.HttpErrors.Unauthorized(`Error encoding token : ${error}`);
|
142
|
+
}
|
143
|
+
return token;
|
144
|
+
}
|
145
|
+
};
|
146
|
+
exports.JWTTokenService = JWTTokenService;
|
147
|
+
exports.JWTTokenService = JWTTokenService = JWTTokenService_1 = __decorate([
|
148
|
+
(0, core_1.injectable)({ scope: core_1.BindingScope.SINGLETON }),
|
149
|
+
__param(0, (0, core_1.inject)(common_1.AuthenticateKeys.APPLICATION_SECRET)),
|
150
|
+
__param(1, (0, core_1.inject)(authentication_jwt_1.TokenServiceBindings.TOKEN_SECRET)),
|
151
|
+
__param(2, (0, core_1.inject)(authentication_jwt_1.TokenServiceBindings.TOKEN_EXPIRES_IN)),
|
152
|
+
__metadata("design:paramtypes", [String, String, String])
|
153
|
+
], JWTTokenService);
|
154
|
+
//# sourceMappingURL=jwt-token.service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"jwt-token.service.js","sourceRoot":"","sources":["../../../../src/components/authenticate/services/jwt-token.service.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { AuthenticationStrategy } from '@loopback/authentication';
|
2
|
+
import { Request } from '@loopback/rest';
|
3
|
+
import { JWTTokenService } from './jwt-token.service';
|
4
|
+
export declare class JWTAuthenticationStrategy implements AuthenticationStrategy {
|
5
|
+
private service;
|
6
|
+
name: string;
|
7
|
+
constructor(service: JWTTokenService);
|
8
|
+
authenticate(request: Request): Promise<import("../common").IJWTTokenPayload>;
|
9
|
+
}
|
@@ -0,0 +1,34 @@
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
exports.JWTAuthenticationStrategy = void 0;
|
16
|
+
const core_1 = require("@loopback/core");
|
17
|
+
const jwt_token_service_1 = require("./jwt-token.service");
|
18
|
+
const common_1 = require("../common");
|
19
|
+
let JWTAuthenticationStrategy = class JWTAuthenticationStrategy {
|
20
|
+
constructor(service) {
|
21
|
+
this.service = service;
|
22
|
+
this.name = common_1.Authentication.STRATEGY_JWT;
|
23
|
+
}
|
24
|
+
authenticate(request) {
|
25
|
+
const token = this.service.extractCredentials(request);
|
26
|
+
return Promise.resolve(this.service.verify(token));
|
27
|
+
}
|
28
|
+
};
|
29
|
+
exports.JWTAuthenticationStrategy = JWTAuthenticationStrategy;
|
30
|
+
exports.JWTAuthenticationStrategy = JWTAuthenticationStrategy = __decorate([
|
31
|
+
__param(0, (0, core_1.inject)('services.JWTTokenService')),
|
32
|
+
__metadata("design:paramtypes", [jwt_token_service_1.JWTTokenService])
|
33
|
+
], JWTAuthenticationStrategy);
|
34
|
+
//# sourceMappingURL=jwt.strategy.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../../../src/components/authenticate/services/jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,yCAAwC;AAExC,2DAAsD;AACtD,sCAA2C;AAE3C,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAGpC,YAAgD,OAAgC;QAAxB,YAAO,GAAP,OAAO,CAAiB;QAFhF,SAAI,GAAG,uBAAc,CAAC,YAAY,CAAC;IAEgD,CAAC;IAEpF,YAAY,CAAC,OAAgB;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AATY,8DAAyB;oCAAzB,yBAAyB;IAGvB,WAAA,IAAA,aAAM,EAAC,0BAA0B,CAAC,CAAA;qCAAkB,mCAAe;GAHrE,yBAAyB,CASrC"}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
import { BaseApplication } from '../../../base/applications';
|
2
|
+
import { BaseService } from '../../../base/base.service';
|
3
|
+
import { RequestContext } from '@loopback/rest';
|
4
|
+
import { Request, Response, Token } from '@node-oauth/oauth2-server';
|
5
|
+
import { SignInRequest } from '../common';
|
6
|
+
import { OAuth2Handler } from '../oauth2-handlers';
|
7
|
+
import { OAuth2ClientRepository } from '../repositories';
|
8
|
+
export declare class OAuth2Service extends BaseService {
|
9
|
+
private application;
|
10
|
+
private handler;
|
11
|
+
private oauth2ClientRepository;
|
12
|
+
constructor(application: BaseApplication, handler: OAuth2Handler, oauth2ClientRepository: OAuth2ClientRepository);
|
13
|
+
encryptClientToken(opts: {
|
14
|
+
clientId: string;
|
15
|
+
clientSecret: string;
|
16
|
+
}): string;
|
17
|
+
decryptClientToken(opts: {
|
18
|
+
token: string;
|
19
|
+
}): {
|
20
|
+
clientId: string;
|
21
|
+
clientSecret: string;
|
22
|
+
};
|
23
|
+
getOAuth2RequestPath(opts: {
|
24
|
+
clientId: string;
|
25
|
+
clientSecret: string;
|
26
|
+
redirectUrl: string;
|
27
|
+
}): Promise<{
|
28
|
+
requestPath: string;
|
29
|
+
}>;
|
30
|
+
generateToken(opts: {
|
31
|
+
request: Request;
|
32
|
+
response: Response;
|
33
|
+
}): Promise<Token>;
|
34
|
+
authorize(opts: {
|
35
|
+
request: Request;
|
36
|
+
response: Response;
|
37
|
+
}): Promise<import("@node-oauth/oauth2-server").AuthorizationCode>;
|
38
|
+
doOAuth2(opts: {
|
39
|
+
context: Pick<RequestContext, 'request' | 'response'>;
|
40
|
+
authServiceKey: string;
|
41
|
+
signInRequest: SignInRequest;
|
42
|
+
redirectUrl?: string;
|
43
|
+
}): Promise<{
|
44
|
+
redirectUrl: string;
|
45
|
+
oauth2TokenRs: Token;
|
46
|
+
}>;
|
47
|
+
doClientCallback(opts: {
|
48
|
+
c: string;
|
49
|
+
oauth2Token: Token;
|
50
|
+
}): Promise<void>;
|
51
|
+
}
|