@rockcarver/frodo-lib 1.0.0 → 2.0.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -7
- package/cjs/api/AgentApi.js +91 -37
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AgentApi.test.js.map +1 -1
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/AuthenticateApi.js +18 -11
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.test.js.map +1 -1
- package/cjs/api/BaseApi.js +50 -26
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/CirclesOfTrustApi.js +47 -23
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js +54 -21
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/IdmSystemApi.js +9 -6
- package/cjs/api/IdmSystemApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js +49 -27
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/NodeApi.js +71 -32
- package/cjs/api/NodeApi.js.map +1 -1
- package/cjs/api/NodeApi.test.js.map +1 -1
- package/cjs/api/OAuth2ClientApi.js +43 -20
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js +74 -27
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
- package/cjs/api/OAuth2ProviderApi.js +10 -9
- package/cjs/api/OAuth2ProviderApi.js.map +1 -1
- package/cjs/api/PoliciesApi.js +54 -22
- package/cjs/api/PoliciesApi.js.map +1 -1
- package/cjs/api/PoliciesApi.test.js.map +1 -1
- package/cjs/api/PolicySetApi.js +54 -23
- package/cjs/api/PolicySetApi.js.map +1 -1
- package/cjs/api/PolicySetApi.test.js.map +1 -1
- package/cjs/api/RealmApi.js +73 -29
- package/cjs/api/RealmApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.js +67 -28
- package/cjs/api/ResourceTypesApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.test.js.map +1 -1
- package/cjs/api/Saml2Api.js +90 -122
- package/cjs/api/Saml2Api.js.map +1 -1
- package/cjs/api/ScriptApi.js +54 -23
- package/cjs/api/ScriptApi.js.map +1 -1
- package/cjs/api/ServerInfoApi.js +23 -10
- package/cjs/api/ServerInfoApi.js.map +1 -1
- package/cjs/api/ServiceApi.js +91 -42
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/SocialIdentityProvidersApi.js +70 -31
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
- package/cjs/api/TreeApi.js +43 -20
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/cloud/EnvInfoApi.js +10 -6
- package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
- package/cjs/api/cloud/FeatureApi.js +9 -6
- package/cjs/api/cloud/FeatureApi.js.map +1 -1
- package/cjs/api/cloud/LogApi.js +48 -18
- package/cjs/api/cloud/LogApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.js +109 -35
- package/cjs/api/cloud/SecretsApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.test.js.map +1 -1
- package/cjs/api/cloud/StartupApi.js +21 -10
- package/cjs/api/cloud/StartupApi.js.map +1 -1
- package/cjs/api/cloud/StartupApi.test.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.js +52 -20
- package/cjs/api/cloud/VariablesApi.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.test.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js +2 -5
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/ApiUtils.test.js.map +1 -1
- package/cjs/index.js +22 -17
- package/cjs/index.js.map +1 -1
- package/cjs/lib/FrodoLib.js +142 -0
- package/cjs/lib/FrodoLib.js.map +1 -0
- package/cjs/ops/AdminOps.js +578 -90
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +956 -118
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +155 -87
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +334 -291
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +241 -46
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +84 -10
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
- package/cjs/ops/IdmOps.js +97 -81
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdmOps.test.js.map +1 -1
- package/cjs/ops/IdpOps.js +275 -42
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/IdpOps.test.js.map +1 -1
- package/cjs/ops/InfoOps.js +42 -27
- package/cjs/ops/InfoOps.js.map +1 -1
- package/cjs/ops/JoseOps.test.js.map +1 -1
- package/cjs/ops/JourneyOps.js +721 -126
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js +79 -12
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +127 -100
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +323 -65
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.test.js.map +1 -1
- package/cjs/ops/OAuth2ProviderOps.js +20 -13
- package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +67 -12
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/PolicyOps.js +476 -136
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicyOps.test.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +402 -132
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.test.js.map +1 -1
- package/cjs/ops/RealmOps.js +119 -84
- package/cjs/ops/RealmOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.js +348 -95
- package/cjs/ops/ResourceTypeOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.test.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +407 -145
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +256 -79
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/ScriptOps.test.js.map +1 -1
- package/cjs/ops/ServiceOps.js +328 -55
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +349 -54
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/ThemeOps.test.js.map +1 -1
- package/cjs/ops/cloud/FeatureOps.js +57 -12
- package/cjs/ops/cloud/FeatureOps.js.map +1 -1
- package/cjs/ops/cloud/LogOps.js +136 -6
- package/cjs/ops/cloud/LogOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.js +230 -289
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js +101 -18
- package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.test.js.map +1 -1
- package/cjs/ops/cloud/StartupOps.js +64 -9
- package/cjs/ops/cloud/StartupOps.js.map +1 -1
- package/cjs/ops/cloud/VariablesOps.js +100 -175
- package/cjs/ops/cloud/VariablesOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +9 -10
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +2 -2
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +35 -13
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +7 -5
- package/cjs/ops/utils/OpsUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
- package/cjs/ops/utils/{ValidationUtils.js → ScriptValidationUtils.js} +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -0
- package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -0
- package/cjs/ops/utils/Version.js +9 -2
- package/cjs/ops/utils/Version.js.map +1 -1
- package/cjs/shared/State.js +455 -210
- package/cjs/shared/State.js.map +1 -1
- package/cjs/shared/State.test.js.map +1 -1
- package/cjs/utils/AutoSetupPolly.js +4 -1
- package/cjs/utils/AutoSetupPolly.js.map +1 -1
- package/esm/api/AgentApi.mjs +75 -27
- package/esm/api/AgentApi.test.mjs +319 -71
- package/esm/api/AuthenticateApi.mjs +15 -4
- package/esm/api/AuthenticateApi.test.mjs +27 -8
- package/esm/api/BaseApi.mjs +43 -19
- package/esm/api/CirclesOfTrustApi.mjs +39 -17
- package/esm/api/IdmConfigApi.mjs +44 -13
- package/esm/api/IdmSystemApi.mjs +7 -3
- package/esm/api/ManagedObjectApi.mjs +44 -20
- package/esm/api/NodeApi.mjs +59 -24
- package/esm/api/NodeApi.test.mjs +158 -40
- package/esm/api/OAuth2ClientApi.mjs +36 -15
- package/esm/api/OAuth2OIDCApi.mjs +69 -20
- package/esm/api/OAuth2OIDCApi.test.mjs +21 -3
- package/esm/api/OAuth2ProviderApi.mjs +8 -6
- package/esm/api/PoliciesApi.mjs +45 -16
- package/esm/api/PoliciesApi.test.mjs +63 -15
- package/esm/api/PolicySetApi.mjs +44 -16
- package/esm/api/PolicySetApi.test.mjs +48 -12
- package/esm/api/RealmApi.mjs +65 -24
- package/esm/api/ResourceTypesApi.mjs +56 -21
- package/esm/api/ResourceTypesApi.test.mjs +58 -14
- package/esm/api/Saml2Api.mjs +75 -89
- package/esm/api/ScriptApi.mjs +45 -17
- package/esm/api/ServerInfoApi.mjs +19 -6
- package/esm/api/ServiceApi.mjs +77 -26
- package/esm/api/SocialIdentityProvidersApi.mjs +58 -23
- package/esm/api/TreeApi.mjs +36 -15
- package/esm/api/TreeApi.test.mjs +129 -34
- package/esm/api/cloud/EnvInfoApi.mjs +8 -3
- package/esm/api/cloud/FeatureApi.mjs +7 -3
- package/esm/api/cloud/LogApi.mjs +38 -11
- package/esm/api/cloud/SecretsApi.mjs +89 -21
- package/esm/api/cloud/SecretsApi.test.mjs +193 -50
- package/esm/api/cloud/StartupApi.mjs +17 -6
- package/esm/api/cloud/StartupApi.test.mjs +28 -11
- package/esm/api/cloud/VariablesApi.mjs +43 -14
- package/esm/api/cloud/VariablesApi.test.mjs +124 -33
- package/esm/api/utils/ApiUtils.mjs +2 -4
- package/esm/api/utils/ApiUtils.test.mjs +14 -6
- package/esm/index.mjs +3 -4
- package/esm/lib/FrodoLib.mjs +127 -0
- package/esm/ops/AdminOps.mjs +500 -71
- package/esm/ops/AgentOps.mjs +773 -81
- package/esm/ops/AgentOps.test.mjs +296 -113
- package/esm/ops/AuthenticateOps.mjs +136 -64
- package/esm/ops/AuthenticateOps.test.mjs +7 -4
- package/esm/ops/CirclesOfTrustOps.mjs +278 -229
- package/esm/ops/ConnectionProfileOps.mjs +206 -35
- package/esm/ops/ConnectionProfileOps.test.mjs +25 -5
- package/esm/ops/EmailTemplateOps.mjs +66 -6
- package/esm/ops/EmailTemplateOps.test.mjs +32 -11
- package/esm/ops/IdmOps.mjs +60 -47
- package/esm/ops/IdmOps.test.mjs +54 -18
- package/esm/ops/IdpOps.mjs +227 -31
- package/esm/ops/IdpOps.test.mjs +57 -20
- package/esm/ops/InfoOps.mjs +36 -23
- package/esm/ops/JoseOps.test.mjs +8 -0
- package/esm/ops/JourneyOps.mjs +634 -96
- package/esm/ops/JourneyOps.test.mjs +73 -31
- package/esm/ops/ManagedObjectOps.mjs +66 -10
- package/esm/ops/NodeOps.mjs +108 -85
- package/esm/ops/OAuth2ClientOps.mjs +258 -42
- package/esm/ops/OAuth2ClientOps.test.mjs +80 -29
- package/esm/ops/OAuth2ProviderOps.mjs +11 -8
- package/esm/ops/OrganizationOps.mjs +56 -8
- package/esm/ops/PolicyOps.mjs +379 -93
- package/esm/ops/PolicyOps.test.mjs +180 -65
- package/esm/ops/PolicySetOps.mjs +311 -88
- package/esm/ops/PolicySetOps.test.mjs +108 -39
- package/esm/ops/RealmOps.mjs +85 -65
- package/esm/ops/ResourceTypeOps.mjs +268 -61
- package/esm/ops/ResourceTypeOps.test.mjs +113 -27
- package/esm/ops/Saml2Ops.mjs +346 -106
- package/esm/ops/Saml2Ops.test.mjs +117 -81
- package/esm/ops/ScriptOps.mjs +202 -56
- package/esm/ops/ScriptOps.test.mjs +64 -23
- package/esm/ops/ServiceOps.mjs +258 -27
- package/esm/ops/ThemeOps.mjs +300 -33
- package/esm/ops/ThemeOps.test.mjs +197 -47
- package/esm/ops/cloud/FeatureOps.mjs +45 -10
- package/esm/ops/cloud/LogOps.mjs +117 -4
- package/esm/ops/cloud/SecretsOps.mjs +123 -204
- package/esm/ops/cloud/ServiceAccountOps.mjs +85 -15
- package/esm/ops/cloud/ServiceAccountOps.test.mjs +16 -6
- package/esm/ops/cloud/StartupOps.mjs +49 -6
- package/esm/ops/cloud/VariablesOps.mjs +58 -120
- package/esm/ops/utils/Console.mjs +9 -8
- package/esm/ops/utils/DataProtection.mjs +2 -3
- package/esm/ops/utils/ExportImportUtils.mjs +28 -8
- package/esm/ops/utils/OpsUtils.mjs +4 -3
- package/esm/ops/utils/OpsUtils.test.mjs +21 -5
- package/esm/ops/utils/{ValidationUtils.mjs → ScriptValidationUtils.mjs} +1 -1
- package/esm/ops/utils/{ValidationUtils.test.mjs → ScriptValidationUtils.test.mjs} +2 -2
- package/esm/ops/utils/Version.mjs +8 -2
- package/esm/shared/State.mjs +459 -145
- package/esm/shared/State.test.mjs +8 -0
- package/esm/utils/AutoSetupPolly.mjs +4 -1
- package/package.json +1 -1
- package/types/api/AgentApi.d.ts +37 -8
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/ApiTypes.d.ts +12 -0
- package/types/api/ApiTypes.d.ts.map +1 -1
- package/types/api/AuthenticateApi.d.ts +13 -3
- package/types/api/AuthenticateApi.d.ts.map +1 -1
- package/types/api/BaseApi.d.ts +36 -7
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/CirclesOfTrustApi.d.ts +21 -7
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
- package/types/api/IdmConfigApi.d.ts +28 -13
- package/types/api/IdmConfigApi.d.ts.map +1 -1
- package/types/api/IdmSystemApi.d.ts +4 -1
- package/types/api/IdmSystemApi.d.ts.map +1 -1
- package/types/api/ManagedObjectApi.d.ts +25 -10
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/api/NodeApi.d.ts +31 -9
- package/types/api/NodeApi.d.ts.map +1 -1
- package/types/api/OAuth2ClientApi.d.ts +18 -5
- package/types/api/OAuth2ClientApi.d.ts.map +1 -1
- package/types/api/OAuth2OIDCApi.d.ts +45 -11
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
- package/types/api/OAuth2ProviderApi.d.ts +4 -1
- package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
- package/types/api/PoliciesApi.d.ts +21 -5
- package/types/api/PoliciesApi.d.ts.map +1 -1
- package/types/api/PolicySetApi.d.ts +20 -5
- package/types/api/PolicySetApi.d.ts.map +1 -1
- package/types/api/RealmApi.d.ts +26 -10
- package/types/api/RealmApi.d.ts.map +1 -1
- package/types/api/ResourceTypesApi.d.ts +27 -8
- package/types/api/ResourceTypesApi.d.ts.map +1 -1
- package/types/api/Saml2Api.d.ts +39 -32
- package/types/api/Saml2Api.d.ts.map +1 -1
- package/types/api/ScriptApi.d.ts +21 -5
- package/types/api/ScriptApi.d.ts.map +1 -1
- package/types/api/ServerInfoApi.d.ts +9 -2
- package/types/api/ServerInfoApi.d.ts.map +1 -1
- package/types/api/ServiceApi.d.ts +41 -7
- package/types/api/ServiceApi.d.ts.map +1 -1
- package/types/api/SocialIdentityProvidersApi.d.ts +30 -8
- package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
- package/types/api/TreeApi.d.ts +18 -4
- package/types/api/TreeApi.d.ts.map +1 -1
- package/types/api/cloud/EnvInfoApi.d.ts +4 -1
- package/types/api/cloud/EnvInfoApi.d.ts.map +1 -1
- package/types/api/cloud/FeatureApi.d.ts +4 -1
- package/types/api/cloud/FeatureApi.d.ts.map +1 -1
- package/types/api/cloud/LogApi.d.ts +24 -6
- package/types/api/cloud/LogApi.d.ts.map +1 -1
- package/types/api/cloud/SecretsApi.d.ts +50 -10
- package/types/api/cloud/SecretsApi.d.ts.map +1 -1
- package/types/api/cloud/StartupApi.d.ts +7 -2
- package/types/api/cloud/StartupApi.d.ts.map +1 -1
- package/types/api/cloud/VariablesApi.d.ts +23 -5
- package/types/api/cloud/VariablesApi.d.ts.map +1 -1
- package/types/api/utils/ApiUtils.d.ts +3 -2
- package/types/api/utils/ApiUtils.d.ts.map +1 -1
- package/types/index.d.ts +2 -2
- package/types/index.d.ts.map +1 -1
- package/types/lib/FrodoLib.d.ts +95 -0
- package/types/lib/FrodoLib.d.ts.map +1 -0
- package/types/ops/AdminOps.d.ts +71 -12
- package/types/ops/AdminOps.d.ts.map +1 -1
- package/types/ops/AgentOps.d.ts +345 -36
- package/types/ops/AgentOps.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts +18 -5
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/CirclesOfTrustOps.d.ts +76 -26
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts +88 -9
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts +36 -3
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdmOps.d.ts +28 -40
- package/types/ops/IdmOps.d.ts.map +1 -1
- package/types/ops/IdpOps.d.ts +88 -10
- package/types/ops/IdpOps.d.ts.map +1 -1
- package/types/ops/InfoOps.d.ts +12 -1
- package/types/ops/InfoOps.d.ts.map +1 -1
- package/types/ops/JourneyOps.d.ts +237 -34
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/ManagedObjectOps.d.ts +37 -8
- package/types/ops/ManagedObjectOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts +61 -6
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts +104 -10
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OAuth2ProviderOps.d.ts +8 -5
- package/types/ops/OAuth2ProviderOps.d.ts.map +1 -1
- package/types/ops/OpsTypes.d.ts +12 -1
- package/types/ops/OpsTypes.d.ts.map +1 -1
- package/types/ops/OrganizationOps.d.ts +24 -3
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/PolicyOps.d.ts +103 -28
- package/types/ops/PolicyOps.d.ts.map +1 -1
- package/types/ops/PolicySetOps.d.ts +76 -30
- package/types/ops/PolicySetOps.d.ts.map +1 -1
- package/types/ops/RealmOps.d.ts +34 -14
- package/types/ops/RealmOps.d.ts.map +1 -1
- package/types/ops/ResourceTypeOps.d.ts +116 -29
- package/types/ops/ResourceTypeOps.d.ts.map +1 -1
- package/types/ops/Saml2Ops.d.ts +124 -41
- package/types/ops/Saml2Ops.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts +88 -23
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceOps.d.ts +94 -8
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts +113 -9
- package/types/ops/ThemeOps.d.ts.map +1 -1
- package/types/ops/cloud/FeatureOps.d.ts +23 -2
- package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
- package/types/ops/cloud/LogOps.d.ts +61 -3
- package/types/ops/cloud/LogOps.d.ts.map +1 -1
- package/types/ops/cloud/SecretsOps.d.ts +77 -63
- package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
- package/types/ops/cloud/ServiceAccountOps.d.ts +48 -3
- package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
- package/types/ops/cloud/StartupOps.d.ts +25 -2
- package/types/ops/cloud/StartupOps.d.ts.map +1 -1
- package/types/ops/cloud/VariablesOps.d.ts +39 -39
- package/types/ops/cloud/VariablesOps.d.ts.map +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 +29 -11
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/OpsUtils.d.ts +4 -1
- package/types/ops/utils/OpsUtils.d.ts.map +1 -1
- package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -0
- package/types/ops/utils/Version.d.ts +5 -1
- package/types/ops/utils/Version.d.ts.map +1 -1
- package/types/shared/State.d.ts +80 -177
- package/types/shared/State.d.ts.map +1 -1
- package/types/utils/AutoSetupPolly.d.ts.map +1 -1
- package/cjs/ops/utils/ValidationUtils.js.map +0 -1
- package/cjs/ops/utils/ValidationUtils.test.js.map +0 -1
- package/types/ops/utils/ValidationUtils.d.ts.map +0 -1
- /package/types/ops/utils/{ValidationUtils.d.ts → ScriptValidationUtils.d.ts} +0 -0
package/esm/ops/Saml2Ops.mjs
CHANGED
|
@@ -1,11 +1,156 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
import { Saml2ProiderLocation } from '../api/ApiTypes';
|
|
3
|
-
import { createProvider, updateProvider,
|
|
3
|
+
import { createProvider, updateProvider, findProviders, getProviderByLocationAndId as _getProviderByLocationAndId, getProviderMetadata as _getProviderMetadata, getProviderMetadataUrl as _getProviderMetadataUrl, getProviders, deleteProviderByLocationAndId } from '../api/Saml2Api';
|
|
4
4
|
import { getScript } from '../api/ScriptApi';
|
|
5
5
|
import { decode, decodeBase64Url, encode, encodeBase64Url } from '../api/utils/Base64';
|
|
6
6
|
import { putScript } from './ScriptOps';
|
|
7
7
|
import { debugMessage, printMessage } from './utils/Console';
|
|
8
8
|
import { convertBase64TextToArray, convertBase64UrlTextToArray, convertTextArrayToBase64, convertTextArrayToBase64Url, getMetadata } from './utils/ExportImportUtils';
|
|
9
|
+
export default class Saml2Ops {
|
|
10
|
+
constructor(state) {
|
|
11
|
+
this.state = state;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Get SAML2 entity provider stubs
|
|
16
|
+
* @returns {Promise<Saml2ProviderStub[]>} a promise that resolves to an array of saml2 entity stubs
|
|
17
|
+
*/
|
|
18
|
+
async getSaml2ProviderStubs() {
|
|
19
|
+
return getSaml2ProviderStubs({
|
|
20
|
+
state: this.state
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Geta SAML2 entity provider by location and id
|
|
26
|
+
* @param {string} location Entity provider location (hosted or remote)
|
|
27
|
+
* @param {string} entityId64 Base64-encoded-without-padding provider entity id
|
|
28
|
+
* @returns {Promise} a promise that resolves to a saml2 entity provider object
|
|
29
|
+
*/
|
|
30
|
+
async getProviderByLocationAndId(location, entityId64) {
|
|
31
|
+
return getProviderByLocationAndId({
|
|
32
|
+
location,
|
|
33
|
+
entityId64,
|
|
34
|
+
state: this.state
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Get a SAML2 entity provider's metadata URL by entity id
|
|
40
|
+
* @param {string} entityId SAML2 entity id
|
|
41
|
+
* @returns {string} the URL to get the metadata from
|
|
42
|
+
*/
|
|
43
|
+
getProviderMetadataUrl(entityId) {
|
|
44
|
+
return getProviderMetadataUrl({
|
|
45
|
+
entityId,
|
|
46
|
+
state: this.state
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Get a SAML2 entity provider's metadata by entity id
|
|
52
|
+
* @param {string} entityId SAML2 entity id
|
|
53
|
+
* @returns {Promise<object>} a promise that resolves to an object containing a SAML2 metadata
|
|
54
|
+
*/
|
|
55
|
+
async getProviderMetadata(entityId) {
|
|
56
|
+
return getProviderMetadata({
|
|
57
|
+
entityId,
|
|
58
|
+
state: this.state
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
*
|
|
64
|
+
* @param {string} entityId Provider entity id
|
|
65
|
+
* @returns {Promise<Saml2ProviderStub>} Promise resolving to a Saml2ExportInterface object.
|
|
66
|
+
*/
|
|
67
|
+
async getSaml2ProviderStub(entityId) {
|
|
68
|
+
return getSaml2ProviderStub({
|
|
69
|
+
entityId,
|
|
70
|
+
state: this.state
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Export a single entity provider. The response can be saved to file as is.
|
|
76
|
+
* @param {string} entityId Provider entity id
|
|
77
|
+
* @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.
|
|
78
|
+
*/
|
|
79
|
+
async getSaml2Provider(entityId) {
|
|
80
|
+
return getSaml2Provider({
|
|
81
|
+
entityId,
|
|
82
|
+
state: this.state
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Delete an entity provider. The response can be saved to file as is.
|
|
88
|
+
* @param {string} entityId Provider entity id
|
|
89
|
+
* @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.
|
|
90
|
+
*/
|
|
91
|
+
async deleteSaml2Provider(entityId) {
|
|
92
|
+
return deleteSaml2Provider({
|
|
93
|
+
entityId,
|
|
94
|
+
state: this.state
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Delete all entity providers.
|
|
100
|
+
* @returns {Promise<Saml2ProviderSkeleton[]>} Promise resolving to an array of Saml2ProviderSkeleton objects.
|
|
101
|
+
*/
|
|
102
|
+
async deleteSaml2Providers() {
|
|
103
|
+
return deleteSaml2Providers({
|
|
104
|
+
state: this.state
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Export a single entity provider. The response can be saved to file as is.
|
|
110
|
+
* @param {string} entityId Provider entity id
|
|
111
|
+
* @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.
|
|
112
|
+
*/
|
|
113
|
+
async exportSaml2Provider(entityId) {
|
|
114
|
+
return exportSaml2Provider({
|
|
115
|
+
entityId,
|
|
116
|
+
state: this.state
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Export all entity providers. The response can be saved to file as is.
|
|
122
|
+
* @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.
|
|
123
|
+
*/
|
|
124
|
+
async exportSaml2Providers() {
|
|
125
|
+
return exportSaml2Providers({
|
|
126
|
+
state: this.state
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Import a SAML entity provider
|
|
132
|
+
* @param {string} entityId Provider entity id
|
|
133
|
+
* @param {Saml2ExportInterface} importData Import data
|
|
134
|
+
*/
|
|
135
|
+
async importSaml2Provider(entityId, importData) {
|
|
136
|
+
return importSaml2Provider({
|
|
137
|
+
entityId,
|
|
138
|
+
importData,
|
|
139
|
+
state: this.state
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Import SAML entity providers
|
|
145
|
+
* @param {Saml2ExportInterface} importData Import data
|
|
146
|
+
*/
|
|
147
|
+
async importSaml2Providers(importData) {
|
|
148
|
+
return importSaml2Providers({
|
|
149
|
+
importData,
|
|
150
|
+
state: this.state
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
9
154
|
export const roleMap = {
|
|
10
155
|
identityProvider: 'IDP',
|
|
11
156
|
serviceProvider: 'SP',
|
|
@@ -14,9 +159,13 @@ export const roleMap = {
|
|
|
14
159
|
};
|
|
15
160
|
|
|
16
161
|
// use a function vs a template variable to avoid problems in loops
|
|
17
|
-
export function createSaml2ExportTemplate(
|
|
162
|
+
export function createSaml2ExportTemplate({
|
|
163
|
+
state
|
|
164
|
+
}) {
|
|
18
165
|
return {
|
|
19
|
-
meta: getMetadata(
|
|
166
|
+
meta: getMetadata({
|
|
167
|
+
state
|
|
168
|
+
}),
|
|
20
169
|
script: {},
|
|
21
170
|
saml: {
|
|
22
171
|
hosted: {},
|
|
@@ -30,10 +179,14 @@ export function createSaml2ExportTemplate() {
|
|
|
30
179
|
* Get SAML2 entity provider stubs
|
|
31
180
|
* @returns {Promise<Saml2ProviderStub[]>} a promise that resolves to an array of saml2 entity stubs
|
|
32
181
|
*/
|
|
33
|
-
export async function getSaml2ProviderStubs(
|
|
182
|
+
export async function getSaml2ProviderStubs({
|
|
183
|
+
state
|
|
184
|
+
}) {
|
|
34
185
|
const {
|
|
35
186
|
result
|
|
36
|
-
} = await getProviders(
|
|
187
|
+
} = await getProviders({
|
|
188
|
+
state
|
|
189
|
+
});
|
|
37
190
|
return result;
|
|
38
191
|
}
|
|
39
192
|
|
|
@@ -43,8 +196,16 @@ export async function getSaml2ProviderStubs() {
|
|
|
43
196
|
* @param {string} entityId64 Base64-encoded-without-padding provider entity id
|
|
44
197
|
* @returns {Promise} a promise that resolves to a saml2 entity provider object
|
|
45
198
|
*/
|
|
46
|
-
export async function getProviderByLocationAndId(
|
|
47
|
-
|
|
199
|
+
export async function getProviderByLocationAndId({
|
|
200
|
+
location,
|
|
201
|
+
entityId64,
|
|
202
|
+
state
|
|
203
|
+
}) {
|
|
204
|
+
return _getProviderByLocationAndId({
|
|
205
|
+
location,
|
|
206
|
+
entityId64,
|
|
207
|
+
state
|
|
208
|
+
});
|
|
48
209
|
}
|
|
49
210
|
|
|
50
211
|
/**
|
|
@@ -52,8 +213,14 @@ export async function getProviderByLocationAndId(location, entityId64) {
|
|
|
52
213
|
* @param {string} entityId SAML2 entity id
|
|
53
214
|
* @returns {string} the URL to get the metadata from
|
|
54
215
|
*/
|
|
55
|
-
export function getProviderMetadataUrl(
|
|
56
|
-
|
|
216
|
+
export function getProviderMetadataUrl({
|
|
217
|
+
entityId,
|
|
218
|
+
state
|
|
219
|
+
}) {
|
|
220
|
+
return _getProviderMetadataUrl({
|
|
221
|
+
entityId,
|
|
222
|
+
state
|
|
223
|
+
});
|
|
57
224
|
}
|
|
58
225
|
|
|
59
226
|
/**
|
|
@@ -61,8 +228,14 @@ export function getProviderMetadataUrl(entityId) {
|
|
|
61
228
|
* @param {string} entityId SAML2 entity id
|
|
62
229
|
* @returns {Promise<object>} a promise that resolves to an object containing a SAML2 metadata
|
|
63
230
|
*/
|
|
64
|
-
export async function getProviderMetadata(
|
|
65
|
-
|
|
231
|
+
export async function getProviderMetadata({
|
|
232
|
+
entityId,
|
|
233
|
+
state
|
|
234
|
+
}) {
|
|
235
|
+
return _getProviderMetadata({
|
|
236
|
+
entityId,
|
|
237
|
+
state
|
|
238
|
+
});
|
|
66
239
|
}
|
|
67
240
|
|
|
68
241
|
/**
|
|
@@ -70,22 +243,38 @@ export async function getProviderMetadata(entityId) {
|
|
|
70
243
|
* @param {object} providerData Object representing a SAML entity provider
|
|
71
244
|
* @param {object} fileData File data object to add dependencies to
|
|
72
245
|
*/
|
|
73
|
-
async function exportDependencies(
|
|
246
|
+
async function exportDependencies({
|
|
247
|
+
providerData,
|
|
248
|
+
fileData,
|
|
249
|
+
state
|
|
250
|
+
}) {
|
|
74
251
|
const attrMapperScriptId = _.get(providerData, ['identityProvider', 'assertionProcessing', 'attributeMapper', 'attributeMapperScript']);
|
|
75
252
|
if (attrMapperScriptId && attrMapperScriptId !== '[Empty]') {
|
|
76
|
-
const scriptData = await getScript(
|
|
253
|
+
const scriptData = await getScript({
|
|
254
|
+
scriptId: attrMapperScriptId,
|
|
255
|
+
state
|
|
256
|
+
});
|
|
77
257
|
scriptData.script = convertBase64TextToArray(scriptData.script);
|
|
78
258
|
fileData.script[attrMapperScriptId] = scriptData;
|
|
79
259
|
}
|
|
80
260
|
const idpAdapterScriptId = _.get(providerData, ['identityProvider', 'advanced', 'idpAdapter', 'idpAdapterScript']);
|
|
81
261
|
if (idpAdapterScriptId && idpAdapterScriptId !== '[Empty]') {
|
|
82
|
-
const scriptData = await getScript(
|
|
262
|
+
const scriptData = await getScript({
|
|
263
|
+
scriptId: idpAdapterScriptId,
|
|
264
|
+
state
|
|
265
|
+
});
|
|
83
266
|
scriptData.script = convertBase64TextToArray(scriptData.script);
|
|
84
267
|
fileData.script[idpAdapterScriptId] = scriptData;
|
|
85
268
|
}
|
|
86
|
-
const metaDataResponse = await getProviderMetadata(
|
|
269
|
+
const metaDataResponse = await getProviderMetadata({
|
|
270
|
+
entityId: providerData.entityId,
|
|
271
|
+
state
|
|
272
|
+
});
|
|
87
273
|
if (!metaDataResponse) {
|
|
88
|
-
throw new Error(`Unable to obtain metadata from ${getProviderMetadataUrl(
|
|
274
|
+
throw new Error(`Unable to obtain metadata from ${getProviderMetadataUrl({
|
|
275
|
+
entityId: providerData.entityId,
|
|
276
|
+
state
|
|
277
|
+
})}`);
|
|
89
278
|
}
|
|
90
279
|
fileData.saml.metadata[providerData._id] = convertBase64UrlTextToArray(encodeBase64Url(metaDataResponse));
|
|
91
280
|
}
|
|
@@ -95,9 +284,15 @@ async function exportDependencies(providerData, fileData) {
|
|
|
95
284
|
* @param {string} entityId Provider entity id
|
|
96
285
|
* @returns {Promise<Saml2ProviderStub>} Promise resolving to a Saml2ExportInterface object.
|
|
97
286
|
*/
|
|
98
|
-
export async function getSaml2ProviderStub(
|
|
287
|
+
export async function getSaml2ProviderStub({
|
|
288
|
+
entityId,
|
|
289
|
+
state
|
|
290
|
+
}) {
|
|
99
291
|
debugMessage(`Saml2Ops.getSaml2ProviderStub: start [entityId=${entityId}]`);
|
|
100
|
-
const found = await findProviders(
|
|
292
|
+
const found = await findProviders({
|
|
293
|
+
filter: `entityId eq '${entityId}'`,
|
|
294
|
+
state
|
|
295
|
+
});
|
|
101
296
|
switch (found.resultCount) {
|
|
102
297
|
case 0:
|
|
103
298
|
throw new Error(`No provider with entity id '${entityId}' found`);
|
|
@@ -116,14 +311,24 @@ export async function getSaml2ProviderStub(entityId) {
|
|
|
116
311
|
* @param {string} entityId Provider entity id
|
|
117
312
|
* @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.
|
|
118
313
|
*/
|
|
119
|
-
export async function getSaml2Provider(
|
|
314
|
+
export async function getSaml2Provider({
|
|
315
|
+
entityId,
|
|
316
|
+
state
|
|
317
|
+
}) {
|
|
120
318
|
debugMessage(`Saml2Ops.getSaml2Provider: start [entityId=${entityId}]`);
|
|
121
|
-
const stub = await getSaml2ProviderStub(
|
|
319
|
+
const stub = await getSaml2ProviderStub({
|
|
320
|
+
entityId,
|
|
321
|
+
state
|
|
322
|
+
});
|
|
122
323
|
const {
|
|
123
324
|
location
|
|
124
325
|
} = stub;
|
|
125
326
|
const id = stub._id;
|
|
126
|
-
const providerData = await getProviderByLocationAndId(
|
|
327
|
+
const providerData = await getProviderByLocationAndId({
|
|
328
|
+
location,
|
|
329
|
+
entityId64: id,
|
|
330
|
+
state
|
|
331
|
+
});
|
|
127
332
|
debugMessage(`Saml2Ops.getSaml2Provider: end [entityId=${entityId}]`);
|
|
128
333
|
return providerData;
|
|
129
334
|
}
|
|
@@ -133,14 +338,24 @@ export async function getSaml2Provider(entityId) {
|
|
|
133
338
|
* @param {string} entityId Provider entity id
|
|
134
339
|
* @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.
|
|
135
340
|
*/
|
|
136
|
-
export async function deleteSaml2Provider(
|
|
341
|
+
export async function deleteSaml2Provider({
|
|
342
|
+
entityId,
|
|
343
|
+
state
|
|
344
|
+
}) {
|
|
137
345
|
debugMessage(`Saml2Ops.deleteSaml2Provider: start [entityId=${entityId}]`);
|
|
138
|
-
const stub = await getSaml2ProviderStub(
|
|
346
|
+
const stub = await getSaml2ProviderStub({
|
|
347
|
+
entityId,
|
|
348
|
+
state
|
|
349
|
+
});
|
|
139
350
|
const {
|
|
140
351
|
location
|
|
141
352
|
} = stub;
|
|
142
353
|
const id = stub._id;
|
|
143
|
-
const providerData = await deleteProviderByLocationAndId(
|
|
354
|
+
const providerData = await deleteProviderByLocationAndId({
|
|
355
|
+
location,
|
|
356
|
+
entityId64: id,
|
|
357
|
+
state
|
|
358
|
+
});
|
|
144
359
|
debugMessage(`Saml2Ops.deleteSaml2Provider: end [entityId=${entityId}]`);
|
|
145
360
|
return providerData;
|
|
146
361
|
}
|
|
@@ -149,12 +364,20 @@ export async function deleteSaml2Provider(entityId) {
|
|
|
149
364
|
* Delete all entity providers.
|
|
150
365
|
* @returns {Promise<Saml2ProviderSkeleton[]>} Promise resolving to an array of Saml2ProviderSkeleton objects.
|
|
151
366
|
*/
|
|
152
|
-
export async function deleteSaml2Providers(
|
|
367
|
+
export async function deleteSaml2Providers({
|
|
368
|
+
state
|
|
369
|
+
}) {
|
|
153
370
|
debugMessage(`Saml2Ops.deleteSaml2Providers: start`);
|
|
154
371
|
const providers = [];
|
|
155
|
-
const stubs = await getSaml2ProviderStubs(
|
|
372
|
+
const stubs = await getSaml2ProviderStubs({
|
|
373
|
+
state
|
|
374
|
+
});
|
|
156
375
|
for (const stub of stubs) {
|
|
157
|
-
const provider = await deleteProviderByLocationAndId(
|
|
376
|
+
const provider = await deleteProviderByLocationAndId({
|
|
377
|
+
location: stub.location,
|
|
378
|
+
entityId64: stub._id,
|
|
379
|
+
state
|
|
380
|
+
});
|
|
158
381
|
providers.push(provider);
|
|
159
382
|
}
|
|
160
383
|
debugMessage(`Saml2Ops.deleteSaml2Providers: end [deleted ${providers.length} providers]`);
|
|
@@ -166,18 +389,34 @@ export async function deleteSaml2Providers() {
|
|
|
166
389
|
* @param {string} entityId Provider entity id
|
|
167
390
|
* @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.
|
|
168
391
|
*/
|
|
169
|
-
export async function exportSaml2Provider(
|
|
392
|
+
export async function exportSaml2Provider({
|
|
393
|
+
entityId,
|
|
394
|
+
state
|
|
395
|
+
}) {
|
|
170
396
|
debugMessage(`Saml2Ops.exportSaml2Provider: start [entityId=${entityId}]`);
|
|
171
|
-
const exportData = createSaml2ExportTemplate(
|
|
172
|
-
|
|
397
|
+
const exportData = createSaml2ExportTemplate({
|
|
398
|
+
state
|
|
399
|
+
});
|
|
400
|
+
const stub = await getSaml2ProviderStub({
|
|
401
|
+
entityId,
|
|
402
|
+
state
|
|
403
|
+
});
|
|
173
404
|
const {
|
|
174
405
|
location
|
|
175
406
|
} = stub;
|
|
176
407
|
const id = stub._id;
|
|
177
|
-
const providerData = await getProviderByLocationAndId(
|
|
408
|
+
const providerData = await getProviderByLocationAndId({
|
|
409
|
+
location,
|
|
410
|
+
entityId64: id,
|
|
411
|
+
state
|
|
412
|
+
});
|
|
178
413
|
exportData.saml[stub.location][providerData._id] = providerData;
|
|
179
414
|
try {
|
|
180
|
-
await exportDependencies(
|
|
415
|
+
await exportDependencies({
|
|
416
|
+
providerData,
|
|
417
|
+
fileData: exportData,
|
|
418
|
+
state
|
|
419
|
+
});
|
|
181
420
|
} catch (error) {
|
|
182
421
|
printMessage(error.message, 'error');
|
|
183
422
|
}
|
|
@@ -189,13 +428,27 @@ export async function exportSaml2Provider(entityId) {
|
|
|
189
428
|
* Export all entity providers. The response can be saved to file as is.
|
|
190
429
|
* @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.
|
|
191
430
|
*/
|
|
192
|
-
export async function exportSaml2Providers(
|
|
193
|
-
|
|
194
|
-
|
|
431
|
+
export async function exportSaml2Providers({
|
|
432
|
+
state
|
|
433
|
+
}) {
|
|
434
|
+
const fileData = createSaml2ExportTemplate({
|
|
435
|
+
state
|
|
436
|
+
});
|
|
437
|
+
const stubs = await getSaml2ProviderStubs({
|
|
438
|
+
state
|
|
439
|
+
});
|
|
195
440
|
for (const stub of stubs) {
|
|
196
|
-
const providerData = await getProviderByLocationAndId(
|
|
441
|
+
const providerData = await getProviderByLocationAndId({
|
|
442
|
+
location: stub.location,
|
|
443
|
+
entityId64: stub._id,
|
|
444
|
+
state
|
|
445
|
+
});
|
|
197
446
|
try {
|
|
198
|
-
await exportDependencies(
|
|
447
|
+
await exportDependencies({
|
|
448
|
+
providerData,
|
|
449
|
+
fileData,
|
|
450
|
+
state
|
|
451
|
+
});
|
|
199
452
|
} catch (error) {
|
|
200
453
|
printMessage(error, 'error');
|
|
201
454
|
}
|
|
@@ -209,21 +462,33 @@ export async function exportSaml2Providers() {
|
|
|
209
462
|
* @param {object} providerData Object representing a SAML entity provider
|
|
210
463
|
* @param {object} fileData File data object to read dependencies from
|
|
211
464
|
*/
|
|
212
|
-
async function importDependencies(
|
|
465
|
+
async function importDependencies({
|
|
466
|
+
providerData,
|
|
467
|
+
fileData,
|
|
468
|
+
state
|
|
469
|
+
}) {
|
|
213
470
|
debugMessage(`Saml2Ops.importDependencies: start`);
|
|
214
471
|
const attrMapperScriptId = _.get(providerData, ['identityProvider', 'assertionProcessing', 'attributeMapper', 'attributeMapperScript']);
|
|
215
472
|
if (attrMapperScriptId && attrMapperScriptId !== '[Empty]') {
|
|
216
473
|
debugMessage(`Saml2Ops.importDependencies: attributeMapperScript=${attrMapperScriptId}`);
|
|
217
474
|
const scriptData = _.get(fileData, ['script', attrMapperScriptId]);
|
|
218
475
|
scriptData.script = convertTextArrayToBase64(scriptData.script);
|
|
219
|
-
await putScript(
|
|
476
|
+
await putScript({
|
|
477
|
+
scriptId: attrMapperScriptId,
|
|
478
|
+
scriptData,
|
|
479
|
+
state
|
|
480
|
+
});
|
|
220
481
|
}
|
|
221
482
|
const idpAdapterScriptId = _.get(providerData, ['identityProvider', 'advanced', 'idpAdapter', 'idpAdapterScript']);
|
|
222
483
|
if (idpAdapterScriptId && idpAdapterScriptId !== '[Empty]') {
|
|
223
484
|
debugMessage(`Saml2Ops.importDependencies: idpAdapterScript=${idpAdapterScriptId}`);
|
|
224
485
|
const scriptData = _.get(fileData, ['script', idpAdapterScriptId]);
|
|
225
486
|
scriptData.script = convertTextArrayToBase64(scriptData.script);
|
|
226
|
-
await putScript(
|
|
487
|
+
await putScript({
|
|
488
|
+
scriptId: idpAdapterScriptId,
|
|
489
|
+
scriptData,
|
|
490
|
+
state
|
|
491
|
+
});
|
|
227
492
|
}
|
|
228
493
|
debugMessage(`Saml2Ops.importDependencies: end`);
|
|
229
494
|
}
|
|
@@ -249,22 +514,39 @@ function getLocation(entityId64, data) {
|
|
|
249
514
|
* @param {string} entityId Provider entity id
|
|
250
515
|
* @param {Saml2ExportInterface} importData Import data
|
|
251
516
|
*/
|
|
252
|
-
export async function importSaml2Provider(
|
|
517
|
+
export async function importSaml2Provider({
|
|
518
|
+
entityId,
|
|
519
|
+
importData,
|
|
520
|
+
state
|
|
521
|
+
}) {
|
|
253
522
|
debugMessage(`Saml2Ops.importSaml2Provider: start`);
|
|
254
523
|
const entityId64 = encode(entityId, false);
|
|
255
524
|
const location = getLocation(entityId64, importData);
|
|
256
525
|
debugMessage(`Saml2Ops.importSaml2Provider: entityId=${entityId}, entityId64=${entityId64}, location=${location}`);
|
|
257
526
|
if (location) {
|
|
258
527
|
const providerData = importData.saml[location][entityId64];
|
|
259
|
-
await importDependencies(
|
|
528
|
+
await importDependencies({
|
|
529
|
+
providerData,
|
|
530
|
+
fileData: importData,
|
|
531
|
+
state
|
|
532
|
+
});
|
|
260
533
|
let metaData = null;
|
|
261
534
|
if (location === Saml2ProiderLocation.REMOTE) {
|
|
262
535
|
metaData = convertTextArrayToBase64Url(importData.saml.metadata[entityId64]);
|
|
263
536
|
}
|
|
264
537
|
try {
|
|
265
|
-
await createProvider(
|
|
538
|
+
await createProvider({
|
|
539
|
+
location,
|
|
540
|
+
providerData,
|
|
541
|
+
metaData,
|
|
542
|
+
state
|
|
543
|
+
});
|
|
266
544
|
} catch (error) {
|
|
267
|
-
await updateProvider(
|
|
545
|
+
await updateProvider({
|
|
546
|
+
location,
|
|
547
|
+
providerData,
|
|
548
|
+
state
|
|
549
|
+
});
|
|
268
550
|
}
|
|
269
551
|
} else {
|
|
270
552
|
throw new Error(`Provider ${entityId} not found in import data!`);
|
|
@@ -277,7 +559,10 @@ export async function importSaml2Provider(entityId, importData) {
|
|
|
277
559
|
* Import SAML entity providers
|
|
278
560
|
* @param {Saml2ExportInterface} importData Import data
|
|
279
561
|
*/
|
|
280
|
-
export async function importSaml2Providers(
|
|
562
|
+
export async function importSaml2Providers({
|
|
563
|
+
importData,
|
|
564
|
+
state
|
|
565
|
+
}) {
|
|
281
566
|
debugMessage(`Saml2Ops.importSaml2Providers: start`);
|
|
282
567
|
const myStatus = {
|
|
283
568
|
total: 0,
|
|
@@ -297,7 +582,11 @@ export async function importSaml2Providers(importData) {
|
|
|
297
582
|
const entityId = decode(entityId64);
|
|
298
583
|
const providerData = importData.saml[location][entityId64];
|
|
299
584
|
try {
|
|
300
|
-
await importDependencies(
|
|
585
|
+
await importDependencies({
|
|
586
|
+
providerData,
|
|
587
|
+
fileData: importData,
|
|
588
|
+
state
|
|
589
|
+
});
|
|
301
590
|
} catch (importDependenciesErr) {
|
|
302
591
|
myStatus.warnings += 1;
|
|
303
592
|
printMessage(`\nWarning importing dependencies for ${entityId}`, 'warn');
|
|
@@ -308,11 +597,20 @@ export async function importSaml2Providers(importData) {
|
|
|
308
597
|
metaData = convertTextArrayToBase64Url(importData.saml.metadata[entityId64]);
|
|
309
598
|
}
|
|
310
599
|
try {
|
|
311
|
-
await createProvider(
|
|
600
|
+
await createProvider({
|
|
601
|
+
location,
|
|
602
|
+
providerData,
|
|
603
|
+
metaData,
|
|
604
|
+
state
|
|
605
|
+
});
|
|
312
606
|
myStatus.successes += 1;
|
|
313
607
|
} catch (createProviderErr) {
|
|
314
608
|
try {
|
|
315
|
-
await updateProvider(
|
|
609
|
+
await updateProvider({
|
|
610
|
+
location,
|
|
611
|
+
providerData,
|
|
612
|
+
state
|
|
613
|
+
});
|
|
316
614
|
myStatus.successes += 1;
|
|
317
615
|
} catch (updateProviderError) {
|
|
318
616
|
var _updateProviderError$;
|
|
@@ -330,62 +628,4 @@ export async function importSaml2Providers(importData) {
|
|
|
330
628
|
debugMessage(`Saml2Ops.importSaml2Providers: end`);
|
|
331
629
|
return myStatus;
|
|
332
630
|
}
|
|
333
|
-
|
|
334
|
-
// Contributions using legacy APIs. Need to investigate if those will be deprecated in the future
|
|
335
|
-
|
|
336
|
-
/**
|
|
337
|
-
* Deletes entity provider
|
|
338
|
-
* @param {string} entityId The entity id for the entity to be deleted
|
|
339
|
-
* @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.
|
|
340
|
-
*/
|
|
341
|
-
export async function deleteRawSaml2Provider(entityId) {
|
|
342
|
-
debugMessage(`Saml2Ops.deleteSaml2Provider: start [entityId=${entityId}]`);
|
|
343
|
-
const response = await deleteRawProvider(entityId);
|
|
344
|
-
debugMessage(`Saml2Ops.deleteSaml2Provider: end [entityId=${entityId}]`);
|
|
345
|
-
return response;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
/**
|
|
349
|
-
* Deletes all entity providers.
|
|
350
|
-
*/
|
|
351
|
-
export async function deleteRawSaml2Providers() {
|
|
352
|
-
const applicationList = (await getRawSaml2Providers()).result;
|
|
353
|
-
const deleteApplicationPromises = [];
|
|
354
|
-
applicationList.forEach(item => {
|
|
355
|
-
printMessage(`Deleting Application ${item._id}`, 'error');
|
|
356
|
-
deleteApplicationPromises.push(deleteRawProvider(item._id));
|
|
357
|
-
});
|
|
358
|
-
const deleteApplicationResult = await Promise.all(deleteApplicationPromises);
|
|
359
|
-
if (deleteApplicationResult.length == applicationList.length) {
|
|
360
|
-
printMessage('SAML Entity cleanup done', 'info');
|
|
361
|
-
}
|
|
362
|
-
return deleteApplicationResult;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
/**
|
|
366
|
-
* Retrieves all entity providers using the legacy federation enpoints.
|
|
367
|
-
* @returns {Promise} a promise that resolves to an object containing an array of providers
|
|
368
|
-
*/
|
|
369
|
-
export async function getRawSaml2Providers() {
|
|
370
|
-
return _getRawProviders();
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
/**
|
|
374
|
-
* Retrieves all entity providers using the legacy federation enpoints.
|
|
375
|
-
* @param {string} entityId The entity provider id
|
|
376
|
-
* @returns {Promise} a promise that resolves to an object containing an array of providers
|
|
377
|
-
*/
|
|
378
|
-
export async function getRawSaml2Provider(entityId) {
|
|
379
|
-
return _getRawProvider(entityId);
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
/**
|
|
383
|
-
* Stores a new SAML2 entity provider
|
|
384
|
-
* @param {string} entityId The entity provider id
|
|
385
|
-
* @param {string} entityData The actual data containing the entity provider configuration
|
|
386
|
-
* @returns {Promise} Promise that resolves to a provider object
|
|
387
|
-
*/
|
|
388
|
-
export async function putRawSaml2Provider(entityId, entityData) {
|
|
389
|
-
return _putRawProvider(entityId, entityData);
|
|
390
|
-
}
|
|
391
631
|
//# sourceMappingURL=Saml2Ops.js.map
|