emilsoftware-utilities 2.0.0-dev.8 → 2.0.0-dev.81
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/README.MD +323 -38
- package/dist/ContractGenerator.d.ts +4 -3
- package/dist/ContractGenerator.js +15 -5
- package/dist/ContractGenerator.js.map +1 -1
- package/dist/DailyFileTransport.d.ts +21 -0
- package/dist/DailyFileTransport.js +74 -0
- package/dist/DailyFileTransport.js.map +1 -0
- package/dist/DatabaseUpdater.js +32 -29
- package/dist/DatabaseUpdater.js.map +1 -1
- package/dist/EmilsoftwareModule.d.ts +15 -1
- package/dist/EmilsoftwareModule.js +1 -1
- package/dist/EmilsoftwareModule.js.map +1 -1
- package/dist/ExecutionTimeLogger.d.ts +2 -2
- package/dist/ExecutionTimeLogger.js +5 -4
- package/dist/ExecutionTimeLogger.js.map +1 -1
- package/dist/Logger.d.ts +22 -11
- package/dist/Logger.js +132 -119
- package/dist/Logger.js.map +1 -1
- package/dist/Orm.d.ts +32 -6
- package/dist/Orm.js +148 -38
- package/dist/Orm.js.map +1 -1
- package/dist/RoutesLoggerMiddleware.js.map +1 -1
- package/dist/Utilities.d.ts +18 -8
- package/dist/Utilities.js +143 -37
- package/dist/Utilities.js.map +1 -1
- package/dist/accessi/client/admin/index.d.ts +18 -0
- package/dist/accessi/client/admin/index.js +58 -0
- package/dist/accessi/client/admin/index.js.map +1 -0
- package/dist/accessi/client/createAccessiClient.d.ts +21 -0
- package/dist/accessi/client/createAccessiClient.js +31 -0
- package/dist/accessi/client/createAccessiClient.js.map +1 -0
- package/dist/accessi/client/generated/admin.d.ts +621 -0
- package/dist/accessi/client/generated/admin.js +591 -0
- package/dist/accessi/client/generated/admin.js.map +1 -0
- package/dist/accessi/client/generated/public.d.ts +121 -0
- package/dist/accessi/client/generated/public.js +119 -0
- package/dist/accessi/client/generated/public.js.map +1 -0
- package/dist/accessi/client/generated/service.d.ts +53 -0
- package/dist/accessi/client/generated/service.js +63 -0
- package/dist/accessi/client/generated/service.js.map +1 -0
- package/dist/accessi/client/index.d.ts +44 -0
- package/dist/accessi/client/index.js +99 -0
- package/dist/accessi/client/index.js.map +1 -0
- package/dist/accessi/client/public/index.d.ts +18 -0
- package/dist/accessi/client/public/index.js +58 -0
- package/dist/accessi/client/public/index.js.map +1 -0
- package/dist/accessi/client/service/index.d.ts +17 -0
- package/dist/accessi/client/service/index.js +57 -0
- package/dist/accessi/client/service/index.js.map +1 -0
- package/dist/accessi/console/index.d.ts +15 -0
- package/dist/accessi/console/index.js +25 -0
- package/dist/accessi/console/index.js.map +1 -0
- package/dist/accessi/contracts/dtos.d.ts +8 -0
- package/dist/accessi/contracts/dtos.js +25 -0
- package/dist/accessi/contracts/dtos.js.map +1 -0
- package/dist/accessi/contracts/index.d.ts +25 -0
- package/dist/accessi/contracts/index.js +28 -0
- package/dist/accessi/contracts/index.js.map +1 -0
- package/dist/accessi/openapi/index.d.ts +2 -0
- package/dist/accessi/openapi/index.js +19 -0
- package/dist/accessi/openapi/index.js.map +1 -0
- package/dist/accessi/resource-server/core.d.ts +6 -0
- package/dist/accessi/resource-server/core.js +23 -0
- package/dist/accessi/resource-server/core.js.map +1 -0
- package/dist/accessi/resource-server/errors.d.ts +10 -0
- package/dist/accessi/resource-server/errors.js +19 -0
- package/dist/accessi/resource-server/errors.js.map +1 -0
- package/dist/accessi/resource-server/express.d.ts +17 -0
- package/dist/accessi/resource-server/express.js +87 -0
- package/dist/accessi/resource-server/express.js.map +1 -0
- package/dist/accessi/resource-server/index.d.ts +3 -0
- package/dist/accessi/resource-server/index.js +20 -0
- package/dist/accessi/resource-server/index.js.map +1 -0
- package/dist/accessi/resource-server/introspection.d.ts +16 -0
- package/dist/accessi/resource-server/introspection.js +115 -0
- package/dist/accessi/resource-server/introspection.js.map +1 -0
- package/dist/accessi/resource-server/keys.d.ts +11 -0
- package/dist/accessi/resource-server/keys.js +22 -0
- package/dist/accessi/resource-server/keys.js.map +1 -0
- package/dist/accessi/resource-server/nest.d.ts +9 -0
- package/dist/accessi/resource-server/nest.js +75 -0
- package/dist/accessi/resource-server/nest.js.map +1 -0
- package/dist/accessi/resource-server/runtime.d.ts +27 -0
- package/dist/accessi/resource-server/runtime.js +179 -0
- package/dist/accessi/resource-server/runtime.js.map +1 -0
- package/dist/accessi/resource-server/token.d.ts +23 -0
- package/dist/accessi/resource-server/token.js +276 -0
- package/dist/accessi/resource-server/token.js.map +1 -0
- package/dist/accessi/resource-server/types.d.ts +114 -0
- package/dist/accessi/resource-server/types.js +3 -0
- package/dist/accessi/resource-server/types.js.map +1 -0
- package/dist/accessi/server/index.d.ts +13 -0
- package/dist/accessi/server/index.js +33 -0
- package/dist/accessi/server/index.js.map +1 -0
- package/dist/accessi/server/standalone.d.ts +39 -0
- package/dist/accessi/server/standalone.js +191 -0
- package/dist/accessi/server/standalone.js.map +1 -0
- package/dist/accessi/server/tenantStores.d.ts +74 -0
- package/dist/accessi/server/tenantStores.js +84 -0
- package/dist/accessi/server/tenantStores.js.map +1 -0
- package/dist/accessi/server/tenants.d.ts +186 -0
- package/dist/accessi/server/tenants.js +357 -0
- package/dist/accessi/server/tenants.js.map +1 -0
- package/dist/accessi/ui/index.d.ts +13 -0
- package/dist/accessi/ui/index.js +19 -0
- package/dist/accessi/ui/index.js.map +1 -0
- package/dist/accessi-module/AccessiModule.d.ts +225 -0
- package/dist/accessi-module/AccessiModule.js +49 -5
- package/dist/accessi-module/AccessiModule.js.map +1 -1
- package/dist/accessi-module/Console/accessiFetch.d.ts +59 -0
- package/dist/accessi-module/Console/accessiFetch.js +178 -0
- package/dist/accessi-module/Console/accessiFetch.js.map +1 -0
- package/dist/accessi-module/Console/console.css +774 -0
- package/dist/accessi-module/Console/console.d.ts +1 -0
- package/dist/accessi-module/Console/console.js +4173 -0
- package/dist/accessi-module/Console/console.js.map +1 -0
- package/dist/accessi-module/Console/generated/emilsoftware-utilities.d.ts +781 -0
- package/dist/accessi-module/Console/generated/emilsoftware-utilities.js +746 -0
- package/dist/accessi-module/Console/generated/emilsoftware-utilities.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenu.d.ts +39 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenu.js +3 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenu.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.js +17 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/accessiIntrospectionResultDto.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/accessiIntrospectionResultDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/accessiIntrospectionResultDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/actionResponse.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/actionResponse.js +9 -0
- package/dist/accessi-module/Console/generated/model/actionResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResult.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResult.js +9 -0
- package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.d.ts +11 -0
- package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.js +3 -0
- package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.d.ts +19 -0
- package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.d.ts +17 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryExchangeRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryExchangeRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryExchangeRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/consoleEntrySessionResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/consoleEntrySessionResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/consoleEntrySessionResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/consoleEntrySessionResult.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/consoleEntrySessionResult.js +3 -0
- package/dist/accessi-module/Console/generated/model/consoleEntrySessionResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryTicketResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryTicketResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryTicketResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryTicketResult.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryTicketResult.js +9 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryTicketResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryTokenResult.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryTokenResult.js +9 -0
- package/dist/accessi-module/Console/generated/model/consoleEntryTokenResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.js +3 -0
- package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.d.ts +23 -0
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.js +3 -0
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.js +15 -0
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.d.ts +22 -0
- package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createMenuRequest.d.ts +52 -0
- package/dist/accessi-module/Console/generated/model/createMenuRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createMenuRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createScopeRequest.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/createScopeRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createScopeRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/errorResponse.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/errorResponse.js +9 -0
- package/dist/accessi-module/Console/generated/model/errorResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/exchangeFederatedIdentityRequest.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/exchangeFederatedIdentityRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/exchangeFederatedIdentityRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/exportAuditOrder.d.ts +11 -0
- package/dist/accessi-module/Console/generated/model/exportAuditOrder.js +15 -0
- package/dist/accessi-module/Console/generated/model/exportAuditOrder.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/exportAuditParams.d.ts +37 -0
- package/dist/accessi-module/Console/generated/model/exportAuditParams.js +3 -0
- package/dist/accessi-module/Console/generated/model/exportAuditParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedAuthenticationResultDto.d.ts +15 -0
- package/dist/accessi-module/Console/generated/model/federatedAuthenticationResultDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/federatedAuthenticationResultDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedExchangeResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/federatedExchangeResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/federatedExchangeResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.d.ts +23 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/filtriUtente.d.ts +32 -0
- package/dist/accessi-module/Console/generated/model/filtriUtente.js +9 -0
- package/dist/accessi-module/Console/generated/model/filtriUtente.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getFiltriResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getFiltriResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getFiltriResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getMenuScopesResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getMenuScopesResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getMenuScopesResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getMenusParams.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/getMenusParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/getMenusParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getMenusResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getMenusResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getMenusResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getRolesResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getRolesResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getRolesResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getSchemaResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getSchemaResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getSchemaResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getScopesResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getScopesResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getScopesResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensParams.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUserRolesAndGrantsParams.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/getUserRolesAndGrantsParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/getUserRolesAndGrantsParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUsersParams.d.ts +32 -0
- package/dist/accessi-module/Console/generated/model/getUsersParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/getUsersParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUsersResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getUsersResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getUsersResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUsersResult.d.ts +17 -0
- package/dist/accessi-module/Console/generated/model/getUsersResult.js +3 -0
- package/dist/accessi-module/Console/generated/model/getUsersResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.js +9 -0
- package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.d.ts +19 -0
- package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.js +3 -0
- package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/index.d.ts +134 -0
- package/dist/accessi-module/Console/generated/model/index.js +151 -0
- package/dist/accessi-module/Console/generated/model/index.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/introspectAccessiTokenRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/introspectAccessiTokenRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/introspectAccessiTokenRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/introspectAccessiTokenResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/introspectAccessiTokenResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/introspectAccessiTokenResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.d.ts +30 -0
- package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginAsRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/loginAsRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/loginAsRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginAsResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/loginAsResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/loginAsResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginAsResult.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/loginAsResult.js +9 -0
- package/dist/accessi-module/Console/generated/model/loginAsResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginRequest.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/loginRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/loginRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/loginResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/loginResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginResult.d.ts +34 -0
- package/dist/accessi-module/Console/generated/model/loginResult.js +3 -0
- package/dist/accessi-module/Console/generated/model/loginResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.js +9 -0
- package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.js +14 -0
- package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/menuEntity.d.ts +32 -0
- package/dist/accessi-module/Console/generated/model/menuEntity.js +9 -0
- package/dist/accessi-module/Console/generated/model/menuEntity.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/menuTypeEntity.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/menuTypeEntity.js +9 -0
- package/dist/accessi-module/Console/generated/model/menuTypeEntity.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.js +9 -0
- package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/permission.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/permission.js +9 -0
- package/dist/accessi-module/Console/generated/model/permission.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/publicRegisterRequest.d.ts +51 -0
- package/dist/accessi-module/Console/generated/model/publicRegisterRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/publicRegisterRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/queryAuditOrder.d.ts +11 -0
- package/dist/accessi-module/Console/generated/model/queryAuditOrder.js +15 -0
- package/dist/accessi-module/Console/generated/model/queryAuditOrder.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/queryAuditParams.d.ts +37 -0
- package/dist/accessi-module/Console/generated/model/queryAuditParams.js +3 -0
- package/dist/accessi-module/Console/generated/model/queryAuditParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/refreshTokenRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/refreshTokenRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/refreshTokenRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/refreshTokenResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/refreshTokenResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/refreshTokenResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/refreshTokenResult.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/refreshTokenResult.js +3 -0
- package/dist/accessi-module/Console/generated/model/refreshTokenResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/registerRequest.d.ts +62 -0
- package/dist/accessi-module/Console/generated/model/registerRequest.js +3 -0
- package/dist/accessi-module/Console/generated/model/registerRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/registerResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/registerResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/registerResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/revokeTokenRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/revokeTokenRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/revokeTokenRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/role.d.ts +15 -0
- package/dist/accessi-module/Console/generated/model/role.js +3 -0
- package/dist/accessi-module/Console/generated/model/role.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenu.d.ts +15 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenu.js +3 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenu.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.js +17 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlResult.d.ts +20 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlResult.js +3 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlSection.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlSection.js +9 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlSection.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/scopeEntity.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/scopeEntity.js +9 -0
- package/dist/accessi-module/Console/generated/model/scopeEntity.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/serviceTokenDto.d.ts +28 -0
- package/dist/accessi-module/Console/generated/model/serviceTokenDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/serviceTokenDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/setMenuScopesRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/setMenuScopesRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/setMenuScopesRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/setScopeMenusRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/setScopeMenusRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/setScopeMenusRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.js +19 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/setUserPasswordRequest.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/setUserPasswordRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/setUserPasswordRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/status.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/status.js +9 -0
- package/dist/accessi-module/Console/generated/model/status.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltro.d.ts +23 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltro.js +3 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltro.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.js +15 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/tokenResult.d.ts +15 -0
- package/dist/accessi-module/Console/generated/model/tokenResult.js +3 -0
- package/dist/accessi-module/Console/generated/model/tokenResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/tokenResultType.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/tokenResultType.js +15 -0
- package/dist/accessi-module/Console/generated/model/tokenResultType.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.js +14 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.js +14 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.d.ts +11 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.d.ts +21 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.js +3 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.js +15 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.d.ts +17 -0
- package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateMenuRequest.d.ts +47 -0
- package/dist/accessi-module/Console/generated/model/updateMenuRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateMenuRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateScopeRequest.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/updateScopeRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateScopeRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/userDto.d.ts +88 -0
- package/dist/accessi-module/Console/generated/model/userDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/userDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.js +19 -0
- package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/userGrantsDto.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/userGrantsDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/userGrantsDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/userGrantsResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/userGrantsResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/userGrantsResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.d.ts +20 -0
- package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.js.map +1 -0
- package/dist/accessi-module/Console/help.d.ts +13 -0
- package/dist/accessi-module/Console/help.js +417 -0
- package/dist/accessi-module/Console/help.js.map +1 -0
- package/dist/accessi-module/Console/index.html +141 -0
- package/dist/accessi-module/Console/wiki.d.ts +52 -0
- package/dist/accessi-module/Console/wiki.js +867 -0
- package/dist/accessi-module/Console/wiki.js.map +1 -0
- package/dist/accessi-module/Controllers/AccessiAuditController.d.ts +16 -0
- package/dist/accessi-module/Controllers/AccessiAuditController.js +155 -0
- package/dist/accessi-module/Controllers/AccessiAuditController.js.map +1 -0
- package/dist/accessi-module/Controllers/AccessiConsoleController.d.ts +25 -0
- package/dist/accessi-module/Controllers/AccessiConsoleController.js +169 -0
- package/dist/accessi-module/Controllers/AccessiConsoleController.js.map +1 -0
- package/dist/accessi-module/Controllers/AccessiIntrospectionController.d.ts +17 -0
- package/dist/accessi-module/Controllers/AccessiIntrospectionController.js +102 -0
- package/dist/accessi-module/Controllers/AccessiIntrospectionController.js.map +1 -0
- package/dist/accessi-module/Controllers/AuthController.d.ts +16 -6
- package/dist/accessi-module/Controllers/AuthController.js +435 -85
- package/dist/accessi-module/Controllers/AuthController.js.map +1 -1
- package/dist/accessi-module/Controllers/ConfiguratorController.d.ts +1 -5
- package/dist/accessi-module/Controllers/ConfiguratorController.js +26 -44
- package/dist/accessi-module/Controllers/ConfiguratorController.js.map +1 -1
- package/dist/accessi-module/Controllers/ConsoleEntryController.d.ts +16 -0
- package/dist/accessi-module/Controllers/ConsoleEntryController.js +159 -0
- package/dist/accessi-module/Controllers/ConsoleEntryController.js.map +1 -0
- package/dist/accessi-module/Controllers/EmailController.d.ts +4 -6
- package/dist/accessi-module/Controllers/EmailController.js +13 -15
- package/dist/accessi-module/Controllers/EmailController.js.map +1 -1
- package/dist/accessi-module/Controllers/FiltriController.d.ts +12 -4
- package/dist/accessi-module/Controllers/FiltriController.js +153 -6
- package/dist/accessi-module/Controllers/FiltriController.js.map +1 -1
- package/dist/accessi-module/Controllers/PermissionController.d.ts +31 -5
- package/dist/accessi-module/Controllers/PermissionController.js +559 -66
- package/dist/accessi-module/Controllers/PermissionController.js.map +1 -1
- package/dist/accessi-module/Controllers/SchemaController.d.ts +9 -0
- package/dist/accessi-module/Controllers/SchemaController.js +79 -0
- package/dist/accessi-module/Controllers/SchemaController.js.map +1 -0
- package/dist/accessi-module/Controllers/ServiceTokenController.d.ts +23 -0
- package/dist/accessi-module/Controllers/ServiceTokenController.js +176 -0
- package/dist/accessi-module/Controllers/ServiceTokenController.js.map +1 -0
- package/dist/accessi-module/Controllers/UserController.d.ts +22 -5
- package/dist/accessi-module/Controllers/UserController.js +385 -33
- package/dist/accessi-module/Controllers/UserController.js.map +1 -1
- package/dist/accessi-module/Dtos/Abilitazione.js.map +1 -1
- package/dist/accessi-module/Dtos/AbilitazioneMenu.js +16 -8
- package/dist/accessi-module/Dtos/AbilitazioneMenu.js.map +1 -1
- package/dist/accessi-module/Dtos/AdminBootstrapDtos.d.ts +26 -0
- package/dist/accessi-module/Dtos/AdminBootstrapDtos.js +100 -0
- package/dist/accessi-module/Dtos/AdminBootstrapDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js +0 -1
- package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js +1 -2
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/AuditDtos.d.ts +10 -0
- package/dist/accessi-module/Dtos/AuditDtos.js +68 -0
- package/dist/accessi-module/Dtos/AuditDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.d.ts +13 -0
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js +70 -0
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js.map +1 -0
- package/dist/accessi-module/Dtos/BaseResponse.d.ts +22 -0
- package/dist/accessi-module/Dtos/BaseResponse.js +106 -1
- package/dist/accessi-module/Dtos/BaseResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/CatalogDtos.d.ts +64 -0
- package/dist/accessi-module/Dtos/CatalogDtos.js +322 -0
- package/dist/accessi-module/Dtos/CatalogDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.d.ts +3 -0
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js +31 -0
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/ConsoleEntryDtos.d.ts +24 -0
- package/dist/accessi-module/Dtos/ConsoleEntryDtos.js +77 -0
- package/dist/accessi-module/Dtos/ConsoleEntryDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/FederatedExchangeDtos.d.ts +21 -0
- package/dist/accessi-module/Dtos/FederatedExchangeDtos.js +74 -0
- package/dist/accessi-module/Dtos/FederatedExchangeDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/FederatedIdentityDtos.d.ts +69 -0
- package/dist/accessi-module/Dtos/FederatedIdentityDtos.js +236 -0
- package/dist/accessi-module/Dtos/FederatedIdentityDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/FiltriUtente.js +5 -1
- package/dist/accessi-module/Dtos/FiltriUtente.js.map +1 -1
- package/dist/accessi-module/Dtos/GetGroupsWithMenusResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/GetMenusResponse.js +1 -1
- package/dist/accessi-module/Dtos/GetMenusResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/GetRolesResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/GetUserByTokenRequest.d.ts +3 -0
- package/dist/accessi-module/Dtos/GetUserByTokenRequest.js +27 -0
- package/dist/accessi-module/Dtos/GetUserByTokenRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.d.ts +5 -0
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.js +27 -0
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.js.map +1 -0
- package/dist/accessi-module/Dtos/GetUsersResponse.d.ts +1 -1
- package/dist/accessi-module/Dtos/GetUsersResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/IntrospectionDtos.d.ts +16 -0
- package/dist/accessi-module/Dtos/IntrospectionDtos.js +59 -0
- package/dist/accessi-module/Dtos/IntrospectionDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/LoginAsDtos.d.ts +15 -0
- package/dist/accessi-module/Dtos/LoginAsDtos.js +68 -0
- package/dist/accessi-module/Dtos/LoginAsDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/LoginRequest.d.ts +3 -1
- package/dist/accessi-module/Dtos/LoginRequest.js +13 -2
- package/dist/accessi-module/Dtos/LoginRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/LoginResponse.d.ts +7 -2
- package/dist/accessi-module/Dtos/LoginResponse.js +26 -7
- package/dist/accessi-module/Dtos/LoginResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/MenuItem.js +1 -0
- package/dist/accessi-module/Dtos/Permission.d.ts +1 -0
- package/dist/accessi-module/Dtos/Permission.js +1 -0
- package/dist/accessi-module/Dtos/Permission.js.map +1 -1
- package/dist/accessi-module/Dtos/PublicRegisterRequest.d.ts +5 -0
- package/dist/accessi-module/Dtos/PublicRegisterRequest.js +15 -0
- package/dist/accessi-module/Dtos/PublicRegisterRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/RefreshTokenDtos.d.ts +12 -0
- package/dist/accessi-module/Dtos/RefreshTokenDtos.js +53 -0
- package/dist/accessi-module/Dtos/RefreshTokenDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/RegisterRequest.d.ts +2 -4
- package/dist/accessi-module/Dtos/RegisterRequest.js +17 -27
- package/dist/accessi-module/Dtos/RegisterRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/RegisterResponse.d.ts +1 -1
- package/dist/accessi-module/Dtos/RegisterResponse.js +3 -3
- package/dist/accessi-module/Dtos/RegisterResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/RevokeTokenRequest.d.ts +3 -0
- package/dist/accessi-module/Dtos/RevokeTokenRequest.js +27 -0
- package/dist/accessi-module/Dtos/RevokeTokenRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/Role.d.ts +4 -0
- package/dist/accessi-module/Dtos/Role.js +4 -0
- package/dist/accessi-module/Dtos/Role.js.map +1 -1
- package/dist/accessi-module/Dtos/RuoliMenu.js.map +1 -1
- package/dist/accessi-module/Dtos/SchemaDtos.d.ts +19 -0
- package/dist/accessi-module/Dtos/SchemaDtos.js +84 -0
- package/dist/accessi-module/Dtos/SchemaDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/ScopeDtos.d.ts +28 -0
- package/dist/accessi-module/Dtos/ScopeDtos.js +103 -0
- package/dist/accessi-module/Dtos/ScopeDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.d.ts +4 -0
- package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js +36 -0
- package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/ServiceToken.d.ts +34 -0
- package/dist/accessi-module/Dtos/ServiceToken.js +128 -0
- package/dist/accessi-module/Dtos/ServiceToken.js.map +1 -0
- package/dist/accessi-module/Dtos/SetStatoRegistrazione.js.map +1 -1
- package/dist/accessi-module/Dtos/SetUserPasswordRequest.d.ts +4 -0
- package/dist/accessi-module/Dtos/SetUserPasswordRequest.js +32 -0
- package/dist/accessi-module/Dtos/SetUserPasswordRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/StatoRegistrazione.js.map +1 -1
- package/dist/accessi-module/Dtos/TipoAbilitazione.d.ts +4 -0
- package/dist/accessi-module/Dtos/TipoAbilitazione.js +4 -0
- package/dist/accessi-module/Dtos/TipoAbilitazione.js.map +1 -1
- package/dist/accessi-module/Dtos/TipoFiltro.js.map +1 -1
- package/dist/accessi-module/Dtos/TokenResult.js.map +1 -1
- package/dist/accessi-module/Dtos/TwoFactorDtos.d.ts +14 -0
- package/dist/accessi-module/Dtos/TwoFactorDtos.js +71 -0
- package/dist/accessi-module/Dtos/TwoFactorDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/UpdateEnabledStatusRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/UserDto.d.ts +9 -4
- package/dist/accessi-module/Dtos/UserDto.js +37 -22
- package/dist/accessi-module/Dtos/UserDto.js.map +1 -1
- package/dist/accessi-module/Dtos/UserGrantsDto.js.map +1 -1
- package/dist/accessi-module/Dtos/UserGrantsResponse.d.ts +5 -0
- package/dist/accessi-module/Dtos/UserGrantsResponse.js +27 -0
- package/dist/accessi-module/Dtos/UserGrantsResponse.js.map +1 -0
- package/dist/accessi-module/Dtos/index.d.ts +20 -0
- package/dist/accessi-module/Dtos/index.js +20 -0
- package/dist/accessi-module/Dtos/index.js.map +1 -1
- package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.d.ts +33 -0
- package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.js +106 -0
- package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.js.map +1 -0
- package/dist/accessi-module/Services/AuthService/AuthService.d.ts +108 -5
- package/dist/accessi-module/Services/AuthService/AuthService.js +458 -54
- package/dist/accessi-module/Services/AuthService/AuthService.js.map +1 -1
- package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.d.ts +3 -1
- package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.js +5 -1
- package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.js.map +1 -1
- package/dist/accessi-module/Services/EmailService/EmailService.d.ts +9 -2
- package/dist/accessi-module/Services/EmailService/EmailService.js +47 -22
- package/dist/accessi-module/Services/EmailService/EmailService.js.map +1 -1
- package/dist/accessi-module/Services/FiltriService/FiltriService.d.ts +18 -3
- package/dist/accessi-module/Services/FiltriService/FiltriService.js +92 -16
- package/dist/accessi-module/Services/FiltriService/FiltriService.js.map +1 -1
- package/dist/accessi-module/Services/PermissionService/PermissionService.d.ts +107 -5
- package/dist/accessi-module/Services/PermissionService/PermissionService.js +788 -215
- package/dist/accessi-module/Services/PermissionService/PermissionService.js.map +1 -1
- package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.d.ts +36 -0
- package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.js +125 -0
- package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.js.map +1 -0
- package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.d.ts +75 -0
- package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.js +265 -0
- package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.js.map +1 -0
- package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.d.ts +27 -0
- package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js +175 -0
- package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js.map +1 -0
- package/dist/accessi-module/Services/UserService/UserService.d.ts +73 -5
- package/dist/accessi-module/Services/UserService/UserService.js +578 -337
- package/dist/accessi-module/Services/UserService/UserService.js.map +1 -1
- package/dist/accessi-module/Views/reset-password.html +229 -213
- package/dist/accessi-module/accessiRuntime.d.ts +45 -0
- package/dist/accessi-module/accessiRuntime.js +39 -0
- package/dist/accessi-module/accessiRuntime.js.map +1 -0
- package/dist/accessi-module/database-updates/AccessiCatalogMigrator.d.ts +83 -0
- package/dist/accessi-module/database-updates/AccessiCatalogMigrator.js +360 -0
- package/dist/accessi-module/database-updates/AccessiCatalogMigrator.js.map +1 -0
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.d.ts +58 -11
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js +504 -210
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js.map +1 -1
- package/dist/accessi-module/database-updates/accessiOptionsFromEnv.d.ts +17 -0
- package/dist/accessi-module/database-updates/accessiOptionsFromEnv.js +134 -0
- package/dist/accessi-module/database-updates/accessiOptionsFromEnv.js.map +1 -0
- package/dist/accessi-module/database-updates/accessiSchema.d.ts +67 -0
- package/dist/accessi-module/database-updates/accessiSchema.js +135 -0
- package/dist/accessi-module/database-updates/accessiSchema.js.map +1 -0
- package/dist/accessi-module/database-updates/menuScopeSeed.d.ts +15 -0
- package/dist/accessi-module/database-updates/menuScopeSeed.js +386 -0
- package/dist/accessi-module/database-updates/menuScopeSeed.js.map +1 -0
- package/dist/accessi-module/database-updates/menuScopeSeeder.d.ts +8 -0
- package/dist/accessi-module/database-updates/menuScopeSeeder.js +131 -0
- package/dist/accessi-module/database-updates/menuScopeSeeder.js.map +1 -0
- package/dist/accessi-module/database-updates/optionalColumns.d.ts +7 -0
- package/dist/accessi-module/database-updates/optionalColumns.js +58 -0
- package/dist/accessi-module/database-updates/optionalColumns.js.map +1 -0
- package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.d.ts +1 -0
- package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.js +69 -0
- package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.js.map +1 -0
- package/dist/accessi-module/database-updates/runAccessiDbUpdate.js +18 -53
- package/dist/accessi-module/database-updates/runAccessiDbUpdate.js.map +1 -1
- package/dist/accessi-module/federated-auth/FederatedAuthController.d.ts +33 -0
- package/dist/accessi-module/federated-auth/FederatedAuthController.js +373 -0
- package/dist/accessi-module/federated-auth/FederatedAuthController.js.map +1 -0
- package/dist/accessi-module/federated-auth/FederatedAuthExchangeController.d.ts +15 -0
- package/dist/accessi-module/federated-auth/FederatedAuthExchangeController.js +85 -0
- package/dist/accessi-module/federated-auth/FederatedAuthExchangeController.js.map +1 -0
- package/dist/accessi-module/federated-auth/FederatedAuthService.d.ts +102 -0
- package/dist/accessi-module/federated-auth/FederatedAuthService.js +472 -0
- package/dist/accessi-module/federated-auth/FederatedAuthService.js.map +1 -0
- package/dist/accessi-module/federated-auth/FederatedAuthTypes.d.ts +53 -0
- package/dist/accessi-module/federated-auth/FederatedAuthTypes.js +3 -0
- package/dist/accessi-module/federated-auth/FederatedAuthTypes.js.map +1 -0
- package/dist/accessi-module/health/nest.d.ts +31 -0
- package/dist/accessi-module/health/nest.js +89 -0
- package/dist/accessi-module/health/nest.js.map +1 -0
- package/dist/accessi-module/health/readiness.d.ts +53 -0
- package/dist/accessi-module/health/readiness.js +110 -0
- package/dist/accessi-module/health/readiness.js.map +1 -0
- package/dist/accessi-module/index.d.ts +79 -1
- package/dist/accessi-module/index.js +224 -22
- package/dist/accessi-module/index.js.map +1 -1
- package/dist/accessi-module/jwt/jwt.strategy.d.ts +1 -1
- package/dist/accessi-module/jwt/jwt.strategy.js +21 -42
- package/dist/accessi-module/jwt/jwt.strategy.js.map +1 -1
- package/dist/accessi-module/middleware/accessiRequirements.d.ts +23 -1
- package/dist/accessi-module/middleware/accessiRequirements.js +7 -0
- package/dist/accessi-module/middleware/accessiRequirements.js.map +1 -1
- package/dist/accessi-module/middleware/authenticateGen.d.ts +16 -1
- package/dist/accessi-module/middleware/authenticateGen.js +68 -60
- package/dist/accessi-module/middleware/authenticateGen.js.map +1 -1
- package/dist/accessi-module/observability/metrics.d.ts +79 -0
- package/dist/accessi-module/observability/metrics.js +220 -0
- package/dist/accessi-module/observability/metrics.js.map +1 -0
- package/dist/accessi-module/observability/redisMetrics.d.ts +12 -0
- package/dist/accessi-module/observability/redisMetrics.js +44 -0
- package/dist/accessi-module/observability/redisMetrics.js.map +1 -0
- package/dist/accessi-module/security/AccessiHttpExceptionFilter.d.ts +12 -0
- package/dist/accessi-module/security/AccessiHttpExceptionFilter.js +77 -0
- package/dist/accessi-module/security/AccessiHttpExceptionFilter.js.map +1 -0
- package/dist/accessi-module/security/accessControl.d.ts +48 -2
- package/dist/accessi-module/security/accessControl.js +84 -8
- package/dist/accessi-module/security/accessControl.js.map +1 -1
- package/dist/accessi-module/security/accessTokenRevocation.d.ts +47 -0
- package/dist/accessi-module/security/accessTokenRevocation.js +148 -0
- package/dist/accessi-module/security/accessTokenRevocation.js.map +1 -0
- package/dist/accessi-module/security/accessiValidation.d.ts +9 -0
- package/dist/accessi-module/security/accessiValidation.js +41 -0
- package/dist/accessi-module/security/accessiValidation.js.map +1 -0
- package/dist/accessi-module/security/adminBootstrap.d.ts +8 -0
- package/dist/accessi-module/security/adminBootstrap.js +41 -0
- package/dist/accessi-module/security/adminBootstrap.js.map +1 -0
- package/dist/accessi-module/security/audit.d.ts +74 -0
- package/dist/accessi-module/security/audit.js +189 -0
- package/dist/accessi-module/security/audit.js.map +1 -0
- package/dist/accessi-module/security/auditSinks.d.ts +55 -0
- package/dist/accessi-module/security/auditSinks.js +228 -0
- package/dist/accessi-module/security/auditSinks.js.map +1 -0
- package/dist/accessi-module/security/authCookies.d.ts +104 -0
- package/dist/accessi-module/security/authCookies.js +240 -0
- package/dist/accessi-module/security/authCookies.js.map +1 -0
- package/dist/accessi-module/security/authenticatedToken.d.ts +23 -3
- package/dist/accessi-module/security/authenticatedToken.js +45 -5
- package/dist/accessi-module/security/authenticatedToken.js.map +1 -1
- package/dist/accessi-module/security/consoleEntry.d.ts +63 -0
- package/dist/accessi-module/security/consoleEntry.js +202 -0
- package/dist/accessi-module/security/consoleEntry.js.map +1 -0
- package/dist/accessi-module/security/edgeRateLimit.d.ts +33 -0
- package/dist/accessi-module/security/edgeRateLimit.js +84 -0
- package/dist/accessi-module/security/edgeRateLimit.js.map +1 -0
- package/dist/accessi-module/security/emailConfiguration.d.ts +20 -0
- package/dist/accessi-module/security/emailConfiguration.js +41 -0
- package/dist/accessi-module/security/emailConfiguration.js.map +1 -0
- package/dist/accessi-module/security/jwks.d.ts +33 -0
- package/dist/accessi-module/security/jwks.js +86 -0
- package/dist/accessi-module/security/jwks.js.map +1 -0
- package/dist/accessi-module/security/jwksBootstrap.d.ts +15 -0
- package/dist/accessi-module/security/jwksBootstrap.js +44 -0
- package/dist/accessi-module/security/jwksBootstrap.js.map +1 -0
- package/dist/accessi-module/security/jwtTokenOptions.d.ts +57 -0
- package/dist/accessi-module/security/jwtTokenOptions.js +173 -0
- package/dist/accessi-module/security/jwtTokenOptions.js.map +1 -0
- package/dist/accessi-module/security/loginAs.d.ts +8 -0
- package/dist/accessi-module/security/loginAs.js +45 -0
- package/dist/accessi-module/security/loginAs.js.map +1 -0
- package/dist/accessi-module/security/passwordPolicy.d.ts +21 -0
- package/dist/accessi-module/security/passwordPolicy.js +71 -0
- package/dist/accessi-module/security/passwordPolicy.js.map +1 -0
- package/dist/accessi-module/security/passwordResetToken.d.ts +13 -3
- package/dist/accessi-module/security/passwordResetToken.js +13 -5
- package/dist/accessi-module/security/passwordResetToken.js.map +1 -1
- package/dist/accessi-module/security/publicAuthRateLimit.d.ts +10 -8
- package/dist/accessi-module/security/publicAuthRateLimit.js +71 -60
- package/dist/accessi-module/security/publicAuthRateLimit.js.map +1 -1
- package/dist/accessi-module/security/rateLimitStore.d.ts +34 -0
- package/dist/accessi-module/security/rateLimitStore.js +147 -0
- package/dist/accessi-module/security/rateLimitStore.js.map +1 -0
- package/dist/accessi-module/security/refreshTokenRotation.d.ts +80 -0
- package/dist/accessi-module/security/refreshTokenRotation.js +206 -0
- package/dist/accessi-module/security/refreshTokenRotation.js.map +1 -0
- package/dist/accessi-module/security/securityHeaders.d.ts +89 -0
- package/dist/accessi-module/security/securityHeaders.js +155 -0
- package/dist/accessi-module/security/securityHeaders.js.map +1 -0
- package/dist/accessi-module/security/serviceTokenGuard.d.ts +27 -0
- package/dist/accessi-module/security/serviceTokenGuard.js +90 -0
- package/dist/accessi-module/security/serviceTokenGuard.js.map +1 -0
- package/dist/accessi-module/security/serviceTokenRateLimit.d.ts +9 -0
- package/dist/accessi-module/security/serviceTokenRateLimit.js +56 -0
- package/dist/accessi-module/security/serviceTokenRateLimit.js.map +1 -0
- package/dist/accessi-module/security/sessionRevocation.d.ts +67 -0
- package/dist/accessi-module/security/sessionRevocation.js +174 -0
- package/dist/accessi-module/security/sessionRevocation.js.map +1 -0
- package/dist/accessi-module/security/validateOptions.d.ts +19 -0
- package/dist/accessi-module/security/validateOptions.js +176 -0
- package/dist/accessi-module/security/validateOptions.js.map +1 -0
- package/dist/accessi-module/startupLog.d.ts +7 -0
- package/dist/accessi-module/startupLog.js +29 -0
- package/dist/accessi-module/startupLog.js.map +1 -0
- package/dist/allegati-module/AllegatiModule.d.ts +11 -0
- package/dist/allegati-module/AllegatiModule.js +11 -1
- package/dist/allegati-module/AllegatiModule.js.map +1 -1
- package/dist/allegati-module/Controllers/AllegatiController.d.ts +2 -1
- package/dist/allegati-module/Controllers/AllegatiController.js +23 -15
- package/dist/allegati-module/Controllers/AllegatiController.js.map +1 -1
- package/dist/allegati-module/Dtos/AllegatoDto.js.map +1 -1
- package/dist/allegati-module/Dtos/BaseResponse.js.map +1 -1
- package/dist/allegati-module/Dtos/UploadSingleFileRequest.js.map +1 -1
- package/dist/allegati-module/Dtos/index.js.map +1 -1
- package/dist/allegati-module/Dtos/responses/DownloadAllegatoResponseDto.js.map +1 -1
- package/dist/allegati-module/Dtos/responses/GetListResponse.js.map +1 -1
- package/dist/allegati-module/Dtos/responses/UploadAllegatoResponseDto.js.map +1 -1
- package/dist/allegati-module/Services/AllegatiService/AllegatiService.d.ts +10 -3
- package/dist/allegati-module/Services/AllegatiService/AllegatiService.js +150 -101
- package/dist/allegati-module/Services/AllegatiService/AllegatiService.js.map +1 -1
- package/dist/allegati-module/index.js +2 -2
- package/dist/allegati-module/index.js.map +1 -1
- package/dist/allegati-module/security/allegatiAuthorizationGuard.d.ts +14 -0
- package/dist/allegati-module/security/allegatiAuthorizationGuard.js +70 -0
- package/dist/allegati-module/security/allegatiAuthorizationGuard.js.map +1 -0
- package/dist/angular-components/aree-disponibili/aree-disponibili.js +1336 -0
- package/dist/angular-components/aree-disponibili/demo.html +232 -0
- package/dist/autobind.d.ts +10 -3
- package/dist/autobind.js +24 -9
- package/dist/autobind.js.map +1 -1
- package/dist/emilsoftware-utilities-2.0.0-dev.81.tgz +0 -0
- package/dist/firebird-compat.d.ts +41 -0
- package/dist/firebird-compat.js +54 -3
- package/dist/firebird-compat.js.map +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/initEmilsoftwareModule.d.ts +11 -1
- package/dist/initEmilsoftwareModule.js +66 -14
- package/dist/initEmilsoftwareModule.js.map +1 -1
- package/dist/openapi/OpenApiConfig.d.ts +68 -0
- package/dist/openapi/OpenApiConfig.js +157 -0
- package/dist/openapi/OpenApiConfig.js.map +1 -0
- package/dist/openapi/OpenApiMerge.d.ts +15 -0
- package/dist/openapi/OpenApiMerge.js +119 -0
- package/dist/openapi/OpenApiMerge.js.map +1 -0
- package/dist/scripts/generateAccessiOpenApi.d.ts +1 -0
- package/dist/scripts/generateAccessiOpenApi.js +57 -0
- package/dist/scripts/generateAccessiOpenApi.js.map +1 -0
- package/dist/scripts/generateAccessiWiki.d.ts +1 -0
- package/dist/scripts/generateAccessiWiki.js +131 -0
- package/dist/scripts/generateAccessiWiki.js.map +1 -0
- package/dist/scripts/startAccessiService.d.ts +1 -0
- package/dist/scripts/startAccessiService.js +11 -0
- package/dist/scripts/startAccessiService.js.map +1 -0
- package/dist/scripts/startAccessiTenantService.d.ts +1 -0
- package/dist/scripts/startAccessiTenantService.js +35 -0
- package/dist/scripts/startAccessiTenantService.js.map +1 -0
- package/docs/accessi-openapi-baseline.json +4500 -0
- package/docs/accessi-openapi-breaking-allowlist.json +1 -0
- package/docs/accessi-openapi-fingerprint.json +192 -0
- package/docs/adr/0001-split-package.md +79 -0
- package/docs/adr/0002-multi-tenancy.md +182 -0
- package/docs/audit.md +136 -0
- package/docs/auth-cookies.md +123 -0
- package/docs/gateway-rate-limit.md +98 -0
- package/docs/import-migration.md +65 -0
- package/docs/jwt-key-rotation.md +143 -0
- package/docs/metrics.md +153 -0
- package/docs/multi-tenancy.md +329 -0
- package/docs/proxy-ip.md +99 -0
- package/docs/redis-load-testing.md +88 -0
- package/docs/security-headers.md +151 -0
- package/docs/standalone-service.md +201 -0
- package/integration-prompt.md +776 -0
- package/package.json +238 -83
- package/dist/swagger/SwaggerConfig.d.ts +0 -2
- package/dist/swagger/SwaggerConfig.js +0 -26
- package/dist/swagger/SwaggerConfig.js.map +0 -1
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
# Multi-tenancy operativa
|
|
2
|
+
|
|
3
|
+
Accessi supporta più tenant con **un database per tenant** e un processo di
|
|
4
|
+
servizio per tenant. La configurazione sta in una cartella di file
|
|
5
|
+
`*.environment.ts` tipizzati; la decisione architetturale è in
|
|
6
|
+
`docs/adr/0002-multi-tenancy.md`.
|
|
7
|
+
|
|
8
|
+
## Layout
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
tenants/
|
|
12
|
+
acme.environment.ts
|
|
13
|
+
beta.environment.ts
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
`acme.environment.ts`:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
import type { AccessiTenantEnvironment } from 'emilsoftware-utilities/accessi/server';
|
|
20
|
+
import { defineAccessiTenantEnvironment } from 'emilsoftware-utilities/accessi/server';
|
|
21
|
+
|
|
22
|
+
export default defineAccessiTenantEnvironment({
|
|
23
|
+
tenant: {
|
|
24
|
+
id: 'acme',
|
|
25
|
+
hosts: ['accessi.acme.example.com', '*.acme.example.com'],
|
|
26
|
+
path: '/acme',
|
|
27
|
+
port: 3201,
|
|
28
|
+
enabled: true,
|
|
29
|
+
description: 'Tenant ACME',
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
database: {
|
|
33
|
+
host: 'db-acme',
|
|
34
|
+
port: 3050,
|
|
35
|
+
database: '/data/acme.fdb',
|
|
36
|
+
user: 'SYSDBA',
|
|
37
|
+
password: process.env.ACME_DB_PASSWORD!,
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
jwt: {
|
|
41
|
+
algorithm: 'RS256',
|
|
42
|
+
secret: process.env.ACME_JWT_SECRET!,
|
|
43
|
+
privateKey: process.env.ACME_JWT_PRIVATE_KEY!,
|
|
44
|
+
publicKey: process.env.ACME_JWT_PUBLIC_KEY!,
|
|
45
|
+
keyId: 'acme-2026-10',
|
|
46
|
+
issuer: 'https://accessi.acme.example.com',
|
|
47
|
+
audience: 'accessi-api',
|
|
48
|
+
expiresIn: '1h',
|
|
49
|
+
refreshExpiresIn: '30d',
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
email: {
|
|
53
|
+
host: process.env.ACME_SMTP_HOST!,
|
|
54
|
+
port: 587,
|
|
55
|
+
secure: false,
|
|
56
|
+
requireTLS: true,
|
|
57
|
+
tls: { rejectUnauthorized: true },
|
|
58
|
+
from: 'noreply@acme.example.com',
|
|
59
|
+
auth: {
|
|
60
|
+
user: process.env.ACME_SMTP_USER!,
|
|
61
|
+
pass: process.env.ACME_SMTP_PASSWORD!,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
encryptionKey: process.env.ACME_ENCRYPTION_KEY!,
|
|
66
|
+
confirmationEmailUrl: 'https://accessi.acme.example.com',
|
|
67
|
+
confirmationEmailReturnUrl: 'https://accessi.acme.example.com',
|
|
68
|
+
publicBaseUrl: 'https://accessi.acme.example.com',
|
|
69
|
+
|
|
70
|
+
// Opzionali, tutti tipizzati da AccessiTenantEnvironment:
|
|
71
|
+
http: { trustProxy: 1 },
|
|
72
|
+
authCookie: { enabled: true, secure: true, sameSite: 'lax' },
|
|
73
|
+
publicAuthRateLimit: { login: { windowMs: 900_000, maxAttempts: 10 } },
|
|
74
|
+
metrics: { enabled: true, prefix: 'accessi' },
|
|
75
|
+
audit: { retentionDays: 90, logger: true },
|
|
76
|
+
} satisfies AccessiTenantEnvironment);
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Regole:
|
|
80
|
+
|
|
81
|
+
- `tenant.id` è obbligatorio (minuscole, numeri, `-`, `_`, max 63). Non serve
|
|
82
|
+
derivarlo dal nome file, ma dovrebbe coincidere per leggibilità.
|
|
83
|
+
- Almeno uno tra `tenant.hosts` e `tenant.path`.
|
|
84
|
+
- `tenant.hosts` accetta host esatti e wildcard `*.example.com`.
|
|
85
|
+
- `tenant.path` è un prefisso (`/acme`), non un host.
|
|
86
|
+
- Ogni tenant deve avere database, chiave JWT e `encryptionKey` propri. La
|
|
87
|
+
validazione blocca chiavi JWT condivise: un token di un tenant non deve essere
|
|
88
|
+
accettato da un altro.
|
|
89
|
+
- I segreti vanno letti da `process.env` o dal secret manager: il file
|
|
90
|
+
`.environment.ts` può essere versionato senza contenere credenziali.
|
|
91
|
+
- `store`, `sink`, `match`, `onDocument` e `logger` non sono nel tipo: sono
|
|
92
|
+
oggetti runtime e vanno collegati dal backend ospitante.
|
|
93
|
+
|
|
94
|
+
Il loader usa **jiti** per eseguire TypeScript anche dal pacchetto compilato:
|
|
95
|
+
non serve compilare i file tenant separatamente.
|
|
96
|
+
|
|
97
|
+
## Validazione
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
npm run accessi:tenants -- --dir ./tenants --check
|
|
101
|
+
npm run accessi:tenants -- --dir ./tenants --list
|
|
102
|
+
npm run accessi:tenants -- --dir ./tenants --resolve accessi.acme.example.com /api/accessi
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
`--check` esce con codice 1 e stampa tutti gli errori (file, campo, duplicati,
|
|
106
|
+
chiavi condivise). `--list` stampa un summary **senza segreti**: host, path,
|
|
107
|
+
database, issuer, audience, algoritmo e porta.
|
|
108
|
+
|
|
109
|
+
La validazione avviene prima di aprire qualsiasi connessione: un tenant rotto
|
|
110
|
+
non deve avviarsi a metà.
|
|
111
|
+
|
|
112
|
+
## Avvio
|
|
113
|
+
|
|
114
|
+
### Supervisore incluso
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
npm run accessi:tenants -- --dir ./tenants --serve --base-port 3200
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Avvia un processo figlio per ogni tenant abilitato:
|
|
121
|
+
|
|
122
|
+
- `tenant.port` se presente, altrimenti `base-port + indice`;
|
|
123
|
+
- passa `PORT`, `ACCESSI_TENANT_ENVIRONMENT` (path assoluto del file) e
|
|
124
|
+
`ACCESSI_TENANT_ID`;
|
|
125
|
+
- inoltra `SIGTERM`/`SIGINT` e termina i figli dopo 10 secondi;
|
|
126
|
+
- non riavvia automaticamente un figlio: un loop su configurazione rotta è
|
|
127
|
+
peggio di un processo che resta giù; usare systemd/docker/Kubernetes.
|
|
128
|
+
|
|
129
|
+
Il supervisore legge la cartella all'avvio: **aggiungere o rimuovere un tenant
|
|
130
|
+
richiede un riavvio**. Non c'è hot reload (Nest non smonta moduli a caldo).
|
|
131
|
+
|
|
132
|
+
### systemd (consigliato in produzione)
|
|
133
|
+
|
|
134
|
+
```ini
|
|
135
|
+
# /etc/systemd/system/accessi@.service
|
|
136
|
+
[Unit]
|
|
137
|
+
Description=Accessi Service tenant %i
|
|
138
|
+
After=network-online.target
|
|
139
|
+
|
|
140
|
+
[Service]
|
|
141
|
+
Type=simple
|
|
142
|
+
WorkingDirectory=/opt/accessi
|
|
143
|
+
EnvironmentFile=/etc/accessi/%i.secrets
|
|
144
|
+
Environment=ACCESSI_TENANT_ENVIRONMENT=/etc/accessi/tenants/%i.environment.ts
|
|
145
|
+
Environment=PORT=3201
|
|
146
|
+
ExecStart=/usr/bin/node dist/scripts/startAccessiTenantService.js
|
|
147
|
+
Restart=on-failure
|
|
148
|
+
RestartSec=5
|
|
149
|
+
User=accessi
|
|
150
|
+
Group=accessi
|
|
151
|
+
NoNewPrivileges=true
|
|
152
|
+
PrivateTmp=true
|
|
153
|
+
ProtectSystem=strict
|
|
154
|
+
ReadWritePaths=/var/lib/accessi
|
|
155
|
+
|
|
156
|
+
[Install]
|
|
157
|
+
WantedBy=multi-user.target
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
`EnvironmentFile` contiene solo i segreti (`ACME_DB_PASSWORD`, ...), non il
|
|
161
|
+
manifest: il manifest tipizzato resta nel file `.environment.ts`.
|
|
162
|
+
|
|
163
|
+
### Docker Compose
|
|
164
|
+
|
|
165
|
+
```yaml
|
|
166
|
+
services:
|
|
167
|
+
accessi-acme:
|
|
168
|
+
image: emilsoftware/accessi:2
|
|
169
|
+
environment:
|
|
170
|
+
ACCESSI_TENANT_ENVIRONMENT: /config/acme.environment.ts
|
|
171
|
+
PORT: "3201"
|
|
172
|
+
env_file: ./secrets/acme.env
|
|
173
|
+
volumes:
|
|
174
|
+
- ./tenants:/config:ro
|
|
175
|
+
ports:
|
|
176
|
+
- "127.0.0.1:3201:3201"
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Reverse proxy
|
|
180
|
+
|
|
181
|
+
Il proxy instrada per host o path e **sovrascrive** l'header tenant se lo usa.
|
|
182
|
+
Non fidarsi di un header inviato dal client.
|
|
183
|
+
|
|
184
|
+
### Nginx (host)
|
|
185
|
+
|
|
186
|
+
```nginx
|
|
187
|
+
map $host $accessi_upstream {
|
|
188
|
+
accessi.acme.example.com http://127.0.0.1:3201;
|
|
189
|
+
accessi.beta.example.com http://127.0.0.1:3202;
|
|
190
|
+
default http://127.0.0.1:3201;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
server {
|
|
194
|
+
listen 443 ssl http2;
|
|
195
|
+
server_name accessi.acme.example.com accessi.beta.example.com;
|
|
196
|
+
location / {
|
|
197
|
+
proxy_pass $accessi_upstream;
|
|
198
|
+
proxy_set_header Host $host;
|
|
199
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
200
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Traefik (host)
|
|
206
|
+
|
|
207
|
+
```yaml
|
|
208
|
+
http:
|
|
209
|
+
routers:
|
|
210
|
+
acme:
|
|
211
|
+
rule: Host(`accessi.acme.example.com`)
|
|
212
|
+
service: acme
|
|
213
|
+
beta:
|
|
214
|
+
rule: Host(`accessi.beta.example.com`)
|
|
215
|
+
service: beta
|
|
216
|
+
services:
|
|
217
|
+
acme:
|
|
218
|
+
loadBalancer:
|
|
219
|
+
servers:
|
|
220
|
+
- url: http://127.0.0.1:3201
|
|
221
|
+
beta:
|
|
222
|
+
loadBalancer:
|
|
223
|
+
servers:
|
|
224
|
+
- url: http://127.0.0.1:3202
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Path
|
|
228
|
+
|
|
229
|
+
Con `tenant.path = '/acme'`, il proxy deve rimuovere il prefisso prima di
|
|
230
|
+
inoltrare (Accessi non lo conosce) oppure il tenant deve essere servito alla
|
|
231
|
+
radice:
|
|
232
|
+
|
|
233
|
+
```nginx
|
|
234
|
+
location /acme/ {
|
|
235
|
+
rewrite ^/acme/(.*)$ /$1 break;
|
|
236
|
+
proxy_pass http://127.0.0.1:3201;
|
|
237
|
+
}
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Se si usa la risoluzione via header, impostarlo solo nel proxy:
|
|
241
|
+
|
|
242
|
+
```nginx
|
|
243
|
+
proxy_set_header X-Accessi-Tenant acme;
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
e avviare il router con `allowHeader: true` solo nel servizio che si fida del
|
|
247
|
+
proxy.
|
|
248
|
+
|
|
249
|
+
## Store Redis condivisi
|
|
250
|
+
|
|
251
|
+
Con Redis condiviso usare l'helper: crea tutti gli store con prefissi
|
|
252
|
+
`accessi:<tenantId>:` e li collega alle opzioni.
|
|
253
|
+
|
|
254
|
+
```ts
|
|
255
|
+
import { createAccessiTenantStores } from 'emilsoftware-utilities/accessi/server';
|
|
256
|
+
|
|
257
|
+
const stores = createAccessiTenantStores({
|
|
258
|
+
tenantId: tenant.id,
|
|
259
|
+
client: redisClient,
|
|
260
|
+
encryptionKey: tenant.options.encryptionKey,
|
|
261
|
+
});
|
|
262
|
+
const options: AccessiOptions = stores.applyTo(tenant.options);
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
`applyTo` collega `publicAuthRateLimit`, `serviceTokens`,
|
|
266
|
+
`sessionRevocation`, `accessTokenRevocation`, `refreshTokenRotation` e
|
|
267
|
+
`consoleEntry`, preservando le altre opzioni. I prefissi sono disponibili in
|
|
268
|
+
`stores.prefixes`; `getAccessiTenantStorePrefixes(tenantId)` li espone anche
|
|
269
|
+
senza creare gli store.
|
|
270
|
+
|
|
271
|
+
Senza prefisso due tenant condividerebbero rate limit, revoche e refresh: è un
|
|
272
|
+
leakage. I test di integrazione Redis verificano l'isolamento.
|
|
273
|
+
|
|
274
|
+
## Metriche e audit
|
|
275
|
+
|
|
276
|
+
- Ogni processo espone `/health/metrics` sulla propria porta: Prometheus può
|
|
277
|
+
scrapare per tenant.
|
|
278
|
+
- `countAccessiMetric` aggiunge `tenant` quando `options.tenantId` è presente.
|
|
279
|
+
- `audit.tenantId` aggiunge `tenant` a ogni record; configurare un sink per
|
|
280
|
+
tenant o un sink condiviso che conserva il label.
|
|
281
|
+
- Log: includere `ACCESSI_TENANT_ID` nel formato del logger dell'host.
|
|
282
|
+
|
|
283
|
+
## Aggiungere, rimuovere, ruotare
|
|
284
|
+
|
|
285
|
+
**Aggiungere un tenant**
|
|
286
|
+
|
|
287
|
+
1. Creare `tenants/<id>.environment.ts` con DB e chiavi propri.
|
|
288
|
+
2. `npm run accessi:tenants -- --dir ./tenants --check`.
|
|
289
|
+
3. Creare il database, eseguire le migrazioni (`db:update:accessi`,
|
|
290
|
+
`db:catalog:accessi`) con la configurazione del tenant.
|
|
291
|
+
4. Avviare/riavviare il supervisore o l'unità systemd del tenant.
|
|
292
|
+
5. Aggiungere la rotta al proxy e verificare `/health/ready`.
|
|
293
|
+
|
|
294
|
+
**Rimuovere un tenant**
|
|
295
|
+
|
|
296
|
+
1. Rimuovere la rotta dal proxy (il traffico si ferma).
|
|
297
|
+
2. Impostare `tenant.enabled: false` e riavviare.
|
|
298
|
+
3. Conservare database e backup secondo la retention; solo dopo eliminare il
|
|
299
|
+
file `.environment.ts` e i segreti.
|
|
300
|
+
|
|
301
|
+
**Ruotare le chiavi**
|
|
302
|
+
|
|
303
|
+
Ogni tenant ha la propria rotazione (`docs/jwt-key-rotation.md`). Non copiare
|
|
304
|
+
chiavi tra tenant; la validazione blocca chiavi JWT condivise.
|
|
305
|
+
|
|
306
|
+
## Migrazione da single-tenant
|
|
307
|
+
|
|
308
|
+
1. Creare `tenants/<id>.environment.ts` partendo dal `.env` attuale, usando
|
|
309
|
+
`process.env` per i segreti.
|
|
310
|
+
2. Validare con `--check`.
|
|
311
|
+
3. Avviare il tenant sulla nuova porta mantenendo il servizio vecchio.
|
|
312
|
+
4. Verificare login, refresh, JWKS, console, health e metriche sul nuovo.
|
|
313
|
+
5. Spostare il DNS/rotta del proxy sul nuovo servizio.
|
|
314
|
+
6. Spegnere il vecchio processo e mantenere il rollback per almeno un ciclo di
|
|
315
|
+
token (`max(expiresIn, refreshExpiresIn)`).
|
|
316
|
+
|
|
317
|
+
Il database non cambia: la migrazione è di configurazione e deployment, non di
|
|
318
|
+
schema.
|
|
319
|
+
|
|
320
|
+
## Limiti
|
|
321
|
+
|
|
322
|
+
- Un processo per tenant: più RAM, più pool Firebird, più connessioni SMTP.
|
|
323
|
+
- Nessun hot reload: aggiunta/rimozione richiede restart.
|
|
324
|
+
- Migrazioni e backup per database.
|
|
325
|
+
- La risoluzione via header è ammessa solo dietro proxy fidato; il client non
|
|
326
|
+
deve poter scegliere il tenant.
|
|
327
|
+
- Un tenant con path `/` senza host non può convivere con altri (validazione).
|
|
328
|
+
- I file `.environment.ts` sono eseguiti: trattarli come codice fidato e non
|
|
329
|
+
caricarli da input HTTP.
|
package/docs/proxy-ip.md
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# IP reali dietro proxy
|
|
2
|
+
|
|
3
|
+
Rate limit, audit e revoca usano `req.ip`. Se il servizio sta dietro un load balancer o un reverse
|
|
4
|
+
proxy, `req.ip` e l'indirizzo del proxy finche `http.trustProxy` non e configurato correttamente:
|
|
5
|
+
|
|
6
|
+
- tutti i client finiscono nello stesso bucket → il rate limit blocca utenti legittimi;
|
|
7
|
+
- oppure un header non fidato diventa la chiave → il rate limit si aggira cambiando
|
|
8
|
+
`X-Forwarded-For` a ogni richiesta;
|
|
9
|
+
- i log di audit riportano l'IP del proxy invece del client.
|
|
10
|
+
|
|
11
|
+
`http.trustProxy` viene applicato sia all'host sia al sotto-app Accessi (`app.set('trust proxy', …)`)
|
|
12
|
+
e accetta la stessa sintassi di Express: `false`, numero di hop, `true`, `'loopback'`, CIDR.
|
|
13
|
+
|
|
14
|
+
## Valore consigliato
|
|
15
|
+
|
|
16
|
+
| Deploy | `http.trustProxy` | Note |
|
|
17
|
+
| --- | --- | --- |
|
|
18
|
+
| Servizio esposto direttamente | `false` (default) | `X-Forwarded-For` viene ignorato: nessun bypass via header |
|
|
19
|
+
| Un proxy davanti (Nginx, Traefik, ALB) | `1` | Il proxy deve **accodare** l'IP reale in `X-Forwarded-For` |
|
|
20
|
+
| Due proxy (Cloudflare + Nginx, CDN + ingress) | `2` | Contare solo i proxy che il servizio vede davvero |
|
|
21
|
+
| Solo proxy locali | `'loopback'` | Fidarsi di `127.0.0.1`/`::1`, non di altre reti |
|
|
22
|
+
| Rete privata dedicata ai proxy | `'loopback, 10.0.0.0/8'` | Elencare le CIDR dei proxy, non usare `true` |
|
|
23
|
+
| `trustProxy: true` | **sconsigliato** | Fidarsi di tutti gli hop rende scegliibile dal client il valore piu a sinistra |
|
|
24
|
+
|
|
25
|
+
`npm run test:proxy-ip` verifica questi comportamenti su Express: senza trust proxy l'header non
|
|
26
|
+
cambia `req.ip`; con `1` il client reale e l'ultimo hop; un header anteposto dal client non sposta il
|
|
27
|
+
bucket; con `true` il valore piu a sinistra (falsificabile) vince.
|
|
28
|
+
|
|
29
|
+
## Regola d'oro: il proxy deve accodare, non fidarsi
|
|
30
|
+
|
|
31
|
+
`X-Forwarded-For` e una lista `client, proxy1, proxy2`. Il client puo inviare il proprio header con
|
|
32
|
+
qualsiasi valore: il proxy deve **accodare** (`$proxy_add_x_forwarded_for`) o **sovrascrivere**
|
|
33
|
+
(`$remote_addr`). Con `trustProxy` numerico Express parte da destra e si ferma dopo N hop fidati,
|
|
34
|
+
quindi i valori anteposti dal client vengono ignorati.
|
|
35
|
+
|
|
36
|
+
Non usare `X-Real-IP` da solo: se il servizio e raggiungibile direttamente, e falsificabile quanto
|
|
37
|
+
`X-Forwarded-For`.
|
|
38
|
+
|
|
39
|
+
## Nginx
|
|
40
|
+
|
|
41
|
+
```nginx
|
|
42
|
+
location /api/accessi/ {
|
|
43
|
+
proxy_pass http://accessi_service;
|
|
44
|
+
|
|
45
|
+
# Un solo proxy: sovrascrivere l'header e evitare valori del client.
|
|
46
|
+
proxy_set_header X-Forwarded-For $remote_addr;
|
|
47
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
48
|
+
proxy_set_header Host $host;
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Con piu proxy davanti a Nginx usare `$proxy_add_x_forwarded_for` e impostare `trustProxy` al numero
|
|
53
|
+
totale di hop fidati.
|
|
54
|
+
|
|
55
|
+
## Traefik
|
|
56
|
+
|
|
57
|
+
Traefik aggiunge `X-Forwarded-For` per impostazione predefinita. Con un solo Traefik davanti al
|
|
58
|
+
servizio usare `trustProxy: 1`. Se Traefik e dietro un altro ingress, contare anche quello.
|
|
59
|
+
|
|
60
|
+
## Cloudflare
|
|
61
|
+
|
|
62
|
+
Cloudflare invia `CF-Connecting-IP` e accoda `X-Forwarded-For`. Due opzioni sicure:
|
|
63
|
+
|
|
64
|
+
1. il servizio e raggiungibile **solo** da Cloudflare (firewall/authenticated origin pulls):
|
|
65
|
+
`trustProxy: 1`, perche l'unico hop e Cloudflare;
|
|
66
|
+
2. c'e anche un ingress/Nginx tra Cloudflare e il servizio: `trustProxy: 2`.
|
|
67
|
+
|
|
68
|
+
Non impostare `trustProxy: true`: chi raggiunge l'origin direttamente potrebbe falsificare l'IP.
|
|
69
|
+
Se serve `CF-Connecting-IP`, va letto solo dopo aver verificato che la richiesta arrivi da un IP
|
|
70
|
+
Cloudflare.
|
|
71
|
+
|
|
72
|
+
## Configurazione
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
export const accessiOptions: AccessiOptions = {
|
|
76
|
+
// ...
|
|
77
|
+
http: {
|
|
78
|
+
trustProxy: 1, // un solo proxy davanti
|
|
79
|
+
},
|
|
80
|
+
edgeRateLimit: {
|
|
81
|
+
enabled: true,
|
|
82
|
+
windowMs: 60_000,
|
|
83
|
+
maxAttempts: 300,
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Verifica in produzione
|
|
89
|
+
|
|
90
|
+
1. Da un client esterno, chiamare un endpoint pubblico con un header inventato:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
curl -H 'X-Forwarded-For: 6.6.6.6' https://accessi.example.com/api/accessi/auth/login
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
2. Controllare che l'audit (`accessi_rate_limited`, `edge_rate_limited`) riporti l'IP reale del
|
|
97
|
+
client e non `6.6.6.6`.
|
|
98
|
+
3. Superare il limite da due IP diversi: se il secondo IP e bloccato subito, il bucket e condiviso e
|
|
99
|
+
`trustProxy` e troppo basso. Se cambiando header si sblocca, `trustProxy` e troppo alto.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Test di concorrenza e carico su Redis
|
|
2
|
+
|
|
3
|
+
`npm run test:load:redis` verifica che rate limit, ticket console e refresh
|
|
4
|
+
rotation restino corretti con più istanze Accessi sullo stesso Redis, e produce
|
|
5
|
+
un report di throughput e latenza.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ACCESSI_TEST_REDIS_URL=redis://127.0.0.1:6379 npm run test:load:redis
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
La suite è opt-in: senza `ACCESSI_TEST_REDIS_URL` i test vengono saltati. In CI
|
|
12
|
+
si imposta `ACCESSI_TEST_REQUIRE_REDIS=1` per far fallire il job se Redis non è
|
|
13
|
+
raggiungibile. Usare un database Redis dedicato (es. `redis://127.0.0.1:6379/5`):
|
|
14
|
+
tutte le chiavi hanno un prefisso per processo e vengono cancellate a fine suite,
|
|
15
|
+
ma un database separato evita sorprese con Redis condivisi.
|
|
16
|
+
|
|
17
|
+
## Scenari
|
|
18
|
+
|
|
19
|
+
| Scenario | Cosa dimostra |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
| Burst login/reset/2FA | il limite globale per IP è rispettato anche se le richieste sono distribuite su due store (due istanze) |
|
|
22
|
+
| Ticket console | due istanze consumano lo stesso ticket: una sola ottiene il record, l'altra riceve `null` |
|
|
23
|
+
| Refresh rotation | due istanze consumano lo stesso `jti`: una sola vince; la revoca di famiglia è visibile all'altra istanza |
|
|
24
|
+
| Misure | throughput, p50, p95 e massimo per ogni scenario |
|
|
25
|
+
|
|
26
|
+
Le "due istanze" sono simulate con due connessioni Redis indipendenti e due
|
|
27
|
+
oggetti store distinti. La correttezza dipende dagli script Lua atomici degli
|
|
28
|
+
store: il test non testa il processo Node in sé, ma il comportamento condiviso
|
|
29
|
+
su Redis.
|
|
30
|
+
|
|
31
|
+
## Parametri
|
|
32
|
+
|
|
33
|
+
| Variabile | Default | Note |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| `ACCESSI_TEST_REDIS_URL` | assente | abilita la suite |
|
|
36
|
+
| `ACCESSI_TEST_REQUIRE_REDIS` | `0` | `1` trasforma lo skip in errore (CI) |
|
|
37
|
+
| `ACCESSI_TEST_LOAD_ITERATIONS` | `200` | operazioni per refresh rotation |
|
|
38
|
+
| `ACCESSI_TEST_LOAD_CONCURRENCY` | `50` | richieste concorrenti |
|
|
39
|
+
| `ACCESSI_TEST_REPORT_FILE` | assente | path del report Markdown |
|
|
40
|
+
|
|
41
|
+
Esempio con carico maggiore:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
ACCESSI_TEST_REDIS_URL=redis://127.0.0.1:6379/5 \
|
|
45
|
+
ACCESSI_TEST_LOAD_ITERATIONS=1000 \
|
|
46
|
+
ACCESSI_TEST_LOAD_CONCURRENCY=100 \
|
|
47
|
+
ACCESSI_TEST_REPORT_FILE=redis-load-report.md \
|
|
48
|
+
npm run test:load:redis
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Report
|
|
52
|
+
|
|
53
|
+
Il report viene sempre stampato a fine suite:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
| Scenario | Operazioni | Errori | Throughput (ops/s) | p50 (ms) | p95 (ms) | max (ms) |
|
|
57
|
+
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
|
|
58
|
+
| rate limit login | 60 | 0 | 3200.0 | 12.10 | 24.30 | 41.00 |
|
|
59
|
+
| console ticket (2 istanze) | 100 | 0 | 2800.0 | 14.00 | 30.10 | 55.00 |
|
|
60
|
+
| refresh rotation (2 istanze) | 200 | 0 | 3000.0 | 13.00 | 27.00 | 48.00 |
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Con `ACCESSI_TEST_REPORT_FILE` viene scritto anche su file; la CI lo pubblica
|
|
64
|
+
come artifact `redis-load-report`.
|
|
65
|
+
|
|
66
|
+
Le asserzioni verificano correttezza e un limite di sicurezza sulla latenza
|
|
67
|
+
(p95 sotto 1–2 secondi), non un throughput minimo: il throughput dipende
|
|
68
|
+
dall'hardware del runner e non deve rendere la CI instabile. Per una valutazione
|
|
69
|
+
di capacità usare un ambiente dedicato e confrontare i numeri tra release.
|
|
70
|
+
|
|
71
|
+
## Interpretazione
|
|
72
|
+
|
|
73
|
+
- **Errori > 0**: Redis irraggiungibile o script Lua in errore; il test fallisce.
|
|
74
|
+
- **p95 molto alto con throughput basso**: rete verso Redis o Redis saturo;
|
|
75
|
+
controllare `latency monitor` lato Redis e il pool di connessioni.
|
|
76
|
+
- **Più di un consumo riuscito**: violazione dell'atomicità; non distribuire la
|
|
77
|
+
release.
|
|
78
|
+
- **Limite per IP superato**: due istanze non stanno condividendo lo store o
|
|
79
|
+
stanno usando prefissi diversi.
|
|
80
|
+
|
|
81
|
+
## Limiti
|
|
82
|
+
|
|
83
|
+
- Non misura il costo del database Firebird né il flusso HTTP completo: per
|
|
84
|
+
quello usare i test di integrazione Firebird e un ambiente di staging.
|
|
85
|
+
- I tempi includono il client Redis di test (RESP2 minimale) e il round-trip di
|
|
86
|
+
rete: sono un limite superiore, non un benchmark dell'applicazione.
|
|
87
|
+
- Non usare questo test contro un Redis di produzione: scrive e cancella chiavi
|
|
88
|
+
con prefisso, ma è comunque carico reale.
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Header di sicurezza e CSP
|
|
2
|
+
|
|
3
|
+
Accessi applica header di sicurezza alle proprie rotte (`/api/accessi/*`, JWKS e
|
|
4
|
+
documentazione OpenAPI). La configurazione avviene in `http.securityHeaders`:
|
|
5
|
+
|
|
6
|
+
```ts
|
|
7
|
+
const accessiOptions: AccessiOptions = {
|
|
8
|
+
// ...
|
|
9
|
+
http: {
|
|
10
|
+
securityHeaders: {
|
|
11
|
+
frameOptions: 'SAMEORIGIN',
|
|
12
|
+
referrerPolicy: 'no-referrer',
|
|
13
|
+
permissionsPolicy: 'camera=(), microphone=(), geolocation=()',
|
|
14
|
+
cacheControl: 'no-store, max-age=0',
|
|
15
|
+
contentSecurityPolicy: {
|
|
16
|
+
reportOnly: false,
|
|
17
|
+
connectSrc: ['https://api.example.com'],
|
|
18
|
+
reportUri: 'https://csp.example.com/report',
|
|
19
|
+
directives: {
|
|
20
|
+
'img-src': ["'self'", 'data:', 'https:'],
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`securityHeaders: false` disabilita tutto; `securityHeaders: true` (o l'omissione)
|
|
29
|
+
usa i default. La forma storica booleana resta valida.
|
|
30
|
+
|
|
31
|
+
## Default
|
|
32
|
+
|
|
33
|
+
| Header | Valore | Note |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| `X-Content-Type-Options` | `nosniff` | sempre presente |
|
|
36
|
+
| `X-Frame-Options` | `SAMEORIGIN` | `false` per non inviarlo |
|
|
37
|
+
| `Referrer-Policy` | `no-referrer` | `false` per non inviarla |
|
|
38
|
+
| `Permissions-Policy` | `camera=(), microphone=(), geolocation=()` | `false` per non inviarla |
|
|
39
|
+
| `Cache-Control` (shell console) | `no-store, max-age=0` | `false` per non inviarlo |
|
|
40
|
+
| `Content-Security-Policy` | vedi sotto | `false` per disabilitarla |
|
|
41
|
+
|
|
42
|
+
La shell della console risponde sempre con `Cache-Control: no-store`,
|
|
43
|
+
`Referrer-Policy: no-referrer` e `X-Content-Type-Options: nosniff`, anche con
|
|
44
|
+
`securityHeaders: false`, per non regredire rispetto alle versioni precedenti.
|
|
45
|
+
|
|
46
|
+
## Content Security Policy
|
|
47
|
+
|
|
48
|
+
Direttive di base:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
default-src 'self'
|
|
52
|
+
base-uri 'none'
|
|
53
|
+
object-src 'none'
|
|
54
|
+
frame-ancestors 'self'
|
|
55
|
+
form-action 'self'
|
|
56
|
+
img-src 'self' data:
|
|
57
|
+
font-src 'self'
|
|
58
|
+
style-src 'self'
|
|
59
|
+
script-src 'self'
|
|
60
|
+
connect-src 'self'
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
La policy cambia per superficie:
|
|
64
|
+
|
|
65
|
+
- **Console** (`/api/accessi/console*`): i due script inline della shell ricevono
|
|
66
|
+
un nonce casuale per richiesta (`script-src 'self' 'nonce-...'`). Non viene mai
|
|
67
|
+
usato `'unsafe-inline'`. Se la console chiama l'API su un'altra origine, quella
|
|
68
|
+
origine viene aggiunta automaticamente a `connect-src` da
|
|
69
|
+
`consoleApiBaseUrl`.
|
|
70
|
+
- **OpenAPI** (`/accessi/openapi*`): la UI Swagger genera script e stili inline a
|
|
71
|
+
runtime, quindi la policy include `'unsafe-inline'` per `script-src` e
|
|
72
|
+
`style-src`. È l'unica eccezione documentata; per rimuoverla impostare
|
|
73
|
+
`contentSecurityPolicy.swaggerUnsafeInline: false` e servire una UI Swagger
|
|
74
|
+
compatibile con nonce/hash.
|
|
75
|
+
- **API e JWKS**: policy stretta, senza `'unsafe-inline'`.
|
|
76
|
+
|
|
77
|
+
`directives` vince sui default: una direttiva impostata a `false` viene rimossa,
|
|
78
|
+
altrimenti i valori sostituiscono quelli predefiniti. `connectSrc` aggiunge
|
|
79
|
+
origini a `connect-src`; `reportUri` aggiunge `report-uri`.
|
|
80
|
+
|
|
81
|
+
### Rollout con Report-Only
|
|
82
|
+
|
|
83
|
+
1. Imposta `contentSecurityPolicy.reportOnly: true` e un `reportUri`.
|
|
84
|
+
2. Raccogli le violazioni per almeno un ciclo di utilizzo della console.
|
|
85
|
+
3. Aggiungi le origini legittime a `connectSrc` o alle direttive.
|
|
86
|
+
4. Passa a `reportOnly: false`.
|
|
87
|
+
|
|
88
|
+
## Reverse proxy
|
|
89
|
+
|
|
90
|
+
Accessi non imposta HSTS: va configurato sul terminatore TLS insieme ai
|
|
91
|
+
redirect HTTP→HTTPS.
|
|
92
|
+
|
|
93
|
+
### Nginx
|
|
94
|
+
|
|
95
|
+
```nginx
|
|
96
|
+
location / {
|
|
97
|
+
proxy_pass http://accessi_upstream;
|
|
98
|
+
proxy_set_header Host $host;
|
|
99
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
100
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
101
|
+
|
|
102
|
+
# Non rimuovere gli header CSP inviati da Accessi.
|
|
103
|
+
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
`add_header` di Nginx si aggiunge solo se la risposta non ha già un header con
|
|
108
|
+
lo stesso nome: non duplicare `Content-Security-Policy` a questo livello. Se il
|
|
109
|
+
proxy deve imporre una policy propria, disattiva quella di Accessi
|
|
110
|
+
(`contentSecurityPolicy: false`) e mantieni una sola policy, consapevole che la
|
|
111
|
+
console richiede il nonce (il proxy non può generarlo al posto dell'app).
|
|
112
|
+
|
|
113
|
+
### Traefik
|
|
114
|
+
|
|
115
|
+
```yaml
|
|
116
|
+
http:
|
|
117
|
+
middlewares:
|
|
118
|
+
accessi-headers:
|
|
119
|
+
headers:
|
|
120
|
+
stsSeconds: 31536000
|
|
121
|
+
stsIncludeSubdomains: true
|
|
122
|
+
contentTypeNosniff: true
|
|
123
|
+
referrerPolicy: no-referrer
|
|
124
|
+
customResponseHeaders:
|
|
125
|
+
Permissions-Policy: "camera=(), microphone=(), geolocation=()"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Non aggiungere `Content-Security-Policy` in `customResponseHeaders` se Accessi la
|
|
129
|
+
invia già: due header CSP vengono applicati come intersezione e la console
|
|
130
|
+
smetterebbe di funzionare. Per una policy unica, gestiscila in un solo punto.
|
|
131
|
+
|
|
132
|
+
### Cloudflare
|
|
133
|
+
|
|
134
|
+
- Abilita "Always Use HTTPS" e HSTS nelle impostazioni TLS/Edge.
|
|
135
|
+
- Se usi Transform Rules per aggiungere header, escludi
|
|
136
|
+
`Content-Security-Policy`: Cloudflare non può generare il nonce della console.
|
|
137
|
+
- Verifica che "Email Obfuscation" o altre feature che iniettano script inline
|
|
138
|
+
siano disattivate sulle pagine della console, altrimenti violano la CSP.
|
|
139
|
+
- Con Cloudflare davanti alla JWKS, mantieni il TTL della cache allineato a
|
|
140
|
+
`jwt.jwks.cacheTtlMs` (default 300 s): un TTL più alto ritarda la rotazione
|
|
141
|
+
delle chiavi.
|
|
142
|
+
|
|
143
|
+
## Verifica
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
curl -sSI https://accessi.example.com/api/accessi/console | grep -i -E 'content-security|x-frame|referrer|permissions'
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
La CSP della console cambia a ogni risposta per via del nonce: due richieste
|
|
150
|
+
consecutive devono restituire policy diverse. Il nonce nell'header deve
|
|
151
|
+
coincidere con quello dei due script inline nella pagina.
|