@rockcarver/frodo-lib 2.0.0-13 → 2.0.0-14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build.zip +0 -0
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/BaseApi.js +1 -1
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/IdmSystemApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/NodeApi.js.map +1 -1
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.test.js +2 -2
- package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
- package/cjs/api/OAuth2ProviderApi.js.map +1 -1
- package/cjs/api/PoliciesApi.js.map +1 -1
- package/cjs/api/PolicySetApi.js.map +1 -1
- package/cjs/api/RealmApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.js.map +1 -1
- package/cjs/api/Saml2Api.js.map +1 -1
- package/cjs/api/ScriptApi.js.map +1 -1
- package/cjs/api/ServerInfoApi.js.map +1 -1
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/cloud/AdminFederationProvidersApi.js.map +1 -1
- package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
- package/cjs/api/cloud/FeatureApi.js.map +1 -1
- package/cjs/api/cloud/LogApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.js.map +1 -1
- package/cjs/api/cloud/StartupApi.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/Base64.js +4 -4
- package/cjs/api/utils/Base64.js.map +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/lib/Frodo.js +9 -2
- package/cjs/lib/Frodo.js.map +1 -1
- package/cjs/lib/FrodoLib.js +17 -20
- package/cjs/lib/FrodoLib.js.map +1 -1
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +35 -35
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +10 -12
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +14 -14
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +2 -2
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js +5 -5
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/InfoOps.js +3 -4
- package/cjs/ops/InfoOps.js.map +1 -1
- package/cjs/ops/JoseOps.js +30 -0
- package/cjs/ops/JoseOps.js.map +1 -1
- package/cjs/ops/JourneyOps.js +41 -43
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js +3 -2
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +19 -19
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OAuth2OidcOps.js.map +1 -1
- package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/PolicyOps.js +29 -29
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +27 -27
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/RealmOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.js +23 -23
- package/cjs/ops/ResourceTypeOps.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +11 -11
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js +3 -2
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +3 -3
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/cloud/AdminFederationOps.js.map +1 -1
- package/cjs/ops/cloud/FeatureOps.js.map +1 -1
- package/cjs/ops/cloud/LogOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/cjs/ops/cloud/StartupOps.js.map +1 -1
- package/cjs/ops/cloud/VariablesOps.js.map +1 -1
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +3 -3
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/DataProtection.test.js +1 -1
- package/cjs/ops/utils/DataProtection.test.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +2 -2
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +105 -25
- package/cjs/ops/utils/OpsUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.test.js +6 -5
- package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.js +33 -2
- package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.test.js +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -1
- package/cjs/ops/utils/{Version.js → VersionUtils.js} +1 -1
- package/cjs/ops/utils/VersionUtils.js.map +1 -0
- package/cjs/ops/utils/{Version.test.js → VersionUtils.test.js} +3 -3
- package/cjs/ops/utils/VersionUtils.test.js.map +1 -0
- package/cjs/shared/Constants.js +34 -0
- package/cjs/shared/Constants.js.map +1 -0
- package/cjs/shared/State.js +477 -220
- package/cjs/shared/State.js.map +1 -1
- package/cjs/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/esm/api/AgentApi.js.map +1 -1
- package/esm/api/AuthenticateApi.js.map +1 -1
- package/esm/api/BaseApi.js +2 -2
- package/esm/api/BaseApi.js.map +1 -1
- package/esm/api/CirclesOfTrustApi.js.map +1 -1
- package/esm/api/IdmConfigApi.js.map +1 -1
- package/esm/api/IdmSystemApi.js.map +1 -1
- package/esm/api/ManagedObjectApi.js.map +1 -1
- package/esm/api/NodeApi.js.map +1 -1
- package/esm/api/OAuth2ClientApi.js.map +1 -1
- package/esm/api/OAuth2OIDCApi.js.map +1 -1
- package/esm/api/OAuth2OIDCApi.test.js +2 -2
- package/esm/api/OAuth2OIDCApi.test.js.map +1 -1
- package/esm/api/OAuth2ProviderApi.js.map +1 -1
- package/esm/api/PoliciesApi.js.map +1 -1
- package/esm/api/PolicySetApi.js.map +1 -1
- package/esm/api/RealmApi.js.map +1 -1
- package/esm/api/ResourceTypesApi.js.map +1 -1
- package/esm/api/Saml2Api.js.map +1 -1
- package/esm/api/ScriptApi.js.map +1 -1
- package/esm/api/ServerInfoApi.js.map +1 -1
- package/esm/api/ServiceApi.js.map +1 -1
- package/esm/api/SocialIdentityProvidersApi.js.map +1 -1
- package/esm/api/TreeApi.js.map +1 -1
- package/esm/api/cloud/AdminFederationProvidersApi.js.map +1 -1
- package/esm/api/cloud/EnvInfoApi.js.map +1 -1
- package/esm/api/cloud/FeatureApi.js.map +1 -1
- package/esm/api/cloud/LogApi.js.map +1 -1
- package/esm/api/cloud/SecretsApi.js.map +1 -1
- package/esm/api/cloud/StartupApi.js.map +1 -1
- package/esm/api/cloud/VariablesApi.js.map +1 -1
- package/esm/api/utils/ApiUtils.js.map +1 -1
- package/esm/api/utils/Base64.js +4 -4
- package/esm/api/utils/Base64.js.map +1 -1
- package/esm/index.js +13 -1
- package/esm/index.js.map +1 -1
- package/esm/lib/Frodo.js +9 -2
- package/esm/lib/Frodo.js.map +1 -1
- package/esm/lib/FrodoLib.js +12 -16
- package/esm/lib/FrodoLib.js.map +1 -1
- package/esm/ops/AdminOps.js.map +1 -1
- package/esm/ops/AgentOps.js.map +1 -1
- package/esm/ops/AuthenticateOps.js +10 -10
- package/esm/ops/AuthenticateOps.js.map +1 -1
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/ConnectionProfileOps.js +2 -2
- package/esm/ops/ConnectionProfileOps.js.map +1 -1
- package/esm/ops/ConnectionProfileOps.test.js +5 -5
- package/esm/ops/ConnectionProfileOps.test.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/IdmOps.js.map +1 -1
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/InfoOps.js +2 -2
- package/esm/ops/InfoOps.js.map +1 -1
- package/esm/ops/JoseOps.js +20 -0
- package/esm/ops/JoseOps.js.map +1 -1
- package/esm/ops/JourneyOps.js +10 -11
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/JourneyOps.test.js +2 -2
- package/esm/ops/JourneyOps.test.js.map +1 -1
- package/esm/ops/ManagedObjectOps.js.map +1 -1
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/OAuth2ClientOps.js.map +1 -1
- package/esm/ops/OAuth2OidcOps.js.map +1 -1
- package/esm/ops/OAuth2ProviderOps.js.map +1 -1
- package/esm/ops/OpsTypes.js.map +1 -1
- package/esm/ops/OrganizationOps.js.map +1 -1
- package/esm/ops/PolicyOps.js.map +1 -1
- package/esm/ops/PolicySetOps.js.map +1 -1
- package/esm/ops/RealmOps.js.map +1 -1
- package/esm/ops/ResourceTypeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/Saml2Ops.test.js +2 -2
- package/esm/ops/Saml2Ops.test.js.map +1 -1
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/ServiceOps.js.map +1 -1
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/cloud/AdminFederationOps.js.map +1 -1
- package/esm/ops/cloud/FeatureOps.js.map +1 -1
- package/esm/ops/cloud/LogOps.js.map +1 -1
- package/esm/ops/cloud/SecretsOps.js.map +1 -1
- package/esm/ops/cloud/ServiceAccountOps.js +1 -1
- package/esm/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/esm/ops/cloud/StartupOps.js.map +1 -1
- package/esm/ops/cloud/VariablesOps.js.map +1 -1
- package/esm/ops/utils/Console.js.map +1 -1
- package/esm/ops/utils/DataProtection.js +3 -3
- package/esm/ops/utils/DataProtection.js.map +1 -1
- package/esm/ops/utils/DataProtection.test.js +2 -2
- package/esm/ops/utils/DataProtection.test.js.map +1 -1
- package/esm/ops/utils/ExportImportUtils.js +2 -2
- package/esm/ops/utils/ExportImportUtils.js.map +1 -1
- package/esm/ops/utils/OpsUtils.js +96 -22
- package/esm/ops/utils/OpsUtils.js.map +1 -1
- package/esm/ops/utils/OpsUtils.test.js +5 -5
- package/esm/ops/utils/OpsUtils.test.js.map +1 -1
- package/esm/ops/utils/ScriptValidationUtils.js +28 -0
- package/esm/ops/utils/ScriptValidationUtils.js.map +1 -1
- package/esm/ops/utils/ScriptValidationUtils.test.js +2 -2
- package/esm/ops/utils/ScriptValidationUtils.test.js.map +1 -1
- package/esm/ops/utils/{Version.js → VersionUtils.js} +1 -1
- package/esm/ops/utils/VersionUtils.js.map +1 -0
- package/esm/ops/utils/{Version.test.js → VersionUtils.test.js} +2 -2
- package/esm/ops/utils/VersionUtils.test.js.map +1 -0
- package/esm/shared/Constants.js +27 -0
- package/esm/shared/Constants.js.map +1 -0
- package/esm/shared/State.js +481 -226
- package/esm/shared/State.js.map +1 -1
- package/esm/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/package.json +5 -2
- package/types/api/AgentApi.d.ts +1 -1
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/AuthenticateApi.d.ts +1 -1
- package/types/api/AuthenticateApi.d.ts.map +1 -1
- package/types/api/BaseApi.d.ts +1 -1
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/CirclesOfTrustApi.d.ts +1 -1
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
- package/types/api/IdmConfigApi.d.ts +1 -1
- package/types/api/IdmConfigApi.d.ts.map +1 -1
- package/types/api/IdmSystemApi.d.ts +1 -1
- package/types/api/IdmSystemApi.d.ts.map +1 -1
- package/types/api/ManagedObjectApi.d.ts +1 -1
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/api/NodeApi.d.ts +1 -1
- package/types/api/NodeApi.d.ts.map +1 -1
- package/types/api/OAuth2ClientApi.d.ts +1 -1
- package/types/api/OAuth2ClientApi.d.ts.map +1 -1
- package/types/api/OAuth2OIDCApi.d.ts +1 -1
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
- package/types/api/OAuth2ProviderApi.d.ts +1 -1
- package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
- package/types/api/PoliciesApi.d.ts +1 -1
- package/types/api/PoliciesApi.d.ts.map +1 -1
- package/types/api/PolicySetApi.d.ts +1 -1
- package/types/api/PolicySetApi.d.ts.map +1 -1
- package/types/api/RealmApi.d.ts +1 -1
- package/types/api/RealmApi.d.ts.map +1 -1
- package/types/api/ResourceTypesApi.d.ts +1 -1
- package/types/api/ResourceTypesApi.d.ts.map +1 -1
- package/types/api/Saml2Api.d.ts +1 -1
- package/types/api/Saml2Api.d.ts.map +1 -1
- package/types/api/ScriptApi.d.ts +1 -1
- package/types/api/ScriptApi.d.ts.map +1 -1
- package/types/api/ServerInfoApi.d.ts +1 -1
- package/types/api/ServerInfoApi.d.ts.map +1 -1
- package/types/api/ServiceApi.d.ts +1 -1
- package/types/api/ServiceApi.d.ts.map +1 -1
- package/types/api/SocialIdentityProvidersApi.d.ts +1 -1
- package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
- package/types/api/TreeApi.d.ts +1 -1
- package/types/api/TreeApi.d.ts.map +1 -1
- package/types/api/cloud/AdminFederationProvidersApi.d.ts +1 -1
- package/types/api/cloud/AdminFederationProvidersApi.d.ts.map +1 -1
- package/types/api/cloud/EnvInfoApi.d.ts +1 -1
- package/types/api/cloud/EnvInfoApi.d.ts.map +1 -1
- package/types/api/cloud/FeatureApi.d.ts +1 -1
- package/types/api/cloud/FeatureApi.d.ts.map +1 -1
- package/types/api/cloud/LogApi.d.ts +1 -1
- package/types/api/cloud/LogApi.d.ts.map +1 -1
- package/types/api/cloud/SecretsApi.d.ts +1 -1
- package/types/api/cloud/SecretsApi.d.ts.map +1 -1
- package/types/api/cloud/StartupApi.d.ts +1 -1
- package/types/api/cloud/StartupApi.d.ts.map +1 -1
- package/types/api/cloud/VariablesApi.d.ts +1 -1
- package/types/api/cloud/VariablesApi.d.ts.map +1 -1
- package/types/api/utils/ApiUtils.d.ts +1 -1
- package/types/api/utils/ApiUtils.d.ts.map +1 -1
- package/types/api/utils/Base64.d.ts +6 -6
- package/types/api/utils/Base64.d.ts.map +1 -1
- package/types/index.d.ts +37 -0
- package/types/index.d.ts.map +1 -1
- package/types/lib/Frodo.d.ts +13 -1135
- package/types/lib/Frodo.d.ts.map +1 -1
- package/types/lib/FrodoLib.d.ts +79 -368
- package/types/lib/FrodoLib.d.ts.map +1 -1
- package/types/ops/AdminOps.d.ts +3 -2
- package/types/ops/AdminOps.d.ts.map +1 -1
- package/types/ops/AgentOps.d.ts +3 -2
- package/types/ops/AgentOps.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts +3 -2
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/CirclesOfTrustOps.d.ts +3 -2
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts +3 -2
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts +3 -2
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdmOps.d.ts +3 -2
- package/types/ops/IdmOps.d.ts.map +1 -1
- package/types/ops/IdpOps.d.ts +3 -2
- package/types/ops/IdpOps.d.ts.map +1 -1
- package/types/ops/InfoOps.d.ts +3 -2
- package/types/ops/InfoOps.d.ts.map +1 -1
- package/types/ops/JoseOps.d.ts +17 -1
- package/types/ops/JoseOps.d.ts.map +1 -1
- package/types/ops/JourneyOps.d.ts +16 -10
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/ManagedObjectOps.d.ts +3 -2
- package/types/ops/ManagedObjectOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts +3 -2
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts +3 -2
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OAuth2OidcOps.d.ts +6 -5
- package/types/ops/OAuth2OidcOps.d.ts.map +1 -1
- package/types/ops/OAuth2ProviderOps.d.ts +3 -2
- package/types/ops/OAuth2ProviderOps.d.ts.map +1 -1
- package/types/ops/OpsTypes.d.ts +1 -1
- package/types/ops/OpsTypes.d.ts.map +1 -1
- package/types/ops/OrganizationOps.d.ts +3 -2
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/PolicyOps.d.ts +3 -2
- package/types/ops/PolicyOps.d.ts.map +1 -1
- package/types/ops/PolicySetOps.d.ts +3 -2
- package/types/ops/PolicySetOps.d.ts.map +1 -1
- package/types/ops/RealmOps.d.ts +3 -2
- package/types/ops/RealmOps.d.ts.map +1 -1
- package/types/ops/ResourceTypeOps.d.ts +3 -2
- package/types/ops/ResourceTypeOps.d.ts.map +1 -1
- package/types/ops/Saml2Ops.d.ts +3 -2
- package/types/ops/Saml2Ops.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts +3 -2
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceOps.d.ts +4 -3
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts +3 -2
- package/types/ops/ThemeOps.d.ts.map +1 -1
- package/types/ops/cloud/AdminFederationOps.d.ts +3 -2
- package/types/ops/cloud/AdminFederationOps.d.ts.map +1 -1
- package/types/ops/cloud/FeatureOps.d.ts +3 -2
- package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
- package/types/ops/cloud/LogOps.d.ts +3 -2
- package/types/ops/cloud/LogOps.d.ts.map +1 -1
- package/types/ops/cloud/SecretsOps.d.ts +3 -2
- package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
- package/types/ops/cloud/ServiceAccountOps.d.ts +7 -6
- package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
- package/types/ops/cloud/StartupOps.d.ts +3 -2
- package/types/ops/cloud/StartupOps.d.ts.map +1 -1
- package/types/ops/cloud/VariablesOps.d.ts +3 -2
- package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
- package/types/ops/utils/Console.d.ts +1 -1
- package/types/ops/utils/Console.d.ts.map +1 -1
- package/types/ops/utils/DataProtection.d.ts +1 -1
- package/types/ops/utils/DataProtection.d.ts.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts +3 -2
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/OpsUtils.d.ts +73 -17
- package/types/ops/utils/OpsUtils.d.ts.map +1 -1
- package/types/ops/utils/ScriptValidationUtils.d.ts +20 -1
- package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -1
- package/types/ops/utils/{Version.d.ts → VersionUtils.d.ts} +4 -4
- package/types/ops/utils/VersionUtils.d.ts.map +1 -0
- package/types/shared/Constants.d.ts +34 -0
- package/types/shared/Constants.d.ts.map +1 -0
- package/types/shared/State.d.ts +38 -38
- package/types/shared/State.d.ts.map +1 -1
- package/types/utils/SetupPollyForFrodoLib.d.ts +1 -1
- package/types/utils/SetupPollyForFrodoLib.d.ts.map +1 -1
- package/cjs/ops/utils/Version.js.map +0 -1
- package/cjs/ops/utils/Version.test.js.map +0 -1
- package/cjs/ops/utils/Wordwrap.js +0 -12
- package/cjs/ops/utils/Wordwrap.js.map +0 -1
- package/cjs/ops/utils/Wordwrap.test.js +0 -22
- package/cjs/ops/utils/Wordwrap.test.js.map +0 -1
- package/cjs/storage/StaticStorage.js +0 -31
- package/cjs/storage/StaticStorage.js.map +0 -1
- package/esm/ops/utils/Version.js.map +0 -1
- package/esm/ops/utils/Version.test.js.map +0 -1
- package/esm/ops/utils/Wordwrap.js +0 -5
- package/esm/ops/utils/Wordwrap.js.map +0 -1
- package/esm/ops/utils/Wordwrap.test.js +0 -19
- package/esm/ops/utils/Wordwrap.test.js.map +0 -1
- package/esm/storage/StaticStorage.js +0 -15
- package/esm/storage/StaticStorage.js.map +0 -1
- package/types/ops/utils/Version.d.ts.map +0 -1
- package/types/ops/utils/Wordwrap.d.ts +0 -2
- package/types/ops/utils/Wordwrap.d.ts.map +0 -1
- package/types/storage/StaticStorage.d.ts +0 -15
- package/types/storage/StaticStorage.d.ts.map +0 -1
package/cjs/lib/FrodoLib.js
CHANGED
|
@@ -17,6 +17,7 @@ var _FeatureOps = _interopRequireDefault(require("../ops/cloud/FeatureOps.js"));
|
|
|
17
17
|
var _IdmOps = _interopRequireDefault(require("../ops/IdmOps.js"));
|
|
18
18
|
var _IdpOps = _interopRequireDefault(require("../ops/IdpOps.js"));
|
|
19
19
|
var _InfoOps = _interopRequireDefault(require("../ops/InfoOps.js"));
|
|
20
|
+
var _JoseOps = _interopRequireDefault(require("../ops/JoseOps.js"));
|
|
20
21
|
var _JourneyOps = _interopRequireDefault(require("../ops/JourneyOps.js"));
|
|
21
22
|
var _LogOps = _interopRequireDefault(require("../ops/cloud/LogOps.js"));
|
|
22
23
|
var _ManagedObjectOps = _interopRequireDefault(require("../ops/ManagedObjectOps.js"));
|
|
@@ -24,6 +25,7 @@ var _NodeOps = _interopRequireDefault(require("../ops/NodeOps.js"));
|
|
|
24
25
|
var _OAuth2ClientOps = _interopRequireDefault(require("../ops/OAuth2ClientOps.js"));
|
|
25
26
|
var _OAuth2OidcOps = _interopRequireDefault(require("../ops/OAuth2OidcOps.js"));
|
|
26
27
|
var _OAuth2ProviderOps = _interopRequireDefault(require("../ops/OAuth2ProviderOps.js"));
|
|
28
|
+
var _OpsUtils = _interopRequireDefault(require("../ops/utils/OpsUtils.js"));
|
|
27
29
|
var _OrganizationOps = _interopRequireDefault(require("../ops/OrganizationOps.js"));
|
|
28
30
|
var _PolicyOps = _interopRequireDefault(require("../ops/PolicyOps.js"));
|
|
29
31
|
var _PolicySetOps = _interopRequireDefault(require("../ops/PolicySetOps.js"));
|
|
@@ -31,26 +33,25 @@ var _RealmOps = _interopRequireDefault(require("../ops/RealmOps.js"));
|
|
|
31
33
|
var _ResourceTypeOps = _interopRequireDefault(require("../ops/ResourceTypeOps.js"));
|
|
32
34
|
var _Saml2Ops = _interopRequireDefault(require("../ops/Saml2Ops.js"));
|
|
33
35
|
var _ScriptOps = _interopRequireDefault(require("../ops/ScriptOps.js"));
|
|
36
|
+
var _ScriptValidationUtils = _interopRequireDefault(require("../ops/utils/ScriptValidationUtils.js"));
|
|
34
37
|
var _ServiceOps = _interopRequireDefault(require("../ops/ServiceOps.js"));
|
|
35
38
|
var _SecretsOps = _interopRequireDefault(require("../ops/cloud/SecretsOps.js"));
|
|
36
39
|
var _ServiceAccountOps = _interopRequireDefault(require("../ops/cloud/ServiceAccountOps.js"));
|
|
37
40
|
var _StartupOps = _interopRequireDefault(require("../ops/cloud/StartupOps.js"));
|
|
38
41
|
var _ThemeOps = _interopRequireDefault(require("../ops/ThemeOps.js"));
|
|
39
42
|
var _VariablesOps = _interopRequireDefault(require("../ops/cloud/VariablesOps.js"));
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var utils = _interopRequireWildcard(require("../ops/utils/OpsUtils.js"));
|
|
43
|
-
var base64 = _interopRequireWildcard(require("../api/utils/Base64.js"));
|
|
44
|
-
var script = _interopRequireWildcard(require("../ops/utils/ScriptValidationUtils.js"));
|
|
45
|
-
var constants = _interopRequireWildcard(require("../storage/StaticStorage.js"));
|
|
46
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
47
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
|
+
var _VersionUtils = _interopRequireDefault(require("../ops/utils/VersionUtils.js"));
|
|
44
|
+
var _Constants = _interopRequireDefault(require("../shared/Constants.js"));
|
|
48
45
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
49
|
-
|
|
46
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
47
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
48
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
49
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
50
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // instantiable modules
|
|
50
51
|
// non-instantiable modules
|
|
51
52
|
var _default = function _default() {
|
|
52
53
|
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
53
|
-
var state =
|
|
54
|
+
var state = (0, _State.default)(config);
|
|
54
55
|
return {
|
|
55
56
|
state: state,
|
|
56
57
|
admin: (0, _AdminOps.default)(state),
|
|
@@ -77,13 +78,6 @@ var _default = function _default() {
|
|
|
77
78
|
email: {
|
|
78
79
|
template: (0, _EmailTemplateOps.default)(state)
|
|
79
80
|
},
|
|
80
|
-
helper: {
|
|
81
|
-
base64,
|
|
82
|
-
constants,
|
|
83
|
-
jose,
|
|
84
|
-
script,
|
|
85
|
-
utils
|
|
86
|
-
},
|
|
87
81
|
idm: {
|
|
88
82
|
config: (0, _IdmOps.default)(state),
|
|
89
83
|
managed: (0, _ManagedObjectOps.default)(state),
|
|
@@ -105,10 +99,13 @@ var _default = function _default() {
|
|
|
105
99
|
script: (0, _ScriptOps.default)(state),
|
|
106
100
|
service: (0, _ServiceOps.default)(state),
|
|
107
101
|
theme: (0, _ThemeOps.default)(state),
|
|
108
|
-
utils: {
|
|
102
|
+
utils: _objectSpread(_objectSpread({}, (0, _OpsUtils.default)(state)), {}, {
|
|
103
|
+
constants: _Constants.default,
|
|
109
104
|
impex: (0, _ExportImportUtils.default)(state),
|
|
110
|
-
|
|
111
|
-
|
|
105
|
+
jose: (0, _JoseOps.default)(state),
|
|
106
|
+
script: (0, _ScriptValidationUtils.default)(state),
|
|
107
|
+
version: (0, _VersionUtils.default)(state)
|
|
108
|
+
})
|
|
112
109
|
};
|
|
113
110
|
};
|
|
114
111
|
exports.default = _default;
|
package/cjs/lib/FrodoLib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrodoLib.js","names":["_default","config","arguments","length","undefined","state","
|
|
1
|
+
{"version":3,"file":"FrodoLib.js","names":["_default","config","arguments","length","undefined","state","StateImpl","admin","AdminOps","agent","AgentOps","authn","journey","JourneyOps","node","NodeOps","authz","policy","PolicyOps","policySet","PolicySetOps","resourceType","ResourceTypeOps","cloud","adminFed","AdminFederationOps","feature","FeatureOps","log","LogOps","secret","SecretsOps","serviceAccount","ServiceAccountOps","startup","StartupOps","variable","VariablesOps","conn","ConnectionProfileOps","email","template","EmailTemplateOps","idm","IdmOps","managed","ManagedObjectOps","organization","OrganizationOps","info","InfoOps","login","AuthenticateOps","oauth2oidc","client","OAuth2ClientOps","endpoint","OAuth2OidcOps","external","IdpOps","provider","OAuth2ProviderOps","realm","RealmOps","saml2","circlesOfTrust","CirclesOfTrustOps","entityProvider","Saml2Ops","script","ScriptOps","service","ServiceOps","theme","ThemeOps","utils","_objectSpread","OpsUtils","constants","ConstantsImpl","impex","ExportImportUtils","jose","JoseOps","ScriptValidationUtils","version","VersionUtils","exports","default"],"sources":["../../src/lib/FrodoLib.ts"],"sourcesContent":["// instantiable modules\nimport StateImpl, { State, StateInterface } from '../shared/State';\nimport AdminFederationOps, {\n AdminFederation,\n} from '../ops/cloud/AdminFederationOps';\nimport AdminOps, { Admin } from '../ops/AdminOps';\nimport AgentOps, { Agent } from '../ops/AgentOps';\nimport AuthenticateOps, { Authenticate } from '../ops/AuthenticateOps';\nimport CirclesOfTrustOps, { CirclesOfTrust } from '../ops/CirclesOfTrustOps';\nimport ConnectionProfileOps, {\n ConnectionProfile,\n} from '../ops/ConnectionProfileOps';\nimport EmailTemplateOps, { EmailTemplate } from '../ops/EmailTemplateOps';\nimport ExportImportUtils, {\n ExportImport,\n} from '../ops/utils/ExportImportUtils';\nimport FeatureOps, { Feature } from '../ops/cloud/FeatureOps';\nimport IdmOps, { Idm } from '../ops/IdmOps';\nimport IdpOps, { Idp } from '../ops/IdpOps';\nimport InfoOps, { Info } from '../ops/InfoOps';\nimport JoseOps, { Jose } from '../ops/JoseOps';\nimport JourneyOps, { Journey } from '../ops/JourneyOps';\nimport LogOps, { Log } from '../ops/cloud/LogOps';\nimport ManagedObjectOps, { ManagedObject } from '../ops/ManagedObjectOps';\nimport NodeOps, { Node } from '../ops/NodeOps';\nimport OAuth2ClientOps, { OAuth2Client } from '../ops/OAuth2ClientOps';\nimport OAuth2OidcOps, { OAuth2Oidc } from '../ops/OAuth2OidcOps';\nimport OAuth2ProviderOps, { OAuth2Provider } from '../ops/OAuth2ProviderOps';\nimport OpsUtils, { Utils } from '../ops/utils/OpsUtils';\nimport OrganizationOps, { Organization } from '../ops/OrganizationOps';\nimport PolicyOps, { Policy } from '../ops/PolicyOps';\nimport PolicySetOps, { PolicySet } from '../ops/PolicySetOps';\nimport RealmOps, { Realm } from '../ops/RealmOps';\nimport ResourceTypeOps, { ResourceType } from '../ops/ResourceTypeOps';\nimport Saml2Ops, { Saml2 } from '../ops/Saml2Ops';\nimport ScriptOps, { Script } from '../ops/ScriptOps';\nimport ScriptValidationUtils, {\n ScriptValidation,\n} from '../ops/utils/ScriptValidationUtils';\nimport ServiceOps, { Service } from '../ops/ServiceOps';\nimport SecretsOps, { Secret } from '../ops/cloud/SecretsOps';\nimport ServiceAccountOps, {\n ServiceAccount,\n} from '../ops/cloud/ServiceAccountOps';\nimport StartupOps, { Startup } from '../ops/cloud/StartupOps';\nimport ThemeOps, { Theme } from '../ops/ThemeOps';\nimport VariablesOps, { Variable } from '../ops/cloud/VariablesOps';\nimport VersionUtils, { Version } from '../ops/utils/VersionUtils';\n\n// non-instantiable modules\nimport ConstantsImpl, { Constants } from '../shared/Constants';\n\nexport type Frodo = {\n state: State;\n admin: Admin;\n agent: Agent;\n\n authn: {\n journey: Journey;\n node: Node;\n };\n\n authz: {\n policy: Policy;\n policySet: PolicySet;\n resourceType: ResourceType;\n };\n\n cloud: {\n adminFed: AdminFederation;\n feature: Feature;\n log: Log;\n secret: Secret;\n serviceAccount: ServiceAccount;\n startup: Startup;\n variable: Variable;\n };\n\n conn: ConnectionProfile;\n\n email: {\n template: EmailTemplate;\n };\n\n idm: {\n config: Idm;\n managed: ManagedObject;\n organization: Organization;\n };\n\n info: Info;\n login: Authenticate;\n\n oauth2oidc: {\n client: OAuth2Client;\n endpoint: OAuth2Oidc;\n external: Idp;\n provider: OAuth2Provider;\n };\n\n realm: Realm;\n\n saml2: {\n circlesOfTrust: CirclesOfTrust;\n entityProvider: Saml2;\n };\n\n script: Script;\n service: Service;\n\n theme: Theme;\n\n utils: Utils & {\n constants: Constants;\n impex: ExportImport;\n jose: Jose;\n script: ScriptValidation;\n version: Version;\n };\n};\n\nexport default (config: StateInterface = {}): Frodo => {\n const state = StateImpl(config);\n return {\n state: state,\n admin: AdminOps(state),\n agent: AgentOps(state),\n\n authn: {\n journey: JourneyOps(state),\n node: NodeOps(state),\n },\n\n authz: {\n policy: PolicyOps(state),\n policySet: PolicySetOps(state),\n resourceType: ResourceTypeOps(state),\n },\n\n cloud: {\n adminFed: AdminFederationOps(state),\n feature: FeatureOps(state),\n log: LogOps(state),\n secret: SecretsOps(state),\n serviceAccount: ServiceAccountOps(state),\n startup: StartupOps(state),\n variable: VariablesOps(state),\n },\n\n conn: ConnectionProfileOps(state),\n\n email: {\n template: EmailTemplateOps(state),\n },\n\n idm: {\n config: IdmOps(state),\n managed: ManagedObjectOps(state),\n organization: OrganizationOps(state),\n },\n\n info: InfoOps(state),\n login: AuthenticateOps(state),\n\n oauth2oidc: {\n client: OAuth2ClientOps(state),\n endpoint: OAuth2OidcOps(state),\n external: IdpOps(state),\n provider: OAuth2ProviderOps(state),\n },\n\n realm: RealmOps(state),\n\n saml2: {\n circlesOfTrust: CirclesOfTrustOps(state),\n entityProvider: Saml2Ops(state),\n },\n\n script: ScriptOps(state),\n service: ServiceOps(state),\n\n theme: ThemeOps(state),\n\n utils: {\n ...OpsUtils(state),\n constants: ConstantsImpl,\n impex: ExportImportUtils(state),\n jose: JoseOps(state),\n script: ScriptValidationUtils(state),\n version: VersionUtils(state),\n },\n };\n};\n"],"mappings":"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"}
|
package/cjs/ops/AdminOps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminOps.js","names":["_fs","_interopRequireDefault","require","_lodash","_OAuth2ClientOps","_IdmConfigApi","_OpsUtils","_OrganizationOps","_OAuth2ProviderOps","_SecretsApi","_OAuth2OIDCApi","_Console","_path","_url","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_default","state","listOAuth2CustomClients","listOAuth2AdminClients","listNonOAuth2AdminStaticUserMappings","showProtected","addAutoIdStaticUserMapping","grantOAuth2ClientAdminPrivileges","clientId","revokeOAuth2ClientAdminPrivileges","createOAuth2ClientWithAdminPrivileges","clientSecret","createLongLivedToken","scope","secret","lifetime","removeStaticUserMapping","subject","hideGenericExtensionAttributes","includeCustomized","dryRun","showGenericExtensionAttributes","repairOrgModel","excludeCustomized","extendPermissions","exports","__dirname","path","dirname","fileURLToPath","pathToFileURL","__filename","toString","OAUTH2_CLIENT","JSON","parse","fs","readFileSync","GENERIC_EXTENSION_ATTRIBUTES","protectedClients","protectedSubjects","privilegedScopes","privilegedRoles","adminScopes","adminDefaultScopes","adminRoles","autoIdRoles","_x","_listOAuth2CustomClients","_ref","clients","getOAuth2Clients","clientIds","map","client","_id","filter","includes","authentication","getConfigEntity","entityId","subjects","rsFilter","staticUserMapping","mapping","adminClients","_x2","_listOAuth2AdminClients","_ref2","isPrivileged","coreOAuth2ClientConfig","scopes","forEach","roles","role","_x3","_listNonOAuth2AdminStaticUserMappings","_ref3","adminSubjects","getDynamicClientRegistrationScope","_x4","_getDynamicClientRegistrationScope","_ref4","provider","getOAuth2Provider","clientDynamicRegistrationConfig","dynamicClientRegistrationScope","addAdminScopes","_x5","_addAdminScopes","_ref5","modClient","allAdminScopes","concat","addScopes","add","addDefaultScope","defaultScopes","length","printMessage","message","addClientCredentialsGrantType","_ref6","modified","advancedOAuth2ClientConfig","grantTypes","push","inherited","addAdminStaticUserMapping","_x6","_addAdminStaticUserMapping","_ref7","name","type","needsAdminMapping","addRoles","mappings","newMapping","localUser","userRoles","putConfigEntity","entityData","putConfigEntityError","_x7","_addAutoIdStaticUserMapping","_ref8","_x8","_grantOAuth2ClientAdminPrivileges","_ref9","getOAuth2Client","clientName","descriptions","startsWith","Date","toLocaleString","putOAuth2Client","clientData","removeAdminScopes","_x9","_removeAdminScopes","_ref10","finalScopes","finalDefaultScopes","removeClientCredentialsGrantType","_ref11","finalGrantTypes","grantType","removeAdminStaticUserMapping","_x10","_removeAdminStaticUserMapping","_ref12","finalRoles","removeMapping","_x11","_revokeOAuth2ClientAdminPrivileges","_ref13","_x12","_createOAuth2ClientWithAdminPrivileges","_ref14","userpassword","_x13","_createLongLivedToken","_ref15","rememberedLifetime","accessTokenLifetime","response","clientCredentialsGrant","amBaseUrl","getHost","expires","getTime","expires_in","expires_on","description","putSecret","secretId","access_token","_","get","newSecret","_x14","_removeStaticUserMapping","_ref16","_x15","_hideGenericExtensionAttributes","_ref17","managed","propertyNames","Object","keys","updatedObjects","objects","object","getRealmManagedUser","isEqualJson","schema","properties","viewable","_x16","_showGenericExtensionAttributes","_ref18","repairOrgModelUser","_x17","_repairOrgModelUser","_ref19","RDVPs","repairData","queryConfig","flattenProperties","repairOrgModelOrg","_x18","_repairOrgModelOrg","_ref20","getRealmManagedOrganization","repairOrgModelData","_repairOrgModelData","extendOrgModelPermissins","_extendOrgModelPermissins","_x19","_repairOrgModel","_ref21"],"sources":["../../src/ops/AdminOps.ts"],"sourcesContent":["import fs from 'fs';\nimport _ from 'lodash';\nimport {\n getOAuth2Clients,\n getOAuth2Client,\n putOAuth2Client,\n} from '../ops/OAuth2ClientOps';\nimport { getConfigEntity, putConfigEntity } from '../api/IdmConfigApi';\nimport { isEqualJson, getRealmManagedUser } from './utils/OpsUtils';\nimport { getRealmManagedOrganization } from './OrganizationOps';\nimport { getOAuth2Provider } from '../ops/OAuth2ProviderOps';\nimport { putSecret } from '../api/cloud/SecretsApi';\nimport { clientCredentialsGrant } from '../api/OAuth2OIDCApi';\nimport { printMessage } from './utils/Console';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport State from '../shared/State';\nimport {\n OAuth2ClientSkeleton,\n ReadableStrings,\n WritableStrings,\n} from '../api/ApiTypes';\n\nexport default (state: State) => {\n return {\n /*\n * List all oauth2 clients, which have a corresponding staticUserMapping\n * in the IDM authentication.json:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"someOauth2ClientID\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n },\n {\n \"subject\": \"RCSClient\",\n \"localUser\": \"internal/user/idm-provisioning\"\n }\n ]\n }\n }\n */\n async listOAuth2CustomClients() {\n return listOAuth2CustomClients({ state });\n },\n\n /*\n * List all oauth2 clients, which have the fr:idm:* scope and a \n * corresponding staticUserMapping in the IDM authentication.json\n * and are assigned admin privileges:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"someOauth2ClientID\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\n async listOAuth2AdminClients() {\n return listOAuth2AdminClients({ state });\n },\n\n /*\n * List all static user mappings that are not oauth2 clients in authentication.json\n * and are assigned admin privileges:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"amadmin\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n },\n {\n \"subject\": \"idm-provisioning\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\"\n ]\n },\n {\n \"subject\": \"RCSClient\",\n \"localUser\": \"internal/user/idm-provisioning\"\n },\n {\n \"subject\": \"autoid-resource-server\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\",\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\n async listNonOAuth2AdminStaticUserMappings(showProtected: boolean) {\n return listNonOAuth2AdminStaticUserMappings({\n showProtected,\n state,\n });\n },\n\n /*\n * Add AutoId static user mapping to authentication.json to enable dashboards and other AutoId-based functionality.\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n ...\n {\n \"subject\": \"autoid-resource-server\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\",\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\n async addAutoIdStaticUserMapping() {\n return addAutoIdStaticUserMapping({ state });\n },\n\n async grantOAuth2ClientAdminPrivileges(clientId: string) {\n return grantOAuth2ClientAdminPrivileges({ clientId, state });\n },\n\n async revokeOAuth2ClientAdminPrivileges(clientId: string) {\n return revokeOAuth2ClientAdminPrivileges({ clientId, state });\n },\n\n async createOAuth2ClientWithAdminPrivileges(\n clientId: string,\n clientSecret: string\n ) {\n return createOAuth2ClientWithAdminPrivileges({\n clientId,\n clientSecret,\n state,\n });\n },\n\n async createLongLivedToken(\n clientId: string,\n clientSecret: string,\n scope: string,\n secret: string | boolean,\n lifetime: number\n ) {\n return createLongLivedToken({\n clientId,\n clientSecret,\n scope,\n secret,\n lifetime,\n state,\n });\n },\n\n async removeStaticUserMapping(subject: string) {\n return removeStaticUserMapping({ subject, state });\n },\n\n async hideGenericExtensionAttributes(\n includeCustomized: boolean,\n dryRun: boolean\n ) {\n return hideGenericExtensionAttributes({\n includeCustomized,\n dryRun,\n state,\n });\n },\n\n async showGenericExtensionAttributes(\n includeCustomized: boolean,\n dryRun: boolean\n ) {\n return showGenericExtensionAttributes({\n includeCustomized,\n dryRun,\n state,\n });\n },\n\n async repairOrgModel(\n excludeCustomized: boolean,\n extendPermissions: boolean,\n dryRun: boolean\n ) {\n return repairOrgModel({\n excludeCustomized,\n extendPermissions,\n dryRun,\n state,\n });\n },\n };\n};\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst OAUTH2_CLIENT = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, './templates/OAuth2ClientTemplate.json'),\n 'utf8'\n )\n);\nconst GENERIC_EXTENSION_ATTRIBUTES = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n './templates/cloud/GenericExtensionAttributesTemplate.json'\n ),\n 'utf8'\n )\n);\n\nconst protectedClients = ['ui', 'idm-provisioning'];\nconst protectedSubjects = ['amadmin', 'autoid-resource-server'];\n\nconst privilegedScopes = [\n 'am-introspect-all-tokens',\n 'fr:idm:*',\n 'fr:idc:esv:*',\n];\n// const privilegedUsers = ['openidm-admin'];\nconst privilegedRoles = [\n 'internal/role/openidm-authorized',\n 'internal/role/openidm-admin',\n];\n\nconst adminScopes = ['fr:idm:*', 'fr:idc:esv:*'];\nconst adminDefaultScopes = ['fr:idm:*'];\nconst adminRoles = [\n 'internal/role/openidm-authorized',\n 'internal/role/openidm-admin',\n];\nconst autoIdRoles = [\n 'internal/role/platform-provisioning',\n 'internal/role/openidm-authorized',\n 'internal/role/openidm-admin',\n];\n\n/*\n * List all oauth2 clients, which have a corresponding staticUserMapping\n * in the IDM authentication.json:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"someOauth2ClientID\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n },\n {\n \"subject\": \"RCSClient\",\n \"localUser\": \"internal/user/idm-provisioning\"\n }\n ]\n }\n }\n */\nexport async function listOAuth2CustomClients({ state }: { state: State }) {\n const clients = await getOAuth2Clients({ state });\n const clientIds = clients\n .map((client) => client._id)\n .filter((client) => !protectedClients.includes(client));\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n const subjects = authentication.rsFilter.staticUserMapping\n .map((mapping) => mapping.subject)\n .filter((subject) => !protectedSubjects.includes(subject));\n const adminClients = subjects.filter((subject) =>\n clientIds.includes(subject)\n );\n return adminClients;\n}\n\n/*\n * List all oauth2 clients, which have the fr:idm:* scope and a \n * corresponding staticUserMapping in the IDM authentication.json\n * and are assigned admin privileges:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"someOauth2ClientID\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\nexport async function listOAuth2AdminClients({ state }: { state: State }) {\n const clients = await getOAuth2Clients({ state });\n const clientIds = clients\n .filter((client) => {\n // printMessage({ message: client, type: 'error', state });\n let isPrivileged = false;\n if (client.coreOAuth2ClientConfig.scopes) {\n (client.coreOAuth2ClientConfig.scopes as ReadableStrings).forEach(\n (scope) => {\n if (privilegedScopes.includes(scope)) {\n isPrivileged = true;\n }\n }\n );\n }\n return isPrivileged;\n })\n .map((client) => client._id)\n .filter((clientId) => !protectedClients.includes(clientId));\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n const subjects = authentication.rsFilter.staticUserMapping\n .filter((mapping) => {\n let isPrivileged = false;\n if (mapping.roles) {\n mapping.roles.forEach((role) => {\n if (privilegedRoles.includes(role)) {\n isPrivileged = true;\n }\n });\n }\n return isPrivileged;\n })\n .map((mapping) => mapping.subject)\n .filter((subject) => !protectedSubjects.includes(subject));\n const adminClients = subjects.filter((subject) =>\n clientIds.includes(subject)\n );\n return adminClients;\n}\n\n/*\n * List all static user mappings that are not oauth2 clients in authentication.json\n * and are assigned admin privileges:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"amadmin\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n },\n {\n \"subject\": \"idm-provisioning\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\"\n ]\n },\n {\n \"subject\": \"RCSClient\",\n \"localUser\": \"internal/user/idm-provisioning\"\n },\n {\n \"subject\": \"autoid-resource-server\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\",\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\nexport async function listNonOAuth2AdminStaticUserMappings({\n showProtected,\n state,\n}: {\n showProtected: boolean;\n state: State;\n}) {\n const clients = await getOAuth2Clients({ state });\n const clientIds = clients\n .map((client) => client._id)\n .filter((client) => !protectedClients.includes(client));\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n let subjects = authentication.rsFilter.staticUserMapping\n .filter((mapping) => {\n let isPrivileged = false;\n if (mapping.roles) {\n mapping.roles.forEach((role) => {\n if (privilegedRoles.includes(role)) {\n isPrivileged = true;\n }\n });\n }\n return isPrivileged;\n })\n .map((mapping) => mapping.subject);\n if (!showProtected) {\n subjects = subjects.filter(\n (subject) => !protectedSubjects.includes(subject)\n );\n }\n const adminSubjects = subjects.filter(\n (subject) => !clientIds.includes(subject)\n );\n return adminSubjects;\n}\n\nasync function getDynamicClientRegistrationScope({ state }: { state: State }) {\n const provider = await getOAuth2Provider({ state });\n return provider.clientDynamicRegistrationConfig\n .dynamicClientRegistrationScope;\n}\n\nasync function addAdminScopes({\n clientId,\n client,\n state,\n}: {\n clientId: string;\n client: OAuth2ClientSkeleton;\n state: State;\n}) {\n const modClient = client;\n const allAdminScopes = adminScopes.concat([\n await getDynamicClientRegistrationScope({ state }),\n ]);\n let addScopes = [];\n if (\n modClient.coreOAuth2ClientConfig.scopes &&\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value\n ) {\n addScopes = allAdminScopes.filter((scope) => {\n let add = false;\n if (\n !(\n modClient.coreOAuth2ClientConfig.scopes as WritableStrings\n ).value.includes(scope)\n ) {\n add = true;\n }\n return add;\n });\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value = (\n modClient.coreOAuth2ClientConfig.scopes as WritableStrings\n ).value.concat(addScopes);\n } else {\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value =\n allAdminScopes;\n }\n let addDefaultScope = false;\n if (\n modClient.coreOAuth2ClientConfig.defaultScopes &&\n modClient.coreOAuth2ClientConfig.defaultScopes.value\n ) {\n if (modClient.coreOAuth2ClientConfig.defaultScopes.value.length === 0) {\n addDefaultScope = true;\n modClient.coreOAuth2ClientConfig.defaultScopes.value = adminDefaultScopes;\n } else {\n printMessage({\n message: `Client \"${clientId}\" already has default scopes configured, not adding admin default scope.`,\n state,\n });\n }\n }\n if (addScopes.length > 0 || addDefaultScope) {\n printMessage({\n message: `Adding admin scopes to client \"${clientId}\"...`,\n state,\n });\n } else {\n printMessage({\n message: `Client \"${clientId}\" already has admin scopes.`,\n state,\n });\n }\n return modClient;\n}\n\nfunction addClientCredentialsGrantType({\n clientId,\n client,\n state,\n}: {\n clientId: string;\n client: OAuth2ClientSkeleton;\n state: State;\n}) {\n const modClient = client;\n let modified = false;\n if (\n modClient.advancedOAuth2ClientConfig.grantTypes &&\n (modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings).value\n ) {\n if (\n !(\n modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings\n ).value.includes('client_credentials')\n ) {\n modified = true;\n (\n modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings\n ).value.push('client_credentials');\n }\n } else {\n (modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings).value =\n ['client_credentials'];\n }\n (\n modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings\n ).inherited = false;\n if (modified) {\n printMessage({\n message: `Adding client credentials grant type to client \"${clientId}\"...`,\n state,\n });\n } else {\n printMessage({\n message: `Client \"${clientId}\" already has client credentials grant type.`,\n state,\n });\n }\n return modClient;\n}\n\nasync function addAdminStaticUserMapping({\n name,\n state,\n}: {\n name: string;\n state: State;\n}) {\n let authentication = {};\n try {\n authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n } catch (error) {\n printMessage({\n message: `Error reading IDM authentication configuration: ${error.message}`,\n type: 'error',\n state,\n });\n }\n let needsAdminMapping = true;\n let addRoles = [];\n const mappings = authentication['rsFilter']['staticUserMapping'].map(\n (mapping) => {\n // ignore mappings for other subjects\n if (mapping.subject !== name) {\n return mapping;\n }\n needsAdminMapping = false;\n addRoles = adminRoles.filter((role) => {\n let add = false;\n if (!mapping.roles.includes(role)) {\n add = true;\n }\n return add;\n });\n const newMapping = mapping;\n newMapping.roles = newMapping.roles.concat(addRoles);\n return newMapping;\n }\n );\n if (needsAdminMapping) {\n printMessage({\n message: `Creating static user mapping for client \"${name}\"...`,\n state,\n });\n mappings.push({\n subject: name,\n localUser: 'internal/user/openidm-admin',\n userRoles: 'authzRoles/*',\n roles: adminRoles,\n });\n }\n authentication['rsFilter']['staticUserMapping'] = mappings;\n if (addRoles.length > 0 || needsAdminMapping) {\n printMessage({\n message: `Adding admin roles to static user mapping for client \"${name}\"...`,\n state,\n });\n try {\n await putConfigEntity({\n entityId: 'authentication',\n entityData: authentication,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n } else {\n printMessage({\n message: `Static user mapping for client \"${name}\" already has admin roles.`,\n state,\n });\n }\n}\n\n/*\n * Add AutoId static user mapping to authentication.json to enable dashboards and other AutoId-based functionality.\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n ...\n {\n \"subject\": \"autoid-resource-server\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\",\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\nexport async function addAutoIdStaticUserMapping({ state }: { state: State }) {\n const name = 'autoid-resource-server';\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n let needsAdminMapping = true;\n let addRoles = [];\n const mappings = authentication.rsFilter.staticUserMapping.map((mapping) => {\n // ignore mappings for other subjects\n if (mapping.subject !== name) {\n return mapping;\n }\n needsAdminMapping = false;\n addRoles = autoIdRoles.filter((role) => {\n let add = false;\n if (!mapping.roles.includes(role)) {\n add = true;\n }\n return add;\n });\n const newMapping = mapping;\n newMapping.roles = newMapping.roles.concat(addRoles);\n return newMapping;\n });\n if (needsAdminMapping) {\n printMessage({\n message: `Creating static user mapping for AutoId client \"${name}\"...`,\n state,\n });\n mappings.push({\n subject: name,\n localUser: 'internal/user/idm-provisioning',\n userRoles: 'authzRoles/*',\n roles: autoIdRoles,\n });\n }\n authentication.rsFilter.staticUserMapping = mappings;\n if (addRoles.length > 0 || needsAdminMapping) {\n printMessage({\n message: `Adding required roles to static user mapping for AutoId client \"${name}\"...`,\n state,\n });\n try {\n await putConfigEntity({\n entityId: 'authentication',\n entityData: authentication,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n } else {\n printMessage({\n message: `Static user mapping for AutoId client \"${name}\" already has all required roles.`,\n state,\n });\n }\n}\n\nexport async function grantOAuth2ClientAdminPrivileges({\n clientId,\n state,\n}: {\n clientId: string;\n state: State;\n}) {\n let client = await getOAuth2Client({ clientId, state });\n if (client.coreOAuth2ClientConfig.clientName.value.length === 0) {\n client.coreOAuth2ClientConfig.clientName.value = [clientId];\n }\n if (\n client.advancedOAuth2ClientConfig.descriptions.value.length === 0 ||\n client.advancedOAuth2ClientConfig.descriptions.value[0].startsWith(\n 'Modified by Frodo'\n ) ||\n client.advancedOAuth2ClientConfig.descriptions.value[0].startsWith(\n 'Created by Frodo'\n )\n ) {\n client.advancedOAuth2ClientConfig.descriptions.value = [\n `Modified by Frodo on ${new Date().toLocaleString()}`,\n ];\n }\n client = await addAdminScopes({ clientId, client, state });\n client = addClientCredentialsGrantType({ clientId, client, state });\n await putOAuth2Client({ clientId, clientData: client, state });\n await addAdminStaticUserMapping({ name: clientId, state });\n}\n\nasync function removeAdminScopes({\n name,\n client,\n state,\n}: {\n name: string;\n client: OAuth2ClientSkeleton;\n state: State;\n}) {\n const modClient = client;\n const allAdminScopes = adminScopes.concat([\n await getDynamicClientRegistrationScope({ state }),\n ]);\n let finalScopes = [];\n if (\n modClient.coreOAuth2ClientConfig.scopes &&\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value\n ) {\n finalScopes = (\n modClient.coreOAuth2ClientConfig.scopes as WritableStrings\n ).value.filter((scope) => !allAdminScopes.includes(scope));\n }\n if (\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value.length >\n finalScopes.length\n ) {\n printMessage({\n message: `Removing admin scopes from client \"${name}\"...`,\n state,\n });\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value =\n finalScopes;\n } else {\n printMessage({ message: `Client \"${name}\" has no admin scopes.`, state });\n }\n let finalDefaultScopes = [];\n if (\n modClient.coreOAuth2ClientConfig.defaultScopes &&\n modClient.coreOAuth2ClientConfig.defaultScopes.value\n ) {\n finalDefaultScopes =\n modClient.coreOAuth2ClientConfig.defaultScopes.value.filter(\n (scope) => !adminDefaultScopes.includes(scope)\n );\n }\n if (\n modClient.coreOAuth2ClientConfig.defaultScopes.value.length >\n finalDefaultScopes.length\n ) {\n printMessage({\n message: `Removing admin default scopes from client \"${name}\"...`,\n state,\n });\n modClient.coreOAuth2ClientConfig.defaultScopes.value = finalDefaultScopes;\n } else {\n printMessage({\n message: `Client \"${name}\" has no admin default scopes.`,\n state,\n });\n }\n return modClient;\n}\n\nfunction removeClientCredentialsGrantType({\n clientId,\n client,\n state,\n}: {\n clientId: string;\n client: OAuth2ClientSkeleton;\n state: State;\n}) {\n const modClient = client;\n let modified = false;\n let finalGrantTypes = [];\n if (\n modClient.advancedOAuth2ClientConfig.grantTypes &&\n (modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings).value\n ) {\n finalGrantTypes = (\n modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings\n ).value.filter((grantType) => grantType !== 'client_credentials');\n modified =\n (modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings).value\n .length > finalGrantTypes.length;\n }\n if (modified) {\n printMessage({\n message: `Removing client credentials grant type from client \"${clientId}\"...`,\n state,\n });\n (modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings).value =\n finalGrantTypes;\n } else {\n printMessage({\n message: `Client \"${clientId}\" does not allow client credentials grant type.`,\n state,\n });\n }\n return modClient;\n}\n\nasync function removeAdminStaticUserMapping({\n name,\n state,\n}: {\n name: string;\n state: State;\n}) {\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n let finalRoles = [];\n let removeMapping = false;\n let modified = false;\n const mappings = authentication.rsFilter.staticUserMapping\n .map((mapping) => {\n // ignore mappings for other subjects\n if (mapping.subject !== name) {\n return mapping;\n }\n finalRoles = mapping.roles.filter((role) => !adminRoles.includes(role));\n const newMapping = mapping;\n removeMapping = finalRoles.length === 0; // if there are no more roles left on this mapping, flag it for removal\n modified = mapping.roles.length > finalRoles.length; // if there were roles removed, set modified flag\n newMapping.roles = finalRoles;\n return newMapping;\n })\n .filter((mapping) => mapping.subject !== name || !removeMapping);\n authentication.rsFilter.staticUserMapping = mappings;\n if (modified || removeMapping) {\n if (removeMapping) {\n printMessage({\n message: `Removing static user mapping for client \"${name}\"...`,\n state,\n });\n } else {\n printMessage({\n message: `Removing admin roles from static user mapping for client \"${name}\"...`,\n state,\n });\n }\n try {\n await putConfigEntity({\n entityId: 'authentication',\n entityData: authentication,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n } else {\n printMessage({\n message: `Static user mapping for client \"${name}\" has no admin roles.`,\n state,\n });\n }\n}\n\nexport async function revokeOAuth2ClientAdminPrivileges({\n clientId,\n state,\n}: {\n clientId: string;\n state: State;\n}) {\n let client = await getOAuth2Client({ clientId, state });\n if (client.coreOAuth2ClientConfig.clientName.value.length === 0) {\n client.coreOAuth2ClientConfig.clientName.value = [clientId];\n }\n if (\n client.advancedOAuth2ClientConfig.descriptions.value.length === 0 ||\n client.advancedOAuth2ClientConfig.descriptions.value[0].startsWith(\n 'Modified by Frodo'\n ) ||\n client.advancedOAuth2ClientConfig.descriptions.value[0].startsWith(\n 'Created by Frodo'\n )\n ) {\n client.advancedOAuth2ClientConfig.descriptions.value = [\n `Modified by Frodo on ${new Date().toLocaleString()}`,\n ];\n }\n client = await removeAdminScopes({ name: clientId, client, state });\n client = removeClientCredentialsGrantType({ clientId, client, state });\n await putOAuth2Client({ clientId, clientData: client, state });\n await removeAdminStaticUserMapping({ name: clientId, state });\n}\n\nexport async function createOAuth2ClientWithAdminPrivileges({\n clientId,\n clientSecret,\n state,\n}: {\n clientId: string;\n clientSecret: string;\n state: State;\n}) {\n let client = OAUTH2_CLIENT;\n client.coreOAuth2ClientConfig.userpassword = clientSecret;\n client.coreOAuth2ClientConfig.clientName.value = [clientId];\n client.advancedOAuth2ClientConfig.descriptions.value = [\n `Created by Frodo on ${new Date().toLocaleString()}`,\n ];\n try {\n client = await addAdminScopes({ clientId, client, state });\n await putOAuth2Client({ clientId, clientData: client, state });\n await addAdminStaticUserMapping({ name: clientId, state });\n } catch (error) {\n printMessage({\n message: `Error creating oauth2 client: ${error.message}`,\n state,\n type: 'error',\n });\n }\n}\n\nexport async function createLongLivedToken({\n clientId,\n clientSecret,\n scope,\n secret,\n lifetime,\n state,\n}: {\n clientId: string;\n clientSecret: string;\n scope: string;\n secret: string | boolean;\n lifetime: number;\n state: State;\n}) {\n // get oauth2 client\n const client = await getOAuth2Client({ clientId, state });\n client.userpassword = clientSecret;\n // remember current lifetime\n const rememberedLifetime =\n client.coreOAuth2ClientConfig.accessTokenLifetime.value || 3600;\n // set long token lifetime\n client.coreOAuth2ClientConfig.accessTokenLifetime.value = lifetime;\n await putOAuth2Client({ clientId, clientData: client, state });\n const response = await clientCredentialsGrant({\n amBaseUrl: state.getHost(),\n clientId,\n clientSecret,\n scope,\n state,\n });\n const expires = new Date().getTime() + 1000 * response.expires_in;\n response.expires_on = new Date(expires).toLocaleString();\n // reset token lifetime\n client.coreOAuth2ClientConfig.accessTokenLifetime.value = rememberedLifetime;\n await putOAuth2Client({ clientId, clientData: client, state });\n // create secret with token as value\n if (secret) {\n const description = 'Long-lived admin token';\n try {\n await putSecret({\n secretId: secret as string,\n value: response.access_token,\n description,\n state,\n });\n response.secret = secret;\n } catch (error) {\n if (\n _.get(error, 'response.data.code') === 400 &&\n _.get(error, 'response.data.message') ===\n 'Failed to create secret, the secret already exists'\n ) {\n const newSecret = `${secret}-${expires}`;\n printMessage({\n message: `esv '${secret}' already exists, using ${newSecret}`,\n type: 'warn',\n state,\n });\n await putSecret({\n secretId: newSecret,\n value: response.access_token,\n description,\n state,\n });\n response.secret = newSecret;\n }\n }\n delete response.access_token;\n }\n return response;\n}\n\nexport async function removeStaticUserMapping({\n subject,\n state,\n}: {\n subject: string;\n state: State;\n}) {\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n let removeMapping = false;\n const mappings = authentication.rsFilter.staticUserMapping.filter(\n (mapping) => {\n // find the subject and flag it\n if (mapping.subject === subject) {\n removeMapping = true;\n }\n // ignore mappings for other subjects\n return mapping.subject !== subject;\n }\n );\n authentication.rsFilter.staticUserMapping = mappings;\n if (removeMapping) {\n printMessage({\n message: `Removing static user mapping for subject \"${subject}\"...`,\n state,\n });\n try {\n await putConfigEntity({\n entityId: 'authentication',\n entityData: authentication,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n } else {\n printMessage({\n message: `No static user mapping for subject \"${subject}\" found.`,\n state,\n });\n }\n}\n\nexport async function hideGenericExtensionAttributes({\n includeCustomized,\n dryRun,\n state,\n}: {\n includeCustomized: boolean;\n dryRun: boolean;\n state: State;\n}) {\n const managed = await getConfigEntity({ entityId: 'managed', state });\n const propertyNames = Object.keys(GENERIC_EXTENSION_ATTRIBUTES);\n const updatedObjects = managed.objects.map((object) => {\n // ignore all other objects\n if (object.name !== getRealmManagedUser({ state })) {\n return object;\n }\n propertyNames.forEach((name) => {\n if (\n isEqualJson(\n GENERIC_EXTENSION_ATTRIBUTES[name],\n object.schema.properties[name],\n ['viewable', 'usageDescription']\n ) ||\n includeCustomized\n ) {\n if (object.schema.properties[name].viewable) {\n printMessage({ message: `${name}: hide`, state });\n // eslint-disable-next-line no-param-reassign\n object.schema.properties[name].viewable = false;\n } else {\n printMessage({ message: `${name}: ignore (already hidden)`, state });\n }\n } else {\n printMessage({ message: `${name}: skip (customized)`, state });\n }\n });\n return object;\n });\n managed.objects = updatedObjects;\n if (dryRun) {\n printMessage({ message: 'Dry-run only. Changes are not saved.', state });\n } else {\n try {\n await putConfigEntity({\n entityId: 'managed',\n entityData: managed,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n }\n}\n\nexport async function showGenericExtensionAttributes({\n includeCustomized,\n dryRun,\n state,\n}: {\n includeCustomized: boolean;\n dryRun: boolean;\n state: State;\n}) {\n const managed = await getConfigEntity({ entityId: 'managed', state });\n const propertyNames = Object.keys(GENERIC_EXTENSION_ATTRIBUTES);\n const updatedObjects = managed.objects.map((object) => {\n // ignore all other objects\n if (object.name !== getRealmManagedUser({ state })) {\n return object;\n }\n propertyNames.forEach((name) => {\n if (\n isEqualJson(\n GENERIC_EXTENSION_ATTRIBUTES[name],\n object.schema.properties[name],\n ['viewable', 'usageDescription']\n ) ||\n includeCustomized\n ) {\n if (!object.schema.properties[name].viewable) {\n printMessage({ message: `${name}: show`, state });\n // eslint-disable-next-line no-param-reassign\n object.schema.properties[name].viewable = true;\n } else {\n printMessage({ message: `${name}: ignore (already showing)`, state });\n }\n } else {\n printMessage({ message: `${name}: skip (customized)`, state });\n }\n });\n return object;\n });\n managed.objects = updatedObjects;\n if (dryRun) {\n printMessage({ message: 'Dry-run only. Changes are not saved.', state });\n } else {\n try {\n await putConfigEntity({\n entityId: 'managed',\n entityData: managed,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n }\n}\n\nasync function repairOrgModelUser({\n dryRun,\n state,\n}: {\n dryRun: boolean;\n state: State;\n}) {\n const managed = await getConfigEntity({ entityId: 'managed', state });\n const RDVPs = ['memberOfOrgIDs'];\n let repairData = false;\n const updatedObjects = managed.objects.map((object) => {\n // ignore all other objects\n if (object.name !== getRealmManagedUser({ state })) {\n return object;\n }\n printMessage({ message: `${object.name}: checking...`, state });\n RDVPs.forEach((name) => {\n if (!object.schema.properties[name].queryConfig.flattenProperties) {\n printMessage({\n message: `- ${name}: repairing - needs flattening`,\n type: 'warn',\n state,\n });\n // eslint-disable-next-line no-param-reassign\n object.schema.properties[name].queryConfig.flattenProperties = true;\n repairData = true;\n } else {\n printMessage({ message: `- ${name}: OK`, state });\n }\n });\n return object;\n });\n managed.objects = updatedObjects;\n if (!dryRun) {\n try {\n await putConfigEntity({\n entityId: 'managed',\n entityData: managed,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n }\n return repairData;\n}\n\nasync function repairOrgModelOrg({\n dryRun,\n state,\n}: {\n dryRun: boolean;\n state: State;\n}) {\n const managed = await getConfigEntity({ entityId: 'managed', state });\n const RDVPs = [\n 'adminIDs',\n 'ownerIDs',\n 'parentAdminIDs',\n 'parentOwnerIDs',\n 'parentIDs',\n ];\n let repairData = false;\n const updatedObjects = managed.objects.map((object) => {\n // ignore all other objects\n if (object.name !== getRealmManagedOrganization({ state })) {\n return object;\n }\n printMessage({ message: `${object.name}: checking...`, state });\n RDVPs.forEach((name) => {\n if (!object.schema.properties[name].queryConfig.flattenProperties) {\n printMessage({\n message: `- ${name}: repairing - needs flattening`,\n type: 'warn',\n state,\n });\n // eslint-disable-next-line no-param-reassign\n object.schema.properties[name].queryConfig.flattenProperties = true;\n repairData = true;\n } else {\n printMessage({ message: `- ${name}: OK`, state });\n }\n });\n return object;\n });\n managed.objects = updatedObjects;\n if (!dryRun) {\n try {\n await putConfigEntity({\n entityId: 'managed',\n entityData: managed,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n }\n return repairData;\n}\n\nasync function repairOrgModelData(dryRun = false) {\n if (!dryRun) {\n // const rootOrgs = await findRootOrganizations();\n }\n}\n\nasync function extendOrgModelPermissins(dryRun = false) {\n if (!dryRun) {\n // const rootOrgs = await findRootOrganizations();\n }\n}\n\nexport async function repairOrgModel({\n excludeCustomized,\n extendPermissions,\n dryRun,\n state,\n}: {\n excludeCustomized: boolean;\n extendPermissions: boolean;\n dryRun: boolean;\n state: State;\n}) {\n let repairData = false;\n repairData = repairData || (await repairOrgModelUser({ dryRun, state }));\n repairData = repairData || (await repairOrgModelOrg({ dryRun, state }));\n if (excludeCustomized) {\n //\n }\n if (repairData) {\n await repairOrgModelData(dryRun);\n }\n if (extendPermissions) {\n await extendOrgModelPermissins(dryRun);\n }\n if (dryRun) {\n printMessage({\n message: 'Dry-run only. Changes are not saved.',\n type: 'warn',\n state,\n });\n }\n}\n\n// suggested by John K.\n// export async function removeRealmNameFromManagedObjectLabels() {}\n// export async function addRealmNameToManagedObjectLabels() {}\n// export async function cleanUpPostmanArtifacts() {}\n// export async function createSampleThemes() {}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAuB,IAAAE,gBAAA,GAAAF,OAAA;AAAA,IAAAG,aAAA,GAAAH,OAAA;AAAA,IAAAI,SAAA,GAAAJ,OAAA;AAAA,IAAAK,gBAAA,GAAAL,OAAA;AAAA,IAAAM,kBAAA,GAAAN,OAAA;AAAA,IAAAO,WAAA,GAAAP,OAAA;AAAA,IAAAQ,cAAA,GAAAR,OAAA;AAAA,IAAAS,QAAA,GAAAT,OAAA;AAavB,IAAAU,KAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,IAAA,GAAAX,OAAA;AAAoC,SAAAD,uBAAAa,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA;AAAA,IAAAC,QAAA,GAQpBC,KAAY,IAAK;EAC/B,OAAO;IACL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUC,uBAAuBA,CAAA,EAAG;MAAA,OAAAV,iBAAA;QAC9B,OAAOU,uBAAuB,CAAC;UAAED;QAAM,CAAC,CAAC;MAAC;IAC5C,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUE,sBAAsBA,CAAA,EAAG;MAAA,OAAAX,iBAAA;QAC7B,OAAOW,sBAAsB,CAAC;UAAEF;QAAM,CAAC,CAAC;MAAC;IAC3C,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUG,oCAAoCA,CAACC,aAAsB,EAAE;MAAA,OAAAb,iBAAA;QACjE,OAAOY,oCAAoC,CAAC;UAC1CC,aAAa;UACbJ;QACF,CAAC,CAAC;MAAC;IACL,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUK,0BAA0BA,CAAA,EAAG;MAAA,OAAAd,iBAAA;QACjC,OAAOc,0BAA0B,CAAC;UAAEL;QAAM,CAAC,CAAC;MAAC;IAC/C,CAAC;IAEKM,gCAAgCA,CAACC,QAAgB,EAAE;MAAA,OAAAhB,iBAAA;QACvD,OAAOe,gCAAgC,CAAC;UAAEC,QAAQ;UAAEP;QAAM,CAAC,CAAC;MAAC;IAC/D,CAAC;IAEKQ,iCAAiCA,CAACD,QAAgB,EAAE;MAAA,OAAAhB,iBAAA;QACxD,OAAOiB,iCAAiC,CAAC;UAAED,QAAQ;UAAEP;QAAM,CAAC,CAAC;MAAC;IAChE,CAAC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"}
|
|
1
|
+
{"version":3,"file":"AdminOps.js","names":["_fs","_interopRequireDefault","require","_lodash","_OAuth2ClientOps","_IdmConfigApi","_OpsUtils","_OrganizationOps","_OAuth2ProviderOps","_SecretsApi","_OAuth2OIDCApi","_Console","_path","_url","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_default","state","listOAuth2CustomClients","listOAuth2AdminClients","listNonOAuth2AdminStaticUserMappings","showProtected","addAutoIdStaticUserMapping","grantOAuth2ClientAdminPrivileges","clientId","revokeOAuth2ClientAdminPrivileges","createOAuth2ClientWithAdminPrivileges","clientSecret","createLongLivedToken","scope","secret","lifetime","removeStaticUserMapping","subject","hideGenericExtensionAttributes","includeCustomized","dryRun","showGenericExtensionAttributes","repairOrgModel","excludeCustomized","extendPermissions","exports","__dirname","path","dirname","fileURLToPath","pathToFileURL","__filename","toString","OAUTH2_CLIENT","JSON","parse","fs","readFileSync","GENERIC_EXTENSION_ATTRIBUTES","protectedClients","protectedSubjects","privilegedScopes","privilegedRoles","adminScopes","adminDefaultScopes","adminRoles","autoIdRoles","_x","_listOAuth2CustomClients","_ref","clients","getOAuth2Clients","clientIds","map","client","_id","filter","includes","authentication","getConfigEntity","entityId","subjects","rsFilter","staticUserMapping","mapping","adminClients","_x2","_listOAuth2AdminClients","_ref2","isPrivileged","coreOAuth2ClientConfig","scopes","forEach","roles","role","_x3","_listNonOAuth2AdminStaticUserMappings","_ref3","adminSubjects","getDynamicClientRegistrationScope","_x4","_getDynamicClientRegistrationScope","_ref4","provider","getOAuth2Provider","clientDynamicRegistrationConfig","dynamicClientRegistrationScope","addAdminScopes","_x5","_addAdminScopes","_ref5","modClient","allAdminScopes","concat","addScopes","add","addDefaultScope","defaultScopes","length","printMessage","message","addClientCredentialsGrantType","_ref6","modified","advancedOAuth2ClientConfig","grantTypes","push","inherited","addAdminStaticUserMapping","_x6","_addAdminStaticUserMapping","_ref7","name","type","needsAdminMapping","addRoles","mappings","newMapping","localUser","userRoles","putConfigEntity","entityData","putConfigEntityError","_x7","_addAutoIdStaticUserMapping","_ref8","_x8","_grantOAuth2ClientAdminPrivileges","_ref9","getOAuth2Client","clientName","descriptions","startsWith","Date","toLocaleString","putOAuth2Client","clientData","removeAdminScopes","_x9","_removeAdminScopes","_ref10","finalScopes","finalDefaultScopes","removeClientCredentialsGrantType","_ref11","finalGrantTypes","grantType","removeAdminStaticUserMapping","_x10","_removeAdminStaticUserMapping","_ref12","finalRoles","removeMapping","_x11","_revokeOAuth2ClientAdminPrivileges","_ref13","_x12","_createOAuth2ClientWithAdminPrivileges","_ref14","userpassword","_x13","_createLongLivedToken","_ref15","rememberedLifetime","accessTokenLifetime","response","clientCredentialsGrant","amBaseUrl","getHost","expires","getTime","expires_in","expires_on","description","putSecret","secretId","access_token","_","get","newSecret","_x14","_removeStaticUserMapping","_ref16","_x15","_hideGenericExtensionAttributes","_ref17","managed","propertyNames","Object","keys","updatedObjects","objects","object","getRealmManagedUser","isEqualJson","schema","properties","viewable","_x16","_showGenericExtensionAttributes","_ref18","repairOrgModelUser","_x17","_repairOrgModelUser","_ref19","RDVPs","repairData","queryConfig","flattenProperties","repairOrgModelOrg","_x18","_repairOrgModelOrg","_ref20","getRealmManagedOrganization","repairOrgModelData","_repairOrgModelData","extendOrgModelPermissins","_extendOrgModelPermissins","_x19","_repairOrgModel","_ref21"],"sources":["../../src/ops/AdminOps.ts"],"sourcesContent":["import fs from 'fs';\nimport _ from 'lodash';\nimport {\n getOAuth2Clients,\n getOAuth2Client,\n putOAuth2Client,\n} from '../ops/OAuth2ClientOps';\nimport { getConfigEntity, putConfigEntity } from '../api/IdmConfigApi';\nimport { isEqualJson, getRealmManagedUser } from './utils/OpsUtils';\nimport { getRealmManagedOrganization } from './OrganizationOps';\nimport { getOAuth2Provider } from '../ops/OAuth2ProviderOps';\nimport { putSecret } from '../api/cloud/SecretsApi';\nimport { clientCredentialsGrant } from '../api/OAuth2OIDCApi';\nimport { printMessage } from './utils/Console';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { State } from '../shared/State';\nimport {\n OAuth2ClientSkeleton,\n ReadableStrings,\n WritableStrings,\n} from '../api/ApiTypes';\n\nexport type Admin = {\n listOAuth2CustomClients(): Promise<any>;\n listOAuth2AdminClients(): Promise<any>;\n listNonOAuth2AdminStaticUserMappings(showProtected: boolean): Promise<any>;\n addAutoIdStaticUserMapping(): Promise<void>;\n grantOAuth2ClientAdminPrivileges(clientId: string): Promise<void>;\n revokeOAuth2ClientAdminPrivileges(clientId: string): Promise<void>;\n createOAuth2ClientWithAdminPrivileges(\n clientId: string,\n clientSecret: string\n ): Promise<void>;\n createLongLivedToken(\n clientId: string,\n clientSecret: string,\n scope: string,\n secret: string | boolean,\n lifetime: number\n ): Promise<any>;\n removeStaticUserMapping(subject: string): Promise<void>;\n hideGenericExtensionAttributes(\n includeCustomized: boolean,\n dryRun: boolean\n ): Promise<void>;\n showGenericExtensionAttributes(\n includeCustomized: boolean,\n dryRun: boolean\n ): Promise<void>;\n repairOrgModel(\n excludeCustomized: boolean,\n extendPermissions: boolean,\n dryRun: boolean\n ): Promise<void>;\n};\n\nexport default (state: State): Admin => {\n return {\n /*\n * List all oauth2 clients, which have a corresponding staticUserMapping\n * in the IDM authentication.json:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"someOauth2ClientID\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n },\n {\n \"subject\": \"RCSClient\",\n \"localUser\": \"internal/user/idm-provisioning\"\n }\n ]\n }\n }\n */\n async listOAuth2CustomClients() {\n return listOAuth2CustomClients({ state });\n },\n\n /*\n * List all oauth2 clients, which have the fr:idm:* scope and a \n * corresponding staticUserMapping in the IDM authentication.json\n * and are assigned admin privileges:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"someOauth2ClientID\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\n async listOAuth2AdminClients() {\n return listOAuth2AdminClients({ state });\n },\n\n /*\n * List all static user mappings that are not oauth2 clients in authentication.json\n * and are assigned admin privileges:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"amadmin\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n },\n {\n \"subject\": \"idm-provisioning\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\"\n ]\n },\n {\n \"subject\": \"RCSClient\",\n \"localUser\": \"internal/user/idm-provisioning\"\n },\n {\n \"subject\": \"autoid-resource-server\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\",\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\n async listNonOAuth2AdminStaticUserMappings(showProtected: boolean) {\n return listNonOAuth2AdminStaticUserMappings({\n showProtected,\n state,\n });\n },\n\n /*\n * Add AutoId static user mapping to authentication.json to enable dashboards and other AutoId-based functionality.\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n ...\n {\n \"subject\": \"autoid-resource-server\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\",\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\n async addAutoIdStaticUserMapping() {\n return addAutoIdStaticUserMapping({ state });\n },\n\n async grantOAuth2ClientAdminPrivileges(clientId: string) {\n return grantOAuth2ClientAdminPrivileges({ clientId, state });\n },\n\n async revokeOAuth2ClientAdminPrivileges(clientId: string) {\n return revokeOAuth2ClientAdminPrivileges({ clientId, state });\n },\n\n async createOAuth2ClientWithAdminPrivileges(\n clientId: string,\n clientSecret: string\n ) {\n return createOAuth2ClientWithAdminPrivileges({\n clientId,\n clientSecret,\n state,\n });\n },\n\n async createLongLivedToken(\n clientId: string,\n clientSecret: string,\n scope: string,\n secret: string | boolean,\n lifetime: number\n ) {\n return createLongLivedToken({\n clientId,\n clientSecret,\n scope,\n secret,\n lifetime,\n state,\n });\n },\n\n async removeStaticUserMapping(subject: string) {\n return removeStaticUserMapping({ subject, state });\n },\n\n async hideGenericExtensionAttributes(\n includeCustomized: boolean,\n dryRun: boolean\n ) {\n return hideGenericExtensionAttributes({\n includeCustomized,\n dryRun,\n state,\n });\n },\n\n async showGenericExtensionAttributes(\n includeCustomized: boolean,\n dryRun: boolean\n ) {\n return showGenericExtensionAttributes({\n includeCustomized,\n dryRun,\n state,\n });\n },\n\n async repairOrgModel(\n excludeCustomized: boolean,\n extendPermissions: boolean,\n dryRun: boolean\n ) {\n return repairOrgModel({\n excludeCustomized,\n extendPermissions,\n dryRun,\n state,\n });\n },\n };\n};\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst OAUTH2_CLIENT = JSON.parse(\n fs.readFileSync(\n path.resolve(__dirname, './templates/OAuth2ClientTemplate.json'),\n 'utf8'\n )\n);\nconst GENERIC_EXTENSION_ATTRIBUTES = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n './templates/cloud/GenericExtensionAttributesTemplate.json'\n ),\n 'utf8'\n )\n);\n\nconst protectedClients = ['ui', 'idm-provisioning'];\nconst protectedSubjects = ['amadmin', 'autoid-resource-server'];\n\nconst privilegedScopes = [\n 'am-introspect-all-tokens',\n 'fr:idm:*',\n 'fr:idc:esv:*',\n];\n// const privilegedUsers = ['openidm-admin'];\nconst privilegedRoles = [\n 'internal/role/openidm-authorized',\n 'internal/role/openidm-admin',\n];\n\nconst adminScopes = ['fr:idm:*', 'fr:idc:esv:*'];\nconst adminDefaultScopes = ['fr:idm:*'];\nconst adminRoles = [\n 'internal/role/openidm-authorized',\n 'internal/role/openidm-admin',\n];\nconst autoIdRoles = [\n 'internal/role/platform-provisioning',\n 'internal/role/openidm-authorized',\n 'internal/role/openidm-admin',\n];\n\n/*\n * List all oauth2 clients, which have a corresponding staticUserMapping\n * in the IDM authentication.json:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"someOauth2ClientID\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n },\n {\n \"subject\": \"RCSClient\",\n \"localUser\": \"internal/user/idm-provisioning\"\n }\n ]\n }\n }\n */\nexport async function listOAuth2CustomClients({ state }: { state: State }) {\n const clients = await getOAuth2Clients({ state });\n const clientIds = clients\n .map((client) => client._id)\n .filter((client) => !protectedClients.includes(client));\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n const subjects = authentication.rsFilter.staticUserMapping\n .map((mapping) => mapping.subject)\n .filter((subject) => !protectedSubjects.includes(subject));\n const adminClients = subjects.filter((subject) =>\n clientIds.includes(subject)\n );\n return adminClients;\n}\n\n/*\n * List all oauth2 clients, which have the fr:idm:* scope and a \n * corresponding staticUserMapping in the IDM authentication.json\n * and are assigned admin privileges:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"someOauth2ClientID\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\nexport async function listOAuth2AdminClients({ state }: { state: State }) {\n const clients = await getOAuth2Clients({ state });\n const clientIds = clients\n .filter((client) => {\n // printMessage({ message: client, type: 'error', state });\n let isPrivileged = false;\n if (client.coreOAuth2ClientConfig.scopes) {\n (client.coreOAuth2ClientConfig.scopes as ReadableStrings).forEach(\n (scope) => {\n if (privilegedScopes.includes(scope)) {\n isPrivileged = true;\n }\n }\n );\n }\n return isPrivileged;\n })\n .map((client) => client._id)\n .filter((clientId) => !protectedClients.includes(clientId));\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n const subjects = authentication.rsFilter.staticUserMapping\n .filter((mapping) => {\n let isPrivileged = false;\n if (mapping.roles) {\n mapping.roles.forEach((role) => {\n if (privilegedRoles.includes(role)) {\n isPrivileged = true;\n }\n });\n }\n return isPrivileged;\n })\n .map((mapping) => mapping.subject)\n .filter((subject) => !protectedSubjects.includes(subject));\n const adminClients = subjects.filter((subject) =>\n clientIds.includes(subject)\n );\n return adminClients;\n}\n\n/*\n * List all static user mappings that are not oauth2 clients in authentication.json\n * and are assigned admin privileges:\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n {\n \"subject\": \"amadmin\",\n \"localUser\": \"internal/user/openidm-admin\",\n \"userRoles\": \"authzRoles/*\",\n \"roles\": [\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n },\n {\n \"subject\": \"idm-provisioning\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\"\n ]\n },\n {\n \"subject\": \"RCSClient\",\n \"localUser\": \"internal/user/idm-provisioning\"\n },\n {\n \"subject\": \"autoid-resource-server\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\",\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\nexport async function listNonOAuth2AdminStaticUserMappings({\n showProtected,\n state,\n}: {\n showProtected: boolean;\n state: State;\n}) {\n const clients = await getOAuth2Clients({ state });\n const clientIds = clients\n .map((client) => client._id)\n .filter((client) => !protectedClients.includes(client));\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n let subjects = authentication.rsFilter.staticUserMapping\n .filter((mapping) => {\n let isPrivileged = false;\n if (mapping.roles) {\n mapping.roles.forEach((role) => {\n if (privilegedRoles.includes(role)) {\n isPrivileged = true;\n }\n });\n }\n return isPrivileged;\n })\n .map((mapping) => mapping.subject);\n if (!showProtected) {\n subjects = subjects.filter(\n (subject) => !protectedSubjects.includes(subject)\n );\n }\n const adminSubjects = subjects.filter(\n (subject) => !clientIds.includes(subject)\n );\n return adminSubjects;\n}\n\nasync function getDynamicClientRegistrationScope({ state }: { state: State }) {\n const provider = await getOAuth2Provider({ state });\n return provider.clientDynamicRegistrationConfig\n .dynamicClientRegistrationScope;\n}\n\nasync function addAdminScopes({\n clientId,\n client,\n state,\n}: {\n clientId: string;\n client: OAuth2ClientSkeleton;\n state: State;\n}) {\n const modClient = client;\n const allAdminScopes = adminScopes.concat([\n await getDynamicClientRegistrationScope({ state }),\n ]);\n let addScopes = [];\n if (\n modClient.coreOAuth2ClientConfig.scopes &&\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value\n ) {\n addScopes = allAdminScopes.filter((scope) => {\n let add = false;\n if (\n !(\n modClient.coreOAuth2ClientConfig.scopes as WritableStrings\n ).value.includes(scope)\n ) {\n add = true;\n }\n return add;\n });\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value = (\n modClient.coreOAuth2ClientConfig.scopes as WritableStrings\n ).value.concat(addScopes);\n } else {\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value =\n allAdminScopes;\n }\n let addDefaultScope = false;\n if (\n modClient.coreOAuth2ClientConfig.defaultScopes &&\n modClient.coreOAuth2ClientConfig.defaultScopes.value\n ) {\n if (modClient.coreOAuth2ClientConfig.defaultScopes.value.length === 0) {\n addDefaultScope = true;\n modClient.coreOAuth2ClientConfig.defaultScopes.value = adminDefaultScopes;\n } else {\n printMessage({\n message: `Client \"${clientId}\" already has default scopes configured, not adding admin default scope.`,\n state,\n });\n }\n }\n if (addScopes.length > 0 || addDefaultScope) {\n printMessage({\n message: `Adding admin scopes to client \"${clientId}\"...`,\n state,\n });\n } else {\n printMessage({\n message: `Client \"${clientId}\" already has admin scopes.`,\n state,\n });\n }\n return modClient;\n}\n\nfunction addClientCredentialsGrantType({\n clientId,\n client,\n state,\n}: {\n clientId: string;\n client: OAuth2ClientSkeleton;\n state: State;\n}) {\n const modClient = client;\n let modified = false;\n if (\n modClient.advancedOAuth2ClientConfig.grantTypes &&\n (modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings).value\n ) {\n if (\n !(\n modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings\n ).value.includes('client_credentials')\n ) {\n modified = true;\n (\n modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings\n ).value.push('client_credentials');\n }\n } else {\n (modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings).value =\n ['client_credentials'];\n }\n (\n modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings\n ).inherited = false;\n if (modified) {\n printMessage({\n message: `Adding client credentials grant type to client \"${clientId}\"...`,\n state,\n });\n } else {\n printMessage({\n message: `Client \"${clientId}\" already has client credentials grant type.`,\n state,\n });\n }\n return modClient;\n}\n\nasync function addAdminStaticUserMapping({\n name,\n state,\n}: {\n name: string;\n state: State;\n}) {\n let authentication = {};\n try {\n authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n } catch (error) {\n printMessage({\n message: `Error reading IDM authentication configuration: ${error.message}`,\n type: 'error',\n state,\n });\n }\n let needsAdminMapping = true;\n let addRoles = [];\n const mappings = authentication['rsFilter']['staticUserMapping'].map(\n (mapping) => {\n // ignore mappings for other subjects\n if (mapping.subject !== name) {\n return mapping;\n }\n needsAdminMapping = false;\n addRoles = adminRoles.filter((role) => {\n let add = false;\n if (!mapping.roles.includes(role)) {\n add = true;\n }\n return add;\n });\n const newMapping = mapping;\n newMapping.roles = newMapping.roles.concat(addRoles);\n return newMapping;\n }\n );\n if (needsAdminMapping) {\n printMessage({\n message: `Creating static user mapping for client \"${name}\"...`,\n state,\n });\n mappings.push({\n subject: name,\n localUser: 'internal/user/openidm-admin',\n userRoles: 'authzRoles/*',\n roles: adminRoles,\n });\n }\n authentication['rsFilter']['staticUserMapping'] = mappings;\n if (addRoles.length > 0 || needsAdminMapping) {\n printMessage({\n message: `Adding admin roles to static user mapping for client \"${name}\"...`,\n state,\n });\n try {\n await putConfigEntity({\n entityId: 'authentication',\n entityData: authentication,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n } else {\n printMessage({\n message: `Static user mapping for client \"${name}\" already has admin roles.`,\n state,\n });\n }\n}\n\n/*\n * Add AutoId static user mapping to authentication.json to enable dashboards and other AutoId-based functionality.\n {\n \"_id\": \"authentication\",\n \"rsFilter\": {\n ...\n \"staticUserMapping\": [\n ...\n {\n \"subject\": \"autoid-resource-server\",\n \"localUser\": \"internal/user/idm-provisioning\",\n \"roles\": [\n \"internal/role/platform-provisioning\",\n \"internal/role/openidm-authorized\",\n \"internal/role/openidm-admin\"\n ]\n }\n ]\n }\n }\n */\nexport async function addAutoIdStaticUserMapping({ state }: { state: State }) {\n const name = 'autoid-resource-server';\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n let needsAdminMapping = true;\n let addRoles = [];\n const mappings = authentication.rsFilter.staticUserMapping.map((mapping) => {\n // ignore mappings for other subjects\n if (mapping.subject !== name) {\n return mapping;\n }\n needsAdminMapping = false;\n addRoles = autoIdRoles.filter((role) => {\n let add = false;\n if (!mapping.roles.includes(role)) {\n add = true;\n }\n return add;\n });\n const newMapping = mapping;\n newMapping.roles = newMapping.roles.concat(addRoles);\n return newMapping;\n });\n if (needsAdminMapping) {\n printMessage({\n message: `Creating static user mapping for AutoId client \"${name}\"...`,\n state,\n });\n mappings.push({\n subject: name,\n localUser: 'internal/user/idm-provisioning',\n userRoles: 'authzRoles/*',\n roles: autoIdRoles,\n });\n }\n authentication.rsFilter.staticUserMapping = mappings;\n if (addRoles.length > 0 || needsAdminMapping) {\n printMessage({\n message: `Adding required roles to static user mapping for AutoId client \"${name}\"...`,\n state,\n });\n try {\n await putConfigEntity({\n entityId: 'authentication',\n entityData: authentication,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n } else {\n printMessage({\n message: `Static user mapping for AutoId client \"${name}\" already has all required roles.`,\n state,\n });\n }\n}\n\nexport async function grantOAuth2ClientAdminPrivileges({\n clientId,\n state,\n}: {\n clientId: string;\n state: State;\n}) {\n let client = await getOAuth2Client({ clientId, state });\n if (client.coreOAuth2ClientConfig.clientName.value.length === 0) {\n client.coreOAuth2ClientConfig.clientName.value = [clientId];\n }\n if (\n client.advancedOAuth2ClientConfig.descriptions.value.length === 0 ||\n client.advancedOAuth2ClientConfig.descriptions.value[0].startsWith(\n 'Modified by Frodo'\n ) ||\n client.advancedOAuth2ClientConfig.descriptions.value[0].startsWith(\n 'Created by Frodo'\n )\n ) {\n client.advancedOAuth2ClientConfig.descriptions.value = [\n `Modified by Frodo on ${new Date().toLocaleString()}`,\n ];\n }\n client = await addAdminScopes({ clientId, client, state });\n client = addClientCredentialsGrantType({ clientId, client, state });\n await putOAuth2Client({ clientId, clientData: client, state });\n await addAdminStaticUserMapping({ name: clientId, state });\n}\n\nasync function removeAdminScopes({\n name,\n client,\n state,\n}: {\n name: string;\n client: OAuth2ClientSkeleton;\n state: State;\n}) {\n const modClient = client;\n const allAdminScopes = adminScopes.concat([\n await getDynamicClientRegistrationScope({ state }),\n ]);\n let finalScopes = [];\n if (\n modClient.coreOAuth2ClientConfig.scopes &&\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value\n ) {\n finalScopes = (\n modClient.coreOAuth2ClientConfig.scopes as WritableStrings\n ).value.filter((scope) => !allAdminScopes.includes(scope));\n }\n if (\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value.length >\n finalScopes.length\n ) {\n printMessage({\n message: `Removing admin scopes from client \"${name}\"...`,\n state,\n });\n (modClient.coreOAuth2ClientConfig.scopes as WritableStrings).value =\n finalScopes;\n } else {\n printMessage({ message: `Client \"${name}\" has no admin scopes.`, state });\n }\n let finalDefaultScopes = [];\n if (\n modClient.coreOAuth2ClientConfig.defaultScopes &&\n modClient.coreOAuth2ClientConfig.defaultScopes.value\n ) {\n finalDefaultScopes =\n modClient.coreOAuth2ClientConfig.defaultScopes.value.filter(\n (scope) => !adminDefaultScopes.includes(scope)\n );\n }\n if (\n modClient.coreOAuth2ClientConfig.defaultScopes.value.length >\n finalDefaultScopes.length\n ) {\n printMessage({\n message: `Removing admin default scopes from client \"${name}\"...`,\n state,\n });\n modClient.coreOAuth2ClientConfig.defaultScopes.value = finalDefaultScopes;\n } else {\n printMessage({\n message: `Client \"${name}\" has no admin default scopes.`,\n state,\n });\n }\n return modClient;\n}\n\nfunction removeClientCredentialsGrantType({\n clientId,\n client,\n state,\n}: {\n clientId: string;\n client: OAuth2ClientSkeleton;\n state: State;\n}) {\n const modClient = client;\n let modified = false;\n let finalGrantTypes = [];\n if (\n modClient.advancedOAuth2ClientConfig.grantTypes &&\n (modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings).value\n ) {\n finalGrantTypes = (\n modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings\n ).value.filter((grantType) => grantType !== 'client_credentials');\n modified =\n (modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings).value\n .length > finalGrantTypes.length;\n }\n if (modified) {\n printMessage({\n message: `Removing client credentials grant type from client \"${clientId}\"...`,\n state,\n });\n (modClient.advancedOAuth2ClientConfig.grantTypes as WritableStrings).value =\n finalGrantTypes;\n } else {\n printMessage({\n message: `Client \"${clientId}\" does not allow client credentials grant type.`,\n state,\n });\n }\n return modClient;\n}\n\nasync function removeAdminStaticUserMapping({\n name,\n state,\n}: {\n name: string;\n state: State;\n}) {\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n let finalRoles = [];\n let removeMapping = false;\n let modified = false;\n const mappings = authentication.rsFilter.staticUserMapping\n .map((mapping) => {\n // ignore mappings for other subjects\n if (mapping.subject !== name) {\n return mapping;\n }\n finalRoles = mapping.roles.filter((role) => !adminRoles.includes(role));\n const newMapping = mapping;\n removeMapping = finalRoles.length === 0; // if there are no more roles left on this mapping, flag it for removal\n modified = mapping.roles.length > finalRoles.length; // if there were roles removed, set modified flag\n newMapping.roles = finalRoles;\n return newMapping;\n })\n .filter((mapping) => mapping.subject !== name || !removeMapping);\n authentication.rsFilter.staticUserMapping = mappings;\n if (modified || removeMapping) {\n if (removeMapping) {\n printMessage({\n message: `Removing static user mapping for client \"${name}\"...`,\n state,\n });\n } else {\n printMessage({\n message: `Removing admin roles from static user mapping for client \"${name}\"...`,\n state,\n });\n }\n try {\n await putConfigEntity({\n entityId: 'authentication',\n entityData: authentication,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n } else {\n printMessage({\n message: `Static user mapping for client \"${name}\" has no admin roles.`,\n state,\n });\n }\n}\n\nexport async function revokeOAuth2ClientAdminPrivileges({\n clientId,\n state,\n}: {\n clientId: string;\n state: State;\n}) {\n let client = await getOAuth2Client({ clientId, state });\n if (client.coreOAuth2ClientConfig.clientName.value.length === 0) {\n client.coreOAuth2ClientConfig.clientName.value = [clientId];\n }\n if (\n client.advancedOAuth2ClientConfig.descriptions.value.length === 0 ||\n client.advancedOAuth2ClientConfig.descriptions.value[0].startsWith(\n 'Modified by Frodo'\n ) ||\n client.advancedOAuth2ClientConfig.descriptions.value[0].startsWith(\n 'Created by Frodo'\n )\n ) {\n client.advancedOAuth2ClientConfig.descriptions.value = [\n `Modified by Frodo on ${new Date().toLocaleString()}`,\n ];\n }\n client = await removeAdminScopes({ name: clientId, client, state });\n client = removeClientCredentialsGrantType({ clientId, client, state });\n await putOAuth2Client({ clientId, clientData: client, state });\n await removeAdminStaticUserMapping({ name: clientId, state });\n}\n\nexport async function createOAuth2ClientWithAdminPrivileges({\n clientId,\n clientSecret,\n state,\n}: {\n clientId: string;\n clientSecret: string;\n state: State;\n}) {\n let client = OAUTH2_CLIENT;\n client.coreOAuth2ClientConfig.userpassword = clientSecret;\n client.coreOAuth2ClientConfig.clientName.value = [clientId];\n client.advancedOAuth2ClientConfig.descriptions.value = [\n `Created by Frodo on ${new Date().toLocaleString()}`,\n ];\n try {\n client = await addAdminScopes({ clientId, client, state });\n await putOAuth2Client({ clientId, clientData: client, state });\n await addAdminStaticUserMapping({ name: clientId, state });\n } catch (error) {\n printMessage({\n message: `Error creating oauth2 client: ${error.message}`,\n state,\n type: 'error',\n });\n }\n}\n\nexport async function createLongLivedToken({\n clientId,\n clientSecret,\n scope,\n secret,\n lifetime,\n state,\n}: {\n clientId: string;\n clientSecret: string;\n scope: string;\n secret: string | boolean;\n lifetime: number;\n state: State;\n}) {\n // get oauth2 client\n const client = await getOAuth2Client({ clientId, state });\n client.userpassword = clientSecret;\n // remember current lifetime\n const rememberedLifetime =\n client.coreOAuth2ClientConfig.accessTokenLifetime.value || 3600;\n // set long token lifetime\n client.coreOAuth2ClientConfig.accessTokenLifetime.value = lifetime;\n await putOAuth2Client({ clientId, clientData: client, state });\n const response = await clientCredentialsGrant({\n amBaseUrl: state.getHost(),\n clientId,\n clientSecret,\n scope,\n state,\n });\n const expires = new Date().getTime() + 1000 * response.expires_in;\n response.expires_on = new Date(expires).toLocaleString();\n // reset token lifetime\n client.coreOAuth2ClientConfig.accessTokenLifetime.value = rememberedLifetime;\n await putOAuth2Client({ clientId, clientData: client, state });\n // create secret with token as value\n if (secret) {\n const description = 'Long-lived admin token';\n try {\n await putSecret({\n secretId: secret as string,\n value: response.access_token,\n description,\n state,\n });\n response.secret = secret;\n } catch (error) {\n if (\n _.get(error, 'response.data.code') === 400 &&\n _.get(error, 'response.data.message') ===\n 'Failed to create secret, the secret already exists'\n ) {\n const newSecret = `${secret}-${expires}`;\n printMessage({\n message: `esv '${secret}' already exists, using ${newSecret}`,\n type: 'warn',\n state,\n });\n await putSecret({\n secretId: newSecret,\n value: response.access_token,\n description,\n state,\n });\n response.secret = newSecret;\n }\n }\n delete response.access_token;\n }\n return response;\n}\n\nexport async function removeStaticUserMapping({\n subject,\n state,\n}: {\n subject: string;\n state: State;\n}) {\n const authentication = await getConfigEntity({\n entityId: 'authentication',\n state,\n });\n let removeMapping = false;\n const mappings = authentication.rsFilter.staticUserMapping.filter(\n (mapping) => {\n // find the subject and flag it\n if (mapping.subject === subject) {\n removeMapping = true;\n }\n // ignore mappings for other subjects\n return mapping.subject !== subject;\n }\n );\n authentication.rsFilter.staticUserMapping = mappings;\n if (removeMapping) {\n printMessage({\n message: `Removing static user mapping for subject \"${subject}\"...`,\n state,\n });\n try {\n await putConfigEntity({\n entityId: 'authentication',\n entityData: authentication,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n } else {\n printMessage({\n message: `No static user mapping for subject \"${subject}\" found.`,\n state,\n });\n }\n}\n\nexport async function hideGenericExtensionAttributes({\n includeCustomized,\n dryRun,\n state,\n}: {\n includeCustomized: boolean;\n dryRun: boolean;\n state: State;\n}) {\n const managed = await getConfigEntity({ entityId: 'managed', state });\n const propertyNames = Object.keys(GENERIC_EXTENSION_ATTRIBUTES);\n const updatedObjects = managed.objects.map((object) => {\n // ignore all other objects\n if (object.name !== getRealmManagedUser({ state })) {\n return object;\n }\n propertyNames.forEach((name) => {\n if (\n isEqualJson(\n GENERIC_EXTENSION_ATTRIBUTES[name],\n object.schema.properties[name],\n ['viewable', 'usageDescription']\n ) ||\n includeCustomized\n ) {\n if (object.schema.properties[name].viewable) {\n printMessage({ message: `${name}: hide`, state });\n // eslint-disable-next-line no-param-reassign\n object.schema.properties[name].viewable = false;\n } else {\n printMessage({ message: `${name}: ignore (already hidden)`, state });\n }\n } else {\n printMessage({ message: `${name}: skip (customized)`, state });\n }\n });\n return object;\n });\n managed.objects = updatedObjects;\n if (dryRun) {\n printMessage({ message: 'Dry-run only. Changes are not saved.', state });\n } else {\n try {\n await putConfigEntity({\n entityId: 'managed',\n entityData: managed,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n }\n}\n\nexport async function showGenericExtensionAttributes({\n includeCustomized,\n dryRun,\n state,\n}: {\n includeCustomized: boolean;\n dryRun: boolean;\n state: State;\n}) {\n const managed = await getConfigEntity({ entityId: 'managed', state });\n const propertyNames = Object.keys(GENERIC_EXTENSION_ATTRIBUTES);\n const updatedObjects = managed.objects.map((object) => {\n // ignore all other objects\n if (object.name !== getRealmManagedUser({ state })) {\n return object;\n }\n propertyNames.forEach((name) => {\n if (\n isEqualJson(\n GENERIC_EXTENSION_ATTRIBUTES[name],\n object.schema.properties[name],\n ['viewable', 'usageDescription']\n ) ||\n includeCustomized\n ) {\n if (!object.schema.properties[name].viewable) {\n printMessage({ message: `${name}: show`, state });\n // eslint-disable-next-line no-param-reassign\n object.schema.properties[name].viewable = true;\n } else {\n printMessage({ message: `${name}: ignore (already showing)`, state });\n }\n } else {\n printMessage({ message: `${name}: skip (customized)`, state });\n }\n });\n return object;\n });\n managed.objects = updatedObjects;\n if (dryRun) {\n printMessage({ message: 'Dry-run only. Changes are not saved.', state });\n } else {\n try {\n await putConfigEntity({\n entityId: 'managed',\n entityData: managed,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n }\n}\n\nasync function repairOrgModelUser({\n dryRun,\n state,\n}: {\n dryRun: boolean;\n state: State;\n}) {\n const managed = await getConfigEntity({ entityId: 'managed', state });\n const RDVPs = ['memberOfOrgIDs'];\n let repairData = false;\n const updatedObjects = managed.objects.map((object) => {\n // ignore all other objects\n if (object.name !== getRealmManagedUser({ state })) {\n return object;\n }\n printMessage({ message: `${object.name}: checking...`, state });\n RDVPs.forEach((name) => {\n if (!object.schema.properties[name].queryConfig.flattenProperties) {\n printMessage({\n message: `- ${name}: repairing - needs flattening`,\n type: 'warn',\n state,\n });\n // eslint-disable-next-line no-param-reassign\n object.schema.properties[name].queryConfig.flattenProperties = true;\n repairData = true;\n } else {\n printMessage({ message: `- ${name}: OK`, state });\n }\n });\n return object;\n });\n managed.objects = updatedObjects;\n if (!dryRun) {\n try {\n await putConfigEntity({\n entityId: 'managed',\n entityData: managed,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n }\n return repairData;\n}\n\nasync function repairOrgModelOrg({\n dryRun,\n state,\n}: {\n dryRun: boolean;\n state: State;\n}) {\n const managed = await getConfigEntity({ entityId: 'managed', state });\n const RDVPs = [\n 'adminIDs',\n 'ownerIDs',\n 'parentAdminIDs',\n 'parentOwnerIDs',\n 'parentIDs',\n ];\n let repairData = false;\n const updatedObjects = managed.objects.map((object) => {\n // ignore all other objects\n if (object.name !== getRealmManagedOrganization({ state })) {\n return object;\n }\n printMessage({ message: `${object.name}: checking...`, state });\n RDVPs.forEach((name) => {\n if (!object.schema.properties[name].queryConfig.flattenProperties) {\n printMessage({\n message: `- ${name}: repairing - needs flattening`,\n type: 'warn',\n state,\n });\n // eslint-disable-next-line no-param-reassign\n object.schema.properties[name].queryConfig.flattenProperties = true;\n repairData = true;\n } else {\n printMessage({ message: `- ${name}: OK`, state });\n }\n });\n return object;\n });\n managed.objects = updatedObjects;\n if (!dryRun) {\n try {\n await putConfigEntity({\n entityId: 'managed',\n entityData: managed,\n state,\n });\n } catch (putConfigEntityError) {\n printMessage({ message: putConfigEntityError, type: 'error', state });\n printMessage({\n message: `Error: ${putConfigEntityError}`,\n type: 'error',\n state,\n });\n }\n }\n return repairData;\n}\n\nasync function repairOrgModelData(dryRun = false) {\n if (!dryRun) {\n // const rootOrgs = await findRootOrganizations();\n }\n}\n\nasync function extendOrgModelPermissins(dryRun = false) {\n if (!dryRun) {\n // const rootOrgs = await findRootOrganizations();\n }\n}\n\nexport async function repairOrgModel({\n excludeCustomized,\n extendPermissions,\n dryRun,\n state,\n}: {\n excludeCustomized: boolean;\n extendPermissions: boolean;\n dryRun: boolean;\n state: State;\n}) {\n let repairData = false;\n repairData = repairData || (await repairOrgModelUser({ dryRun, state }));\n repairData = repairData || (await repairOrgModelOrg({ dryRun, state }));\n if (excludeCustomized) {\n //\n }\n if (repairData) {\n await repairOrgModelData(dryRun);\n }\n if (extendPermissions) {\n await extendOrgModelPermissins(dryRun);\n }\n if (dryRun) {\n printMessage({\n message: 'Dry-run only. Changes are not saved.',\n type: 'warn',\n state,\n });\n }\n}\n\n// suggested by John K.\n// export async function removeRealmNameFromManagedObjectLabels() {}\n// export async function addRealmNameToManagedObjectLabels() {}\n// export async function cleanUpPostmanArtifacts() {}\n// export async function createSampleThemes() {}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAuB,IAAAE,gBAAA,GAAAF,OAAA;AAAA,IAAAG,aAAA,GAAAH,OAAA;AAAA,IAAAI,SAAA,GAAAJ,OAAA;AAAA,IAAAK,gBAAA,GAAAL,OAAA;AAAA,IAAAM,kBAAA,GAAAN,OAAA;AAAA,IAAAO,WAAA,GAAAP,OAAA;AAAA,IAAAQ,cAAA,GAAAR,OAAA;AAAA,IAAAS,QAAA,GAAAT,OAAA;AAavB,IAAAU,KAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,IAAA,GAAAX,OAAA;AAAoC,SAAAD,uBAAAa,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA;AAAA,IAAAC,QAAA,GA0CpBC,KAAY,IAAY;EACtC,OAAO;IACL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUC,uBAAuBA,CAAA,EAAG;MAAA,OAAAV,iBAAA;QAC9B,OAAOU,uBAAuB,CAAC;UAAED;QAAM,CAAC,CAAC;MAAC;IAC5C,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUE,sBAAsBA,CAAA,EAAG;MAAA,OAAAX,iBAAA;QAC7B,OAAOW,sBAAsB,CAAC;UAAEF;QAAM,CAAC,CAAC;MAAC;IAC3C,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUG,oCAAoCA,CAACC,aAAsB,EAAE;MAAA,OAAAb,iBAAA;QACjE,OAAOY,oCAAoC,CAAC;UAC1CC,aAAa;UACbJ;QACF,CAAC,CAAC;MAAC;IACL,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUK,0BAA0BA,CAAA,EAAG;MAAA,OAAAd,iBAAA;QACjC,OAAOc,0BAA0B,CAAC;UAAEL;QAAM,CAAC,CAAC;MAAC;IAC/C,CAAC;IAEKM,gCAAgCA,CAACC,QAAgB,EAAE;MAAA,OAAAhB,iBAAA;QACvD,OAAOe,gCAAgC,CAAC;UAAEC,QAAQ;UAAEP;QAAM,CAAC,CAAC;MAAC;IAC/D,CAAC;IAEKQ,iCAAiCA,CAACD,QAAgB,EAAE;MAAA,OAAAhB,iBAAA;QACxD,OAAOiB,iCAAiC,CAAC;UAAED,QAAQ;UAAEP;QAAM,CAAC,CAAC;MAAC;IAChE,CAA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"}
|