@rockcarver/frodo-lib 0.16.2-8 → 0.17.0
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 +221 -1
- package/cjs/api/AgentApi.js +14 -61
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AgentApi.test.js.map +1 -1
- package/cjs/api/ApiTypes.js +0 -5
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/AuthenticateApi.js +9 -20
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.test.js.map +1 -0
- package/cjs/api/BaseApi.js +82 -124
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/CirclesOfTrustApi.js +8 -32
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js +9 -34
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/LogApi.js +8 -31
- package/cjs/api/LogApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js +34 -31
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/NodeApi.js +10 -41
- package/cjs/api/NodeApi.js.map +1 -1
- package/cjs/api/NodeApi.test.js.map +1 -1
- package/cjs/api/OAuth2ClientApi.js +7 -26
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js +28 -34
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.test.js.map +1 -0
- package/cjs/api/OAuth2ProviderApi.js +5 -15
- package/cjs/api/OAuth2ProviderApi.js.map +1 -1
- package/cjs/api/RealmApi.js +8 -34
- package/cjs/api/RealmApi.js.map +1 -1
- package/cjs/api/Saml2Api.js +32 -118
- package/cjs/api/Saml2Api.js.map +1 -1
- package/cjs/api/ScriptApi.js +8 -30
- package/cjs/api/ScriptApi.js.map +1 -1
- package/cjs/api/SecretsApi.js +14 -64
- package/cjs/api/SecretsApi.js.map +1 -1
- package/cjs/api/SecretsApi.test.js.map +1 -1
- package/cjs/api/ServerInfoApi.js +6 -21
- package/cjs/api/ServerInfoApi.js.map +1 -1
- package/cjs/api/ServiceApi.js +49 -47
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/SocialIdentityProvidersApi.js +9 -36
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
- package/cjs/api/StartupApi.js +5 -24
- package/cjs/api/StartupApi.js.map +1 -1
- package/cjs/api/StartupApi.test.js.map +1 -1
- package/cjs/api/TreeApi.js +8 -30
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/VariablesApi.js +9 -37
- package/cjs/api/VariablesApi.js.map +1 -1
- package/cjs/api/VariablesApi.test.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js +47 -57
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/ApiUtils.test.js.map +1 -1
- package/cjs/api/utils/Base64.js +6 -15
- package/cjs/api/utils/Base64.js.map +1 -1
- package/cjs/ext/axios-curlirize/curlirize.js +2 -9
- package/cjs/ext/axios-curlirize/curlirize.js.map +1 -1
- package/cjs/ext/axios-curlirize/lib/CurlHelper.js +7 -22
- package/cjs/ext/axios-curlirize/lib/CurlHelper.js.map +1 -1
- package/cjs/index.js +30 -89
- package/cjs/index.js.map +1 -1
- package/cjs/ops/AdminOps.js +27 -165
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +3 -160
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +265 -226
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +13 -91
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +220 -136
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +35 -379
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
- package/cjs/ops/IdmOps.js +52 -426
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdmOps.test.js.map +1 -1
- package/cjs/ops/IdpOps.js +11 -94
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/IdpOps.test.js.map +1 -1
- package/cjs/ops/JoseOps.js +81 -0
- package/cjs/ops/JoseOps.js.map +1 -0
- package/cjs/ops/JoseOps.test.js.map +1 -0
- package/cjs/ops/JourneyOps.js +140 -371
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/LogOps.js +14 -47
- package/cjs/ops/LogOps.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js +4 -12
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +9 -67
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +10 -40
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OpsTypes.js +0 -5
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +6 -25
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/RealmOps.js +0 -19
- package/cjs/ops/RealmOps.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +258 -802
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +28 -73
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/SecretsOps.js +2 -58
- package/cjs/ops/SecretsOps.js.map +1 -1
- package/cjs/ops/ServiceAccountOps.js +61 -0
- package/cjs/ops/ServiceAccountOps.js.map +1 -0
- package/cjs/ops/ServiceAccountOps.test.js.map +1 -0
- package/cjs/ops/ServiceOps.js +55 -101
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/StartupOps.js +2 -23
- package/cjs/ops/StartupOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +230 -436
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/ThemeOps.test.js.map +1 -0
- package/cjs/ops/VariablesOps.js +0 -38
- package/cjs/ops/VariablesOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +29 -62
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +13 -47
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/DataProtection.test.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +36 -74
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +27 -43
- 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 +0 -13
- package/cjs/ops/utils/ValidationUtils.js.map +1 -1
- package/cjs/ops/utils/ValidationUtils.test.js.map +1 -1
- package/cjs/ops/utils/Version.js +2 -12
- package/cjs/ops/utils/Version.js.map +1 -1
- package/cjs/ops/utils/Version.test.js.map +1 -1
- package/cjs/ops/utils/Wordwrap.js +1 -2
- package/cjs/ops/utils/Wordwrap.js.map +1 -1
- package/cjs/ops/utils/Wordwrap.test.js.map +1 -0
- package/cjs/shared/State.js +239 -0
- package/cjs/shared/State.js.map +1 -0
- package/cjs/shared/State.test.js.map +1 -0
- package/cjs/storage/StaticStorage.js.map +1 -1
- package/cjs/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
- package/cjs/test/mocks/ForgeRockApiMockEngine.js +184 -80
- package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
- package/cjs/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
- package/cjs/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
- package/cjs/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
- package/cjs/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
- package/cjs/test/mocks/Saml2Api/findSaml2Providers/https:sts.windows.net711ffa9c-5972-4713-ace3-688c9732614a_stub.json +18 -0
- package/cjs/test/mocks/Saml2Api/findSaml2Providers/iSPAzure_stub.json +18 -0
- package/cjs/test/mocks/Saml2Api/getProvider/aVNQQXp1cmU.json +1 -2
- package/cjs/test/mocks/Saml2Api/getProvider/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.json +1 -3
- package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/U1BBenVyZQ.json +147 -0
- package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/aHR0cHM6Ly9pZGMuc2NoZXViZXIuaW8vYW0vc2FtbDIvSURQQXp1cmU.json +182 -0
- package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/aHR0cHM6Ly9pZGMuc2NoZXViZXIuaW8vYW0vc2FtbDIvSURQQnJvYWRjb20.json +149 -0
- package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/aHR0cHM6Ly9pZGMuc2NoZXViZXIuaW8vYW0vc2FtbDIvSURQRmVkbGV0.json +141 -0
- package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/aVNQQXp1cmU.json +1 -2
- package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/dm9sa2VyRGV2U1A.json +118 -0
- package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/remote/aHR0cHM6Ly9zYW1sLm15dGVzdHJ1bi5jb20vc3A.json +66 -0
- package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/remote/aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw.json +35 -0
- package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/remote/aWRw.json +83 -0
- package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/remote/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.json +1 -3
- package/cjs/test/mocks/Saml2Api/getProviderMetadata/alpha/SPAzure.xml +74 -0
- package/cjs/test/mocks/Saml2Api/getProviderMetadata/alpha/https%3A%2F%2Fidc.scheuber.io%2Fam%2Fsaml2%2FIDPAzure.xml +78 -0
- package/cjs/test/mocks/Saml2Api/getProviderMetadata/alpha/https%3A%2F%2Fidc.scheuber.io%2Fam%2Fsaml2%2FIDPBroadcom.xml +78 -0
- package/cjs/test/mocks/Saml2Api/getProviderMetadata/alpha/https%3A%2F%2Fidc.scheuber.io%2Fam%2Fsaml2%2FIDPFedlet.xml +78 -0
- package/cjs/test/mocks/Saml2Api/getProviderMetadata/alpha/https%3A%2F%2Fsaml.mytestrun.com%2Fsp.xml +13 -0
- package/cjs/test/mocks/Saml2Api/getProviderMetadata/alpha/{dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.xml → https%3A%2F%2Fsts.windows.net%2F711ffa9c-5972-4713-ace3-688c9732614a%2F.xml} +0 -0
- package/cjs/test/mocks/Saml2Api/getProviderMetadata/alpha/{aVNQQXp1cmU.xml → iSPAzure.xml} +0 -0
- package/cjs/test/mocks/Saml2Api/getProviderMetadata/alpha/urn%3Afederation%3AMicrosoftOnline.xml +84 -0
- package/cjs/test/mocks/Saml2Ops/importSaml2Provider/SPAzure.saml.json +243 -0
- package/cjs/test/mocks/Saml2Ops/importSaml2Provider/iSPAzure.saml.json +242 -0
- package/cjs/test/mocks/Saml2Ops/importSaml2Provider/idc.scheuber.ioamsaml2IDPAzure.saml.json +454 -0
- package/cjs/test/mocks/Saml2Ops/importSaml2Provider/idc.scheuber.ioamsaml2IDPBroadcom.saml.json +586 -0
- package/cjs/test/mocks/Saml2Ops/importSaml2Provider/idc.scheuber.ioamsaml2IDPFedlet.saml.json +241 -0
- package/cjs/test/mocks/Saml2Ops/importSaml2Provider/idp.saml.json +185 -0
- package/cjs/test/mocks/Saml2Ops/importSaml2Provider/saml.mytestrun.comsp.saml.json +101 -0
- package/cjs/test/mocks/Saml2Ops/importSaml2Provider/sts.windows.net711ffa9c-5972-4713-ace3-688c9732614a.saml.json +113 -0
- package/cjs/test/mocks/Saml2Ops/importSaml2Provider/urn:federation:MicrosoftOnline.saml.json +199 -0
- package/cjs/test/mocks/Saml2Ops/importSaml2Provider/volkerDevSP.saml.json +212 -0
- package/cjs/test/mocks/Saml2Ops/importSaml2Providers/allAlphaProviders.saml.json +2414 -0
- package/cjs/test/mocks/ScriptApi/getScript/5b29c5b7-b161-4a42-a41f-d6c85316b951.json +13 -0
- package/cjs/test/mocks/ScriptApi/getScript/85523e71-2d77-4577-b078-6f9674cc54e2.json +13 -0
- package/cjs/test/mocks/ScriptApi/getScript/90c4eca5-05f0-42f5-b9bf-88b693eabbbd.json +13 -0
- package/cjs/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
- package/cjs/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
- package/cjs/utils/AutoSetupPolly.js +79 -0
- package/cjs/utils/AutoSetupPolly.js.map +1 -0
- package/cjs/utils/SetupJest.js +6 -0
- package/cjs/utils/SetupJest.js.map +1 -0
- package/cjs/{test/mocks → utils}/snapshotResolve.js +10 -12
- package/cjs/utils/snapshotResolve.js.map +1 -0
- package/esm/api/AgentApi.mjs +19 -21
- package/esm/api/AgentApi.test.mjs +6 -15
- package/esm/api/ApiTypes.mjs +0 -5
- package/esm/api/AuthenticateApi.mjs +7 -10
- package/esm/api/AuthenticateApi.test.mjs +39 -0
- package/esm/api/BaseApi.mjs +96 -81
- package/esm/api/CirclesOfTrustApi.mjs +9 -12
- package/esm/api/IdmConfigApi.mjs +11 -12
- package/esm/api/LogApi.mjs +6 -10
- package/esm/api/ManagedObjectApi.mjs +23 -8
- package/esm/api/NodeApi.mjs +13 -15
- package/esm/api/NodeApi.test.mjs +13 -17
- package/esm/api/OAuth2ClientApi.mjs +7 -9
- package/esm/api/OAuth2OIDCApi.mjs +15 -9
- package/esm/api/OAuth2OIDCApi.test.mjs +53 -0
- package/esm/api/OAuth2ProviderApi.mjs +3 -5
- package/esm/api/RealmApi.mjs +10 -13
- package/esm/api/Saml2Api.mjs +31 -61
- package/esm/api/ScriptApi.mjs +9 -11
- package/esm/api/SecretsApi.mjs +21 -24
- package/esm/api/SecretsApi.test.mjs +9 -31
- package/esm/api/ServerInfoApi.mjs +5 -9
- package/esm/api/ServiceApi.mjs +53 -26
- package/esm/api/SocialIdentityProvidersApi.mjs +11 -13
- package/esm/api/StartupApi.mjs +5 -10
- package/esm/api/StartupApi.test.mjs +4 -7
- package/esm/api/TreeApi.mjs +9 -11
- package/esm/api/TreeApi.test.mjs +24 -61
- package/esm/api/VariablesApi.mjs +11 -13
- package/esm/api/VariablesApi.test.mjs +80 -222
- package/esm/api/utils/ApiUtils.mjs +45 -48
- package/esm/api/utils/ApiUtils.test.mjs +33 -32
- package/esm/api/utils/Base64.mjs +6 -9
- package/esm/ext/axios-curlirize/curlirize.mjs +2 -7
- package/esm/ext/axios-curlirize/lib/CurlHelper.mjs +7 -20
- package/esm/index.mjs +23 -13
- package/esm/ops/AdminOps.mjs +33 -119
- package/esm/ops/AgentOps.mjs +38 -81
- package/esm/ops/AgentOps.test.mjs +5 -45
- package/esm/ops/AuthenticateOps.mjs +241 -175
- package/esm/ops/AuthenticateOps.test.mjs +7 -9
- package/esm/ops/CirclesOfTrustOps.mjs +24 -61
- package/esm/ops/ConnectionProfileOps.mjs +192 -82
- package/esm/ops/ConnectionProfileOps.test.mjs +19 -19
- package/esm/ops/EmailTemplateOps.mjs +18 -276
- package/esm/ops/EmailTemplateOps.test.mjs +19 -44
- package/esm/ops/IdmOps.mjs +30 -327
- package/esm/ops/IdmOps.test.mjs +47 -54
- package/esm/ops/IdpOps.mjs +21 -59
- package/esm/ops/IdpOps.test.mjs +5 -5
- package/esm/ops/JoseOps.mjs +41 -0
- package/esm/ops/JoseOps.test.mjs +137 -0
- package/esm/ops/JourneyOps.mjs +147 -290
- package/esm/ops/JourneyOps.test.mjs +30 -28
- package/esm/ops/LogOps.mjs +15 -25
- package/esm/ops/ManagedObjectOps.mjs +6 -6
- package/esm/ops/NodeOps.mjs +9 -47
- package/esm/ops/OAuth2ClientOps.mjs +13 -19
- package/esm/ops/OpsTypes.mjs +1 -3
- package/esm/ops/OrganizationOps.mjs +7 -14
- package/esm/ops/RealmOps.mjs +4 -7
- package/esm/ops/Saml2Ops.mjs +199 -587
- package/esm/ops/Saml2Ops.test.mjs +303 -84
- package/esm/ops/ScriptOps.mjs +31 -47
- package/esm/ops/SecretsOps.mjs +15 -31
- package/esm/ops/ServiceAccountOps.mjs +41 -0
- package/esm/ops/ServiceAccountOps.test.mjs +51 -0
- package/esm/ops/ServiceOps.mjs +66 -83
- package/esm/ops/StartupOps.mjs +4 -13
- package/esm/ops/ThemeOps.mjs +189 -298
- package/esm/{api/ThemeApi.test.mjs → ops/ThemeOps.test.mjs} +91 -96
- package/esm/ops/VariablesOps.mjs +9 -18
- package/esm/ops/utils/Console.mjs +28 -46
- package/esm/ops/utils/DataProtection.mjs +15 -28
- package/esm/ops/utils/DataProtection.test.mjs +8 -8
- package/esm/ops/utils/ExportImportUtils.mjs +34 -43
- package/esm/ops/utils/ExportImportUtils.test.mjs +20 -18
- package/esm/ops/utils/OpsUtils.mjs +27 -21
- package/esm/ops/utils/OpsUtils.test.mjs +155 -27
- package/esm/ops/utils/ValidationUtils.mjs +0 -9
- package/esm/ops/utils/Version.mjs +2 -3
- package/esm/ops/utils/Version.test.mjs +0 -2
- package/esm/ops/utils/Wordwrap.mjs +1 -1
- package/esm/ops/utils/Wordwrap.test.mjs +19 -0
- package/esm/shared/State.mjs +164 -0
- package/esm/shared/State.test.mjs +249 -0
- package/esm/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
- package/esm/test/mocks/ForgeRockApiMockEngine.mjs +169 -33
- package/esm/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
- package/esm/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
- package/esm/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
- package/esm/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
- package/esm/test/mocks/Saml2Api/findSaml2Providers/https:sts.windows.net711ffa9c-5972-4713-ace3-688c9732614a_stub.json +18 -0
- package/esm/test/mocks/Saml2Api/findSaml2Providers/iSPAzure_stub.json +18 -0
- package/esm/test/mocks/Saml2Api/getProvider/aVNQQXp1cmU.json +1 -2
- package/esm/test/mocks/Saml2Api/getProvider/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.json +1 -3
- package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/U1BBenVyZQ.json +147 -0
- package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/aHR0cHM6Ly9pZGMuc2NoZXViZXIuaW8vYW0vc2FtbDIvSURQQXp1cmU.json +182 -0
- package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/aHR0cHM6Ly9pZGMuc2NoZXViZXIuaW8vYW0vc2FtbDIvSURQQnJvYWRjb20.json +149 -0
- package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/aHR0cHM6Ly9pZGMuc2NoZXViZXIuaW8vYW0vc2FtbDIvSURQRmVkbGV0.json +141 -0
- package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/aVNQQXp1cmU.json +1 -2
- package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/dm9sa2VyRGV2U1A.json +118 -0
- package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/remote/aHR0cHM6Ly9zYW1sLm15dGVzdHJ1bi5jb20vc3A.json +66 -0
- package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/remote/aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw.json +35 -0
- package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/remote/aWRw.json +83 -0
- package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/remote/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.json +1 -3
- package/esm/test/mocks/Saml2Api/getProviderMetadata/alpha/SPAzure.xml +74 -0
- package/esm/test/mocks/Saml2Api/getProviderMetadata/alpha/https%3A%2F%2Fidc.scheuber.io%2Fam%2Fsaml2%2FIDPAzure.xml +78 -0
- package/esm/test/mocks/Saml2Api/getProviderMetadata/alpha/https%3A%2F%2Fidc.scheuber.io%2Fam%2Fsaml2%2FIDPBroadcom.xml +78 -0
- package/esm/test/mocks/Saml2Api/getProviderMetadata/alpha/https%3A%2F%2Fidc.scheuber.io%2Fam%2Fsaml2%2FIDPFedlet.xml +78 -0
- package/esm/test/mocks/Saml2Api/getProviderMetadata/alpha/https%3A%2F%2Fsaml.mytestrun.com%2Fsp.xml +13 -0
- package/esm/test/mocks/Saml2Api/getProviderMetadata/alpha/{dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.xml → https%3A%2F%2Fsts.windows.net%2F711ffa9c-5972-4713-ace3-688c9732614a%2F.xml} +0 -0
- package/esm/test/mocks/Saml2Api/getProviderMetadata/alpha/{aVNQQXp1cmU.xml → iSPAzure.xml} +0 -0
- package/esm/test/mocks/Saml2Api/getProviderMetadata/alpha/urn%3Afederation%3AMicrosoftOnline.xml +84 -0
- package/esm/test/mocks/Saml2Ops/importSaml2Provider/SPAzure.saml.json +243 -0
- package/esm/test/mocks/Saml2Ops/importSaml2Provider/iSPAzure.saml.json +242 -0
- package/esm/test/mocks/Saml2Ops/importSaml2Provider/idc.scheuber.ioamsaml2IDPAzure.saml.json +454 -0
- package/esm/test/mocks/Saml2Ops/importSaml2Provider/idc.scheuber.ioamsaml2IDPBroadcom.saml.json +586 -0
- package/esm/test/mocks/Saml2Ops/importSaml2Provider/idc.scheuber.ioamsaml2IDPFedlet.saml.json +241 -0
- package/esm/test/mocks/Saml2Ops/importSaml2Provider/idp.saml.json +185 -0
- package/esm/test/mocks/Saml2Ops/importSaml2Provider/saml.mytestrun.comsp.saml.json +101 -0
- package/esm/test/mocks/Saml2Ops/importSaml2Provider/sts.windows.net711ffa9c-5972-4713-ace3-688c9732614a.saml.json +113 -0
- package/esm/test/mocks/Saml2Ops/importSaml2Provider/urn:federation:MicrosoftOnline.saml.json +199 -0
- package/esm/test/mocks/Saml2Ops/importSaml2Provider/volkerDevSP.saml.json +212 -0
- package/esm/test/mocks/Saml2Ops/importSaml2Providers/allAlphaProviders.saml.json +2414 -0
- package/esm/test/mocks/ScriptApi/getScript/5b29c5b7-b161-4a42-a41f-d6c85316b951.json +13 -0
- package/esm/test/mocks/ScriptApi/getScript/85523e71-2d77-4577-b078-6f9674cc54e2.json +13 -0
- package/esm/test/mocks/ScriptApi/getScript/90c4eca5-05f0-42f5-b9bf-88b693eabbbd.json +13 -0
- package/esm/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
- package/esm/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
- package/esm/utils/AutoSetupPolly.mjs +72 -0
- package/esm/utils/SetupJest.mjs +3 -0
- package/esm/{test/mocks → utils}/snapshotResolve.mjs +10 -12
- package/package.json +38 -27
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/ApiTypes.d.ts +19 -15
- package/types/api/ApiTypes.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 +2 -0
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
- package/types/api/IdmConfigApi.d.ts.map +1 -1
- package/types/api/LogApi.d.ts.map +1 -1
- package/types/api/ManagedObjectApi.d.ts +9 -1
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/api/NodeApi.d.ts.map +1 -1
- package/types/api/OAuth2ClientApi.d.ts.map +1 -1
- package/types/api/OAuth2OIDCApi.d.ts +4 -2
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
- package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
- package/types/api/RealmApi.d.ts.map +1 -1
- package/types/api/Saml2Api.d.ts +7 -13
- package/types/api/Saml2Api.d.ts.map +1 -1
- package/types/api/ScriptApi.d.ts.map +1 -1
- package/types/api/SecretsApi.d.ts.map +1 -1
- package/types/api/ServerInfoApi.d.ts.map +1 -1
- package/types/api/ServiceApi.d.ts +14 -7
- package/types/api/ServiceApi.d.ts.map +1 -1
- package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
- package/types/api/StartupApi.d.ts.map +1 -1
- package/types/api/TreeApi.d.ts.map +1 -1
- package/types/api/VariablesApi.d.ts.map +1 -1
- package/types/api/utils/ApiUtils.d.ts +1 -0
- package/types/api/utils/ApiUtils.d.ts.map +1 -1
- package/types/api/utils/Base64.d.ts +1 -0
- package/types/api/utils/Base64.d.ts.map +1 -1
- package/types/index.d.ts +11 -5
- package/types/index.d.ts.map +1 -1
- package/types/ops/AgentOps.d.ts +1 -1
- package/types/ops/AgentOps.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts +10 -2
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts +49 -21
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts +14 -33
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdmOps.d.ts +29 -37
- package/types/ops/IdmOps.d.ts.map +1 -1
- package/types/ops/JoseOps.d.ts +33 -0
- package/types/ops/JoseOps.d.ts.map +1 -0
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/LogOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OpsTypes.d.ts +17 -1
- package/types/ops/OpsTypes.d.ts.map +1 -1
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/Saml2Ops.d.ts +52 -55
- package/types/ops/Saml2Ops.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceAccountOps.d.ts +20 -0
- package/types/ops/ServiceAccountOps.d.ts.map +1 -0
- package/types/ops/ServiceOps.d.ts +18 -10
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts +35 -50
- package/types/ops/ThemeOps.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.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts +5 -2
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/OpsUtils.d.ts +6 -0
- package/types/ops/utils/OpsUtils.d.ts.map +1 -1
- package/types/ops/utils/Wordwrap.d.ts.map +1 -1
- package/types/shared/State.d.ts +223 -0
- package/types/shared/State.d.ts.map +1 -0
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts +21 -1
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
- package/types/utils/AutoSetupPolly.d.ts +1 -0
- package/types/utils/AutoSetupPolly.d.ts.map +1 -0
- package/types/utils/SetupJest.d.ts +1 -0
- package/types/utils/SetupJest.d.ts.map +1 -0
- package/types/utils/snapshotResolve.d.ts +1 -0
- package/types/utils/snapshotResolve.d.ts.map +1 -0
- package/cjs/api/EmailTemplateApi.js +0 -73
- package/cjs/api/EmailTemplateApi.js.map +0 -1
- package/cjs/api/ThemeApi.js +0 -367
- package/cjs/api/ThemeApi.js.map +0 -1
- package/cjs/api/ThemeApi.test.js.map +0 -1
- package/cjs/storage/SessionStorage.js +0 -91
- package/cjs/storage/SessionStorage.js.map +0 -1
- package/cjs/test/mocks/snapshotResolve.js.map +0 -1
- package/esm/api/EmailTemplateApi.mjs +0 -34
- package/esm/api/ThemeApi.mjs +0 -271
- package/esm/storage/SessionStorage.mjs +0 -79
- package/types/api/EmailTemplateApi.d.ts +0 -22
- package/types/api/EmailTemplateApi.d.ts.map +0 -1
- package/types/api/ThemeApi.d.ts +0 -56
- package/types/api/ThemeApi.d.ts.map +0 -1
- package/types/storage/SessionStorage.d.ts +0 -71
- package/types/storage/SessionStorage.d.ts.map +0 -1
- package/types/test/mocks/snapshotResolve.d.ts +0 -1
- package/types/test/mocks/snapshotResolve.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticateOps.js","names":["adminClientPassword","redirectUrlTemplate","idmAdminScope","adminClientId","getCookieName","getServerInfo","data","cookieName","error","printMessage","checkAndHandle2FA","payload","element","callbacks","type","input","value","includes","need2fa","output","code","readlineSync","question","determineDefaultRealm","deploymentType","storage","session","getRealm","globalConfig","DEFAULT_REALM_KEY","setRealm","DEPLOYMENT_TYPE_REALM_MAP","determineDeploymentType","fidcClientId","forgeopsClientId","verifier","encodeBase64Url","randomBytes","challenge","createHash","update","digest","challengeMethod","redirectURL","url","resolve","getTenant","config","maxRedirects","bodyFormData","getCookieValue","CLASSIC_DEPLOYMENT_TYPE_KEY","authorize","e","response","status","headers","location","indexOf","CLOUD_DEPLOYMENT_TYPE_KEY","ex","FORGEOPS_DEPLOYMENT_TYPE_KEY","getSemanticVersion","versionInfo","versionString","version","rx","match","Error","authenticate","setCookieName","getUsername","getPassword","response1","step","skip2FA","response2","setCookieValue","getDeploymentType","setDeploymentType","getServerVersionInfo","setAmVersion","message","getAuthCode","codeChallenge","codeChallengeMethod","redirectLocationURL","request","res","responseUrl","queryObject","parse","query","getAccessToken","authCode","auth","username","password","accessToken","setBearerToken","access_token","getTokens","save","credsFromParameters","conn","getConnectionProfile","setTenant","tenant","setUsername","setPassword","setAuthenticationService","authenticationService","setAuthenticationHeaderOverrides","authenticationHeaderOverrides","getBearerToken","saveConnectionProfile"],"sources":["ops/AuthenticateOps.ts"],"sourcesContent":["import url from 'url';\nimport { createHash, randomBytes } from 'crypto';\nimport readlineSync from 'readline-sync';\nimport { encodeBase64Url } from '../api/utils/Base64';\nimport storage from '../storage/SessionStorage';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { printMessage } from './utils/Console';\nimport { getServerInfo, getServerVersionInfo } from '../api/ServerInfoApi';\nimport { step } from '../api/AuthenticateApi';\nimport { accessToken, authorize } from '../api/OAuth2OIDCApi';\nimport {\n getConnectionProfile,\n saveConnectionProfile,\n} from './ConnectionProfileOps';\n\nconst adminClientPassword = 'doesnotmatter';\nconst redirectUrlTemplate = '/platform/appAuthHelperRedirect.html';\n\nconst idmAdminScope = 'fr:idm:* openid';\n\nlet adminClientId = 'idmAdminClient';\n\n/**\n * Helper function to get cookie name\n * @returns {String} cookie name\n */\nasync function getCookieName() {\n try {\n return (await getServerInfo()).data.cookieName;\n } catch (error) {\n printMessage(`Error getting cookie name: ${error}`, 'error');\n return null;\n }\n}\n\n/**\n * Helper function to determine if this is a setup mfa prompt in the ID Cloud tenant admin login journey\n * @param {Object} payload response from the previous authentication journey step\n * @returns {Object} an object indicating if 2fa is required and the original payload\n */\nfunction checkAndHandle2FA(payload) {\n // let skippable = false;\n if ('callbacks' in payload) {\n for (const element of payload.callbacks) {\n if (element.type === 'HiddenValueCallback') {\n if (element.input[0].value.includes('skip')) {\n // skippable = true;\n element.input[0].value = 'Skip';\n return {\n need2fa: true,\n payload,\n };\n }\n }\n if (element.type === 'NameCallback') {\n if (element.output[0].value.includes('code')) {\n // skippable = false;\n printMessage('2FA is enabled and required for this user...');\n const code = readlineSync.question(`${element.output[0].value}: `);\n element.input[0].value = code;\n return {\n need2fa: true,\n payload,\n };\n }\n }\n }\n // console.info(\"NO2FA\");\n return {\n need2fa: false,\n payload,\n };\n }\n // console.info(\"NO2FA\");\n return {\n need2fa: false,\n payload,\n };\n}\n\n/**\n * Helper function to set the default realm by deployment type\n * @param {String} deploymentType deployment type\n */\nfunction determineDefaultRealm(deploymentType) {\n if (storage.session.getRealm() === globalConfig.DEFAULT_REALM_KEY) {\n storage.session.setRealm(\n globalConfig.DEPLOYMENT_TYPE_REALM_MAP[deploymentType]\n );\n }\n}\n\n/**\n * Helper function to determine the deployment type\n * @returns {String} deployment type\n */\nasync function determineDeploymentType() {\n const fidcClientId = 'idmAdminClient';\n const forgeopsClientId = 'idm-admin-ui';\n\n const verifier = encodeBase64Url(randomBytes(32));\n const challenge = encodeBase64Url(\n createHash('sha256').update(verifier).digest()\n );\n const challengeMethod = 'S256';\n const redirectURL = url.resolve(\n storage.session.getTenant(),\n redirectUrlTemplate\n );\n\n const config = {\n maxRedirects: 0,\n };\n let bodyFormData = `redirect_uri=${redirectURL}&scope=${idmAdminScope}&response_type=code&client_id=${fidcClientId}&csrf=${storage.session.getCookieValue()}&decision=allow&code_challenge=${challenge}&code_challenge_method=${challengeMethod}`;\n\n let deploymentType = globalConfig.CLASSIC_DEPLOYMENT_TYPE_KEY;\n try {\n await authorize(bodyFormData, config);\n } catch (e) {\n if (\n e.response?.status === 302 &&\n e.response.headers?.location?.indexOf('code=') > -1\n ) {\n printMessage('ForgeRock Identity Cloud ', 'info', false);\n deploymentType = globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY;\n } else {\n try {\n bodyFormData = `redirect_uri=${redirectURL}&scope=${idmAdminScope}&response_type=code&client_id=${forgeopsClientId}&csrf=${storage.session.getCookieValue()}&decision=allow&code_challenge=${challenge}&code_challenge_method=${challengeMethod}`;\n await authorize(bodyFormData, config);\n } catch (ex) {\n if (\n ex.response?.status === 302 &&\n ex.response.headers?.location?.indexOf('code=') > -1\n ) {\n adminClientId = forgeopsClientId;\n printMessage('ForgeOps deployment ', 'info', false);\n deploymentType = globalConfig.FORGEOPS_DEPLOYMENT_TYPE_KEY;\n } else {\n printMessage('Classic deployment ', 'info', false);\n }\n }\n }\n printMessage('detected.');\n }\n determineDefaultRealm(deploymentType);\n return deploymentType;\n}\n\n/**\n * Helper function to extract the semantic version string from a version info object\n * @param {Object} versionInfo version info object\n * @returns {String} semantic version\n */\nasync function getSemanticVersion(versionInfo) {\n if ('version' in versionInfo) {\n const versionString = versionInfo.version;\n const rx = /([\\d]\\.[\\d]\\.[\\d](\\.[\\d])*)/g;\n const version = versionString.match(rx);\n return version[0];\n }\n throw new Error('Cannot extract semantic version from version info object.');\n}\n\n/**\n * Helper function to authenticate and obtain and store session cookie\n * @returns {String} empty string or null\n */\nasync function authenticate() {\n storage.session.setCookieName(await getCookieName());\n try {\n const config = {\n headers: {\n 'X-OpenAM-Username': storage.session.getUsername(),\n 'X-OpenAM-Password': storage.session.getPassword(),\n },\n };\n const response1 = (await step({}, config)).data;\n const skip2FA = checkAndHandle2FA(response1);\n let response2 = {};\n if (skip2FA.need2fa) {\n response2 = (await step(skip2FA.payload)).data;\n } else {\n response2 = skip2FA.payload;\n }\n if ('tokenId' in response2) {\n storage.session.setCookieValue(response2['tokenId']);\n if (!storage.session.getDeploymentType()) {\n storage.session.setDeploymentType(await determineDeploymentType());\n } else {\n determineDefaultRealm(storage.session.getDeploymentType());\n }\n const versionInfo = (await getServerVersionInfo()).data;\n\n // https://github.com/rockcarver/frodo-cli/issues/109\n // printMessage(`Connected to ${versionInfo.fullVersion}`);\n\n // https://github.com/rockcarver/frodo-cli/issues/102\n printMessage(\n `Connected to [${storage.session.getTenant()}], [${\n !storage.session.getRealm() ? 'alpha' : storage.session.getRealm()\n }] realm, as [${storage.session.getUsername()}]`\n );\n const version = await getSemanticVersion(versionInfo);\n storage.session.setAmVersion(version);\n return '';\n }\n printMessage(`error authenticating`, 'error');\n printMessage('+++ likely cause, bad credentials!!! +++', 'error');\n return null;\n } catch (e) {\n if (e.response?.status === 401) {\n printMessage(`error authenticating - ${e.message}`, 'error');\n printMessage('+++ likely cause, bad credentials +++', 'error');\n }\n if (e.message === 'self signed certificate') {\n printMessage(`error authenticating - ${e.message}`, 'error');\n printMessage('+++ use -k, --insecure option to allow +++', 'error');\n } else {\n printMessage(`error authenticating - ${e.message}`, 'error');\n printMessage(e.response?.data, 'error');\n }\n return null;\n }\n}\n\n/**\n * Helper function to obtain an oauth2 authorization code\n * @param {String} redirectURL oauth2 redirect uri\n * @param {String} codeChallenge PKCE code challenge\n * @param {String} codeChallengeMethod PKCE code challenge method\n * @returns {String} oauth2 authorization code or null\n */\nasync function getAuthCode(redirectURL, codeChallenge, codeChallengeMethod) {\n try {\n const bodyFormData = `redirect_uri=${redirectURL}&scope=${idmAdminScope}&response_type=code&client_id=${adminClientId}&csrf=${storage.session.getCookieValue()}&decision=allow&code_challenge=${codeChallenge}&code_challenge_method=${codeChallengeMethod}`;\n const config = {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n const response = await authorize(bodyFormData, config);\n if (response.status < 200 || response.status > 399) {\n printMessage('error getting auth code', 'error');\n printMessage(\n 'likely cause: mismatched parameters with OAuth client config',\n 'error'\n );\n return null;\n }\n const redirectLocationURL = response.request.res.responseUrl;\n const queryObject = url.parse(redirectLocationURL, true).query;\n if ('code' in queryObject) {\n return queryObject.code;\n }\n printMessage('auth code not found', 'error');\n return null;\n } catch (error) {\n printMessage(`error getting auth code - ${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n return null;\n }\n}\n\n/**\n * Helper function to obtain oauth2 access token\n * @returns {String} empty string or null\n */\nasync function getAccessToken() {\n try {\n const verifier = encodeBase64Url(randomBytes(32));\n const challenge = encodeBase64Url(\n createHash('sha256').update(verifier).digest()\n );\n const challengeMethod = 'S256';\n const redirectURL = url.resolve(\n storage.session.getTenant(),\n redirectUrlTemplate\n );\n const authCode = await getAuthCode(redirectURL, challenge, challengeMethod);\n if (authCode == null) {\n printMessage('error getting auth code', 'error');\n return null;\n }\n let response = null;\n if (\n storage.session.getDeploymentType() ===\n globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY\n ) {\n const config = {\n auth: {\n username: adminClientId,\n password: adminClientPassword,\n },\n };\n const bodyFormData = `redirect_uri=${redirectURL}&grant_type=authorization_code&code=${authCode}&code_verifier=${verifier}`;\n response = await accessToken(bodyFormData, config);\n } else {\n const bodyFormData = `client_id=${adminClientId}&redirect_uri=${redirectURL}&grant_type=authorization_code&code=${authCode}&code_verifier=${verifier}`;\n response = await accessToken(bodyFormData);\n }\n if (response.status < 200 || response.status > 399) {\n printMessage(`access token call returned ${response.status}`, 'error');\n return null;\n }\n if ('access_token' in response.data) {\n storage.session.setBearerToken(response.data.access_token);\n return '';\n }\n printMessage(\"can't get access token\", 'error');\n return null;\n } catch (e) {\n printMessage('error getting access token - ', 'error');\n return null;\n }\n}\n\n/**\n * Get tokens\n * @param {boolean} save true to save a connection profile upon successful authentication, false otherwise\n * @returns {boolean} true if tokens were successfully obtained, false otherwise\n */\nexport async function getTokens(save = false) {\n let credsFromParameters = true;\n // if username/password on cli are empty, try to read from connections.json\n if (\n storage.session.getUsername() == null &&\n storage.session.getPassword() == null\n ) {\n credsFromParameters = false;\n const conn = await getConnectionProfile();\n if (conn) {\n storage.session.setTenant(conn.tenant);\n storage.session.setUsername(conn.username);\n storage.session.setPassword(conn.password);\n storage.session.setAuthenticationService(conn.authenticationService);\n storage.session.setAuthenticationHeaderOverrides(\n conn.authenticationHeaderOverrides\n );\n } else {\n return false;\n }\n }\n await authenticate();\n if (\n storage.session.getCookieValue() &&\n !storage.session.getBearerToken() &&\n (storage.session.getDeploymentType() ===\n globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY ||\n storage.session.getDeploymentType() ===\n globalConfig.FORGEOPS_DEPLOYMENT_TYPE_KEY)\n ) {\n await getAccessToken();\n }\n if (save && storage.session.getCookieValue() && credsFromParameters) {\n // valid cookie, which means valid username/password combo. Save it in connections.json\n saveConnectionProfile();\n return true;\n }\n if (!storage.session.getCookieValue()) {\n return false;\n }\n return true;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AuthenticateOps.js","names":["adminClientPassword","redirectUrlTemplate","idmAdminScopes","serviceAccountScopes","adminClientId","determineCookieName","data","getServerInfo","debugMessage","cookieName","error","printMessage","stack","checkAndHandle2FA","payload","element","callbacks","type","input","value","includes","need2fa","output","code","readlineSync","question","determineDefaultRealm","deploymentType","state","getRealm","globalConfig","DEFAULT_REALM_KEY","setRealm","DEPLOYMENT_TYPE_REALM_MAP","determineDeploymentType","cookieValue","getCookieValue","getUseBearerTokenForAmApis","CLOUD_DEPLOYMENT_TYPE_KEY","fidcClientId","forgeopsClientId","verifier","encodeBase64Url","randomBytes","challenge","createHash","update","digest","challengeMethod","redirectURL","url","resolve","getHost","config","maxRedirects","headers","getCookieName","bodyFormData","CLASSIC_DEPLOYMENT_TYPE_KEY","authorize","e","response","status","location","indexOf","verboseMessage","ex","FORGEOPS_DEPLOYMENT_TYPE_KEY","getSemanticVersion","versionInfo","versionString","version","rx","match","Error","authenticate","username","password","response1","step","skip2FA","response2","getAuthCode","codeChallenge","codeChallengeMethod","undefined","redirectLocationURL","queryObject","parse","query","message","getAccessTokenForUser","authCode","getDeploymentType","auth","accessToken","access_token","createPayload","serviceAccountId","u","parseUrl","aud","origin","port","protocol","pathname","exp","Math","floor","Date","getTime","jti","v4","iss","sub","getAccessTokenForServiceAccount","jwk","jwt","createSignedJwtToken","determineDeploymentTypeAndDefaultRealmAndVersion","setDeploymentType","getServerVersionInfo","fullVersion","setAmVersion","getLoggedInSubject","subjectString","getUsername","name","getManagedObject","getServiceAccountId","getTokens","getPassword","getServiceAccountJwk","conn","getConnectionProfile","setHost","tenant","setUsername","setPassword","setAuthenticationService","authenticationService","setAuthenticationHeaderOverrides","authenticationHeaderOverrides","setServiceAccountId","svcacctId","setServiceAccountJwk","svcacctJwk","setCookieName","token","setBearerToken","setUseBearerTokenForAmApis","saErr","error_description","setCookieValue","getBearerToken"],"sources":["ops/AuthenticateOps.ts"],"sourcesContent":["import url from 'url';\nimport { createHash, randomBytes } from 'crypto';\nimport readlineSync from 'readline-sync';\nimport { encodeBase64Url } from '../api/utils/Base64';\nimport * as state from '../shared/State';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { debugMessage, printMessage, verboseMessage } from './utils/Console';\nimport { getServerInfo, getServerVersionInfo } from '../api/ServerInfoApi';\nimport { step } from '../api/AuthenticateApi';\nimport { accessToken, authorize } from '../api/OAuth2OIDCApi';\nimport { getConnectionProfile } from './ConnectionProfileOps';\nimport { v4 } from 'uuid';\nimport { parseUrl } from '../api/utils/ApiUtils';\nimport { JwkRsa, createSignedJwtToken } from './JoseOps';\nimport { getManagedObject } from '../api/ManagedObjectApi';\n\nconst adminClientPassword = 'doesnotmatter';\nconst redirectUrlTemplate = '/platform/appAuthHelperRedirect.html';\n\nconst idmAdminScopes = 'fr:idm:* openid';\nconst serviceAccountScopes = 'fr:am:* fr:idm:* fr:idc:esv:*';\n\nlet adminClientId = 'idmAdminClient';\n\n/**\n * Helper function to get cookie name\n * @returns {String} cookie name\n */\nasync function determineCookieName() {\n try {\n const { data } = await getServerInfo();\n debugMessage(\n `AuthenticateOps.getCookieName: cookieName=${data.cookieName}`\n );\n return data.cookieName;\n } catch (error) {\n printMessage(`Error getting cookie name: ${error}`, 'error');\n debugMessage(error.stack);\n return null;\n }\n}\n\n/**\n * Helper function to determine if this is a setup mfa prompt in the ID Cloud tenant admin login journey\n * @param {Object} payload response from the previous authentication journey step\n * @returns {Object} an object indicating if 2fa is required and the original payload\n */\nfunction checkAndHandle2FA(payload) {\n // let skippable = false;\n if ('callbacks' in payload) {\n for (const element of payload.callbacks) {\n if (element.type === 'HiddenValueCallback') {\n if (element.input[0].value.includes('skip')) {\n // skippable = true;\n element.input[0].value = 'Skip';\n return {\n need2fa: true,\n payload,\n };\n }\n }\n if (element.type === 'NameCallback') {\n if (element.output[0].value.includes('code')) {\n // skippable = false;\n printMessage('2FA is enabled and required for this user...');\n const code = readlineSync.question(`${element.output[0].value}: `);\n element.input[0].value = code;\n return {\n need2fa: true,\n payload,\n };\n }\n }\n }\n // console.info(\"NO2FA\");\n return {\n need2fa: false,\n payload,\n };\n }\n // console.info(\"NO2FA\");\n return {\n need2fa: false,\n payload,\n };\n}\n\n/**\n * Helper function to set the default realm by deployment type\n * @param {string} deploymentType deployment type\n */\nfunction determineDefaultRealm(deploymentType: string) {\n if (state.getRealm() === globalConfig.DEFAULT_REALM_KEY) {\n state.setRealm(globalConfig.DEPLOYMENT_TYPE_REALM_MAP[deploymentType]);\n }\n}\n\n/**\n * Helper function to determine the deployment type\n * @returns {Promise<string>} deployment type\n */\nasync function determineDeploymentType(): Promise<string> {\n const cookieValue = state.getCookieValue();\n // https://bugster.forgerock.org/jira/browse/FRAAS-13018\n // There is a chance that this will be blocked due to security concerns and thus is probably best not to keep active\n // if (!cookieValue && getUseBearerTokenForAmApis()) {\n // const token = await getTokenInfo();\n // cookieValue = token.sessionToken;\n // setCookieValue(cookieValue);\n // }\n\n // if we are using a service account, we know it's cloud\n if (state.getUseBearerTokenForAmApis())\n return globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY;\n\n const fidcClientId = 'idmAdminClient';\n const forgeopsClientId = 'idm-admin-ui';\n\n const verifier = encodeBase64Url(randomBytes(32));\n const challenge = encodeBase64Url(\n createHash('sha256').update(verifier).digest()\n );\n const challengeMethod = 'S256';\n const redirectURL = url.resolve(state.getHost(), redirectUrlTemplate);\n\n const config = {\n maxRedirects: 0,\n headers: {\n [state.getCookieName()]: state.getCookieValue(),\n },\n };\n let bodyFormData = `redirect_uri=${redirectURL}&scope=${idmAdminScopes}&response_type=code&client_id=${fidcClientId}&csrf=${cookieValue}&decision=allow&code_challenge=${challenge}&code_challenge_method=${challengeMethod}`;\n\n let deploymentType = globalConfig.CLASSIC_DEPLOYMENT_TYPE_KEY;\n try {\n await authorize(bodyFormData, config);\n } catch (e) {\n // debugMessage(e.response);\n if (\n e.response?.status === 302 &&\n e.response.headers?.location?.indexOf('code=') > -1\n ) {\n verboseMessage(`ForgeRock Identity Cloud`['brightCyan'] + ` detected.`);\n deploymentType = globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY;\n } else {\n try {\n bodyFormData = `redirect_uri=${redirectURL}&scope=${idmAdminScopes}&response_type=code&client_id=${forgeopsClientId}&csrf=${state.getCookieValue()}&decision=allow&code_challenge=${challenge}&code_challenge_method=${challengeMethod}`;\n await authorize(bodyFormData, config);\n } catch (ex) {\n if (\n ex.response?.status === 302 &&\n ex.response.headers?.location?.indexOf('code=') > -1\n ) {\n adminClientId = forgeopsClientId;\n verboseMessage(`ForgeOps deployment`['brightCyan'] + ` detected.`);\n deploymentType = globalConfig.FORGEOPS_DEPLOYMENT_TYPE_KEY;\n } else {\n verboseMessage(`Classic deployment`['brightCyan'] + ` detected.`);\n }\n }\n }\n }\n return deploymentType;\n}\n\n/**\n * Helper function to extract the semantic version string from a version info object\n * @param {Object} versionInfo version info object\n * @returns {String} semantic version\n */\nasync function getSemanticVersion(versionInfo) {\n if ('version' in versionInfo) {\n const versionString = versionInfo.version;\n const rx = /([\\d]\\.[\\d]\\.[\\d](\\.[\\d])*)/g;\n const version = versionString.match(rx);\n return version[0];\n }\n throw new Error('Cannot extract semantic version from version info object.');\n}\n\n/**\n * Helper function to authenticate and obtain and store session cookie\n * @returns {string} Session token or null\n */\nasync function authenticate(\n username: string,\n password: string\n): Promise<string> {\n const config = {\n headers: {\n 'X-OpenAM-Username': username,\n 'X-OpenAM-Password': password,\n },\n };\n const response1 = await step({}, config);\n const skip2FA = checkAndHandle2FA(response1);\n let response2 = {};\n if (skip2FA.need2fa) {\n response2 = await step(skip2FA.payload);\n } else {\n response2 = skip2FA.payload;\n }\n if ('tokenId' in response2) {\n return response2['tokenId'] as string;\n }\n return null;\n}\n\n/**\n * Helper function to obtain an oauth2 authorization code\n * @param {string} redirectURL oauth2 redirect uri\n * @param {string} codeChallenge PKCE code challenge\n * @param {string} codeChallengeMethod PKCE code challenge method\n * @returns {string} oauth2 authorization code or null\n */\nasync function getAuthCode(redirectURL, codeChallenge, codeChallengeMethod) {\n try {\n const bodyFormData = `redirect_uri=${redirectURL}&scope=${idmAdminScopes}&response_type=code&client_id=${adminClientId}&csrf=${state.getCookieValue()}&decision=allow&code_challenge=${codeChallenge}&code_challenge_method=${codeChallengeMethod}`;\n const config = {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n maxRedirects: 0,\n };\n let response = undefined;\n try {\n response = await authorize(bodyFormData, config);\n } catch (error) {\n response = error.response;\n }\n if (response.status < 200 || response.status > 399) {\n printMessage('error getting auth code', 'error');\n printMessage(\n 'likely cause: mismatched parameters with OAuth client config',\n 'error'\n );\n return null;\n }\n const redirectLocationURL = response.headers?.location;\n const queryObject = url.parse(redirectLocationURL, true).query;\n if ('code' in queryObject) {\n return queryObject.code;\n }\n printMessage('auth code not found', 'error');\n return null;\n } catch (error) {\n printMessage(`error getting auth code - ${error.message}`, 'error');\n printMessage(error.response?.data, 'error');\n debugMessage(error.stack);\n return null;\n }\n}\n\n/**\n * Helper function to obtain oauth2 access token\n * @returns {Promise<string | null>} access token or null\n */\nasync function getAccessTokenForUser(): Promise<string | null> {\n try {\n const verifier = encodeBase64Url(randomBytes(32));\n const challenge = encodeBase64Url(\n createHash('sha256').update(verifier).digest()\n );\n const challengeMethod = 'S256';\n const redirectURL = url.resolve(state.getHost(), redirectUrlTemplate);\n const authCode = await getAuthCode(redirectURL, challenge, challengeMethod);\n if (authCode == null) {\n printMessage('error getting auth code', 'error');\n return null;\n }\n let response = null;\n if (state.getDeploymentType() === globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY) {\n const config = {\n auth: {\n username: adminClientId,\n password: adminClientPassword,\n },\n };\n const bodyFormData = `redirect_uri=${redirectURL}&grant_type=authorization_code&code=${authCode}&code_verifier=${verifier}`;\n response = await accessToken(bodyFormData, config);\n } else {\n const bodyFormData = `client_id=${adminClientId}&redirect_uri=${redirectURL}&grant_type=authorization_code&code=${authCode}&code_verifier=${verifier}`;\n response = await accessToken(bodyFormData);\n }\n if ('access_token' in response.data) {\n return response.data.access_token;\n }\n printMessage('No access token in response.', 'error');\n } catch (error) {\n debugMessage(`Error getting access token for user: ${error}`);\n debugMessage(error.response?.data);\n }\n return null;\n}\n\nfunction createPayload(serviceAccountId: string) {\n const u = parseUrl(state.getHost());\n const aud = `${u.origin}:${\n u.port ? u.port : u.protocol === 'https' ? '443' : '80'\n }${u.pathname}/oauth2/access_token`;\n\n // Cross platform way of setting JWT expiry time 3 minutes in the future, expressed as number of seconds since EPOCH\n const exp = Math.floor(new Date().getTime() / 1000 + 180);\n\n // A unique ID for the JWT which is required when requesting the openid scope\n const jti = v4();\n\n const iss = serviceAccountId;\n const sub = serviceAccountId;\n\n // Create the payload for our bearer token\n const payload = { iss, sub, aud, exp, jti };\n\n return payload;\n}\n\n/**\n * Get access token for service account\n * @param {string} serviceAccountId UUID of service account\n * @param {JwkRsa} jwk Java Wek Key\n * @returns {string | null} Access token or null\n */\nexport async function getAccessTokenForServiceAccount(\n serviceAccountId: string,\n jwk: JwkRsa\n): Promise<string | null> {\n debugMessage(`AuthenticateOps.getAccessTokenForServiceAccount: start`);\n const payload = createPayload(serviceAccountId);\n debugMessage(`AuthenticateOps.getAccessTokenForServiceAccount: payload:`);\n debugMessage(payload);\n const jwt = await createSignedJwtToken(payload, jwk);\n debugMessage(`AuthenticateOps.getAccessTokenForServiceAccount: jwt:`);\n debugMessage(jwt);\n const bodyFormData = `assertion=${jwt}&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=${serviceAccountScopes}`;\n const response = await accessToken(bodyFormData);\n if ('access_token' in response.data) {\n debugMessage(`AuthenticateOps.getAccessTokenForServiceAccount: token:`);\n debugMessage(response.data.access_token);\n debugMessage(`AuthenticateOps.getAccessTokenForServiceAccount: end`);\n return response.data.access_token;\n }\n debugMessage(\n `AuthenticateOps.getAccessTokenForServiceAccount: No access token in response.`\n );\n debugMessage(`AuthenticateOps.getAccessTokenForServiceAccount: end`);\n return null;\n}\n\nasync function determineDeploymentTypeAndDefaultRealmAndVersion() {\n debugMessage(\n `AuthenticateOps.determineDeploymentTypeAndDefaultRealmAndVersion: start`\n );\n if (!state.getDeploymentType()) {\n state.setDeploymentType(await determineDeploymentType());\n }\n determineDefaultRealm(state.getDeploymentType());\n\n const versionInfo = (await getServerVersionInfo()).data;\n\n // https://github.com/rockcarver/frodo-cli/issues/109\n debugMessage(`Full version: ${versionInfo.fullVersion}`);\n\n const version = await getSemanticVersion(versionInfo);\n state.setAmVersion(version);\n debugMessage(\n `AuthenticateOps.determineDeploymentTypeAndDefaultRealmAndVersion: end`\n );\n}\n\nasync function getLoggedInSubject(): Promise<string> {\n let subjectString = `user ${state.getUsername()}`;\n if (state.getUseBearerTokenForAmApis()) {\n const name = (\n await getManagedObject('svcacct', state.getServiceAccountId(), ['name'])\n ).data.name;\n subjectString = `service account ${name} [${state.getServiceAccountId()}]`;\n }\n return subjectString;\n}\n\n/**\n * Get tokens\n * @param {boolean} save true to save a connection profile upon successful authentication, false otherwise\n * @returns {Promise<boolean>} true if tokens were successfully obtained, false otherwise\n */\nexport async function getTokens(): Promise<boolean> {\n if (!state.getHost()) {\n printMessage(\n `No host specified and FRODO_HOST env variable not set!`,\n 'error'\n );\n return false;\n }\n try {\n // if username/password on cli are empty, try to read from connections.json\n if (\n state.getUsername() == null &&\n state.getPassword() == null &&\n !state.getServiceAccountId() &&\n !state.getServiceAccountJwk()\n ) {\n const conn = await getConnectionProfile();\n if (conn) {\n state.setHost(conn.tenant);\n state.setUsername(conn.username);\n state.setPassword(conn.password);\n state.setAuthenticationService(conn.authenticationService);\n state.setAuthenticationHeaderOverrides(\n conn.authenticationHeaderOverrides\n );\n state.setServiceAccountId(conn.svcacctId);\n state.setServiceAccountJwk(conn.svcacctJwk);\n } else {\n return false;\n }\n }\n // now that we have the full tenant URL we can lookup the cookie name\n state.setCookieName(await determineCookieName());\n\n // use service account to login?\n if (state.getServiceAccountId() && state.getServiceAccountJwk()) {\n debugMessage(\n `AuthenticateOps.getTokens: Authenticating with service account ${state.getServiceAccountId()}`\n );\n try {\n const token = await getAccessTokenForServiceAccount(\n state.getServiceAccountId(),\n state.getServiceAccountJwk()\n );\n state.setBearerToken(token);\n state.setUseBearerTokenForAmApis(true);\n await determineDeploymentTypeAndDefaultRealmAndVersion();\n } catch (saErr) {\n throw new Error(\n `Service account login error: ${\n saErr.response?.data?.error_description ||\n saErr.response?.data?.message\n }`\n );\n }\n }\n // use user account to login\n else if (state.getUsername() && state.getPassword()) {\n debugMessage(\n `AuthenticateOps.getTokens: Authenticating with user account ${state.getUsername()}`\n );\n const token = await authenticate(\n state.getUsername(),\n state.getPassword()\n );\n if (token) state.setCookieValue(token);\n await determineDeploymentTypeAndDefaultRealmAndVersion();\n if (\n state.getCookieValue() &&\n !state.getBearerToken() &&\n (state.getDeploymentType() === globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY ||\n state.getDeploymentType() ===\n globalConfig.FORGEOPS_DEPLOYMENT_TYPE_KEY)\n ) {\n const accessToken = await getAccessTokenForUser();\n if (accessToken) state.setBearerToken(accessToken);\n }\n }\n // incomplete or no credentials\n else {\n printMessage(`Incomplete or no credentials!`, 'error');\n return false;\n }\n if (\n state.getCookieValue() ||\n (state.getUseBearerTokenForAmApis() && state.getBearerToken())\n ) {\n // https://github.com/rockcarver/frodo-cli/issues/102\n printMessage(\n `Connected to ${state.getHost()} [${\n state.getRealm() ? state.getRealm() : 'root'\n }] as ${await getLoggedInSubject()}`,\n 'info'\n );\n return true;\n }\n } catch (error) {\n // regular error\n printMessage(error.message, 'error');\n // axios error am api\n printMessage(error.response?.data?.message, 'error');\n // axios error am oauth2 api\n printMessage(error.response?.data?.error_description, 'error');\n // axios error data\n debugMessage(error.response?.data);\n // stack trace\n debugMessage(error.stack || new Error().stack);\n }\n return false;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticateOps.test.js","names":["describe","test","state","
|
|
1
|
+
{"version":3,"file":"AuthenticateOps.test.js","names":["describe","test","state","setHost","process","env","FRODO_HOST","setRealm","FRODO_USER","FRODO_PASSWORD","setUsername","setPassword","Authenticate","getTokens","expect","getCookieName","toBeTruthy","getCookieValue","getBearerToken"],"sources":["ops/AuthenticateOps.test.ts"],"sourcesContent":["import { Authenticate, state } from '../index';\n\ndescribe('AuthenticationOps', () => {\n test('getTokens() 1: ', async () => {\n state.setHost(process.env.FRODO_HOST || 'frodo-dev');\n state.setRealm('alpha');\n if (\n process.env.FRODO_HOST &&\n process.env.FRODO_USER &&\n process.env.FRODO_PASSWORD\n ) {\n state.setUsername(process.env.FRODO_USER);\n state.setPassword(process.env.FRODO_PASSWORD);\n }\n await Authenticate.getTokens();\n expect(state.getCookieName()).toBeTruthy();\n expect(state.getCookieValue()).toBeTruthy();\n expect(state.getBearerToken()).toBeTruthy();\n });\n});\n"],"mappings":";;AAAA;AAA+C;AAAA;AAE/CA,QAAQ,CAAC,mBAAmB,EAAE,MAAM;EAClCC,IAAI,CAAC,iBAAiB,iCAAE,aAAY;IAClCC,YAAK,CAACC,OAAO,CAACC,OAAO,CAACC,GAAG,CAACC,UAAU,IAAI,WAAW,CAAC;IACpDJ,YAAK,CAACK,QAAQ,CAAC,OAAO,CAAC;IACvB,IACEH,OAAO,CAACC,GAAG,CAACC,UAAU,IACtBF,OAAO,CAACC,GAAG,CAACG,UAAU,IACtBJ,OAAO,CAACC,GAAG,CAACI,cAAc,EAC1B;MACAP,YAAK,CAACQ,WAAW,CAACN,OAAO,CAACC,GAAG,CAACG,UAAU,CAAC;MACzCN,YAAK,CAACS,WAAW,CAACP,OAAO,CAACC,GAAG,CAACI,cAAc,CAAC;IAC/C;IACA,MAAMG,mBAAY,CAACC,SAAS,EAAE;IAC9BC,MAAM,CAACZ,YAAK,CAACa,aAAa,EAAE,CAAC,CAACC,UAAU,EAAE;IAC1CF,MAAM,CAACZ,YAAK,CAACe,cAAc,EAAE,CAAC,CAACD,UAAU,EAAE;IAC3CF,MAAM,CAACZ,YAAK,CAACgB,cAAc,EAAE,CAAC,CAACF,UAAU,EAAE;EAC7C,CAAC,EAAC;AACJ,CAAC,CAAC"}
|
|
@@ -11,23 +11,14 @@ exports.importCirclesOfTrustFromFile = importCirclesOfTrustFromFile;
|
|
|
11
11
|
exports.importCirclesOfTrustFromFiles = importCirclesOfTrustFromFiles;
|
|
12
12
|
exports.importFirstCircleOfTrust = importFirstCircleOfTrust;
|
|
13
13
|
exports.listCirclesOfTrust = listCirclesOfTrust;
|
|
14
|
-
|
|
15
14
|
var _fs = _interopRequireDefault(require("fs"));
|
|
16
|
-
|
|
17
15
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
18
|
-
|
|
19
16
|
var _Console = require("./utils/Console");
|
|
20
|
-
|
|
21
17
|
var _CirclesOfTrustApi = require("../api/CirclesOfTrustApi");
|
|
22
|
-
|
|
23
18
|
var _ExportImportUtils = require("./utils/ExportImportUtils");
|
|
24
|
-
|
|
25
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
|
-
|
|
27
20
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
28
|
-
|
|
29
21
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
30
|
-
|
|
31
22
|
// use a function vs a template variable to avoid problems in loops
|
|
32
23
|
function getFileDataTemplate() {
|
|
33
24
|
return {
|
|
@@ -41,12 +32,11 @@ function getFileDataTemplate() {
|
|
|
41
32
|
}
|
|
42
33
|
};
|
|
43
34
|
}
|
|
35
|
+
|
|
44
36
|
/**
|
|
45
37
|
* List entity providers
|
|
46
38
|
* @param {String} long Long list format with details
|
|
47
39
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
40
|
function listCirclesOfTrust() {
|
|
51
41
|
return _listCirclesOfTrust.apply(this, arguments);
|
|
52
42
|
}
|
|
@@ -55,22 +45,17 @@ function listCirclesOfTrust() {
|
|
|
55
45
|
* @param {Object} cotData Object representing a SAML circle of trust
|
|
56
46
|
* @param {Object} fileData File data object to add dependencies to
|
|
57
47
|
*/
|
|
58
|
-
|
|
59
|
-
|
|
60
48
|
function _listCirclesOfTrust() {
|
|
61
49
|
_listCirclesOfTrust = _asyncToGenerator(function* () {
|
|
62
50
|
var long = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
63
51
|
var cotList = [];
|
|
64
|
-
|
|
65
52
|
try {
|
|
66
53
|
cotList = (yield (0, _CirclesOfTrustApi.getCirclesOfTrust)()).result;
|
|
67
54
|
} catch (error) {
|
|
68
55
|
(0, _Console.printMessage)("getCirclesOfTrust ERROR: ".concat(error), 'error');
|
|
69
56
|
(0, _Console.printMessage)(error, 'data');
|
|
70
57
|
}
|
|
71
|
-
|
|
72
58
|
cotList.sort((a, b) => a._id.localeCompare(b._id));
|
|
73
|
-
|
|
74
59
|
if (!long) {
|
|
75
60
|
cotList.forEach(cot => {
|
|
76
61
|
(0, _Console.printMessage)("".concat(cot._id), 'data');
|
|
@@ -85,7 +70,6 @@ function _listCirclesOfTrust() {
|
|
|
85
70
|
});
|
|
86
71
|
return _listCirclesOfTrust.apply(this, arguments);
|
|
87
72
|
}
|
|
88
|
-
|
|
89
73
|
function exportDependencies(_x, _x2) {
|
|
90
74
|
return _exportDependencies.apply(this, arguments);
|
|
91
75
|
}
|
|
@@ -94,8 +78,6 @@ function exportDependencies(_x, _x2) {
|
|
|
94
78
|
* @param {String} cotId circle of trust id/name
|
|
95
79
|
* @param {String} file Optional filename
|
|
96
80
|
*/
|
|
97
|
-
|
|
98
|
-
|
|
99
81
|
function _exportDependencies() {
|
|
100
82
|
_exportDependencies = _asyncToGenerator(function* (cotData, fileData) {
|
|
101
83
|
// TODO: Export dependencies
|
|
@@ -103,7 +85,6 @@ function _exportDependencies() {
|
|
|
103
85
|
});
|
|
104
86
|
return _exportDependencies.apply(this, arguments);
|
|
105
87
|
}
|
|
106
|
-
|
|
107
88
|
function exportCircleOfTrust(_x3) {
|
|
108
89
|
return _exportCircleOfTrust.apply(this, arguments);
|
|
109
90
|
}
|
|
@@ -111,22 +92,16 @@ function exportCircleOfTrust(_x3) {
|
|
|
111
92
|
* Export all circles of trust to one file
|
|
112
93
|
* @param {String} file Optional filename
|
|
113
94
|
*/
|
|
114
|
-
|
|
115
|
-
|
|
116
95
|
function _exportCircleOfTrust() {
|
|
117
96
|
_exportCircleOfTrust = _asyncToGenerator(function* (cotId) {
|
|
118
97
|
var file = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
119
98
|
var fileName = file;
|
|
120
|
-
|
|
121
99
|
if (!fileName) {
|
|
122
100
|
fileName = (0, _ExportImportUtils.getTypedFilename)(cotId, 'cot.saml');
|
|
123
101
|
}
|
|
124
|
-
|
|
125
102
|
(0, _Console.createProgressIndicator)(1, "Exporting circle of trust ".concat(cotId));
|
|
126
|
-
|
|
127
103
|
try {
|
|
128
104
|
var cotData = _lodash.default.cloneDeep((0, _CirclesOfTrustApi.getCircleOfTrust)(cotId));
|
|
129
|
-
|
|
130
105
|
delete cotData['_rev'];
|
|
131
106
|
(0, _Console.updateProgressIndicator)("Exporting ".concat(cotId));
|
|
132
107
|
var fileData = getFileDataTemplate();
|
|
@@ -141,39 +116,31 @@ function _exportCircleOfTrust() {
|
|
|
141
116
|
});
|
|
142
117
|
return _exportCircleOfTrust.apply(this, arguments);
|
|
143
118
|
}
|
|
144
|
-
|
|
145
119
|
function exportCirclesOfTrustToFile() {
|
|
146
120
|
return _exportCirclesOfTrustToFile.apply(this, arguments);
|
|
147
121
|
}
|
|
148
122
|
/**
|
|
149
123
|
* Export all circles of trust to individual files
|
|
150
124
|
*/
|
|
151
|
-
|
|
152
|
-
|
|
153
125
|
function _exportCirclesOfTrustToFile() {
|
|
154
126
|
_exportCirclesOfTrustToFile = _asyncToGenerator(function* () {
|
|
155
127
|
var file = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
156
128
|
var fileName = file;
|
|
157
|
-
|
|
158
129
|
if (!fileName) {
|
|
159
130
|
fileName = (0, _ExportImportUtils.getTypedFilename)("all".concat((0, _ExportImportUtils.getRealmString)(), "CirclesOfTrust"), 'cot.saml');
|
|
160
131
|
}
|
|
161
|
-
|
|
162
132
|
var fileData = getFileDataTemplate();
|
|
163
133
|
var allCotData = [];
|
|
164
|
-
|
|
165
134
|
try {
|
|
166
135
|
allCotData = _lodash.default.cloneDeep((yield (0, _CirclesOfTrustApi.getCirclesOfTrust)()).result);
|
|
167
136
|
(0, _Console.createProgressIndicator)(allCotData.length, 'Exporting circles of trust');
|
|
168
|
-
|
|
169
137
|
for (var cotData of allCotData) {
|
|
170
138
|
delete cotData._rev;
|
|
171
|
-
(0, _Console.updateProgressIndicator)("Exporting circle of trust ".concat(cotData._id));
|
|
172
|
-
|
|
139
|
+
(0, _Console.updateProgressIndicator)("Exporting circle of trust ".concat(cotData._id));
|
|
140
|
+
// eslint-disable-next-line no-await-in-loop
|
|
173
141
|
yield exportDependencies(cotData, fileData);
|
|
174
142
|
fileData.saml.cot[cotData._id] = cotData;
|
|
175
143
|
}
|
|
176
|
-
|
|
177
144
|
(0, _ExportImportUtils.saveJsonToFile)(fileData, fileName);
|
|
178
145
|
(0, _Console.stopProgressIndicator)("".concat(allCotData.length, " circle(s) of trust exported to ").concat(fileName, "."));
|
|
179
146
|
} catch (error) {
|
|
@@ -183,7 +150,6 @@ function _exportCirclesOfTrustToFile() {
|
|
|
183
150
|
});
|
|
184
151
|
return _exportCirclesOfTrustToFile.apply(this, arguments);
|
|
185
152
|
}
|
|
186
|
-
|
|
187
153
|
function exportCirclesOfTrustToFiles() {
|
|
188
154
|
return _exportCirclesOfTrustToFiles.apply(this, arguments);
|
|
189
155
|
}
|
|
@@ -192,27 +158,22 @@ function exportCirclesOfTrustToFiles() {
|
|
|
192
158
|
* @param {Object} cotData Object representing a SAML circle of trust
|
|
193
159
|
* @param {Object} fileData File data object to read dependencies from
|
|
194
160
|
*/
|
|
195
|
-
|
|
196
|
-
|
|
197
161
|
function _exportCirclesOfTrustToFiles() {
|
|
198
162
|
_exportCirclesOfTrustToFiles = _asyncToGenerator(function* () {
|
|
199
163
|
var allCotData = [];
|
|
200
|
-
|
|
201
164
|
try {
|
|
202
165
|
allCotData = _lodash.default.cloneDeep((yield (0, _CirclesOfTrustApi.getCirclesOfTrust)()).result);
|
|
203
166
|
(0, _Console.createProgressIndicator)(allCotData.length, 'Exporting circles of trust');
|
|
204
|
-
|
|
205
167
|
for (var cotData of allCotData) {
|
|
206
168
|
delete cotData._rev;
|
|
207
169
|
(0, _Console.updateProgressIndicator)("Exporting circle of trust ".concat(cotData._id));
|
|
208
170
|
var fileName = (0, _ExportImportUtils.getTypedFilename)(cotData._id, 'cot.saml');
|
|
209
|
-
var fileData = getFileDataTemplate();
|
|
210
|
-
|
|
171
|
+
var fileData = getFileDataTemplate();
|
|
172
|
+
// eslint-disable-next-line no-await-in-loop
|
|
211
173
|
yield exportDependencies(cotData, fileData);
|
|
212
174
|
fileData.saml.cot[cotData._id] = cotData;
|
|
213
175
|
(0, _ExportImportUtils.saveJsonToFile)(fileData, fileName);
|
|
214
176
|
}
|
|
215
|
-
|
|
216
177
|
(0, _Console.stopProgressIndicator)("".concat(allCotData.length, " providers exported."));
|
|
217
178
|
} catch (error) {
|
|
218
179
|
(0, _Console.printMessage)("getCirclesOfTrust ERROR: ".concat(error), 'error');
|
|
@@ -221,7 +182,6 @@ function _exportCirclesOfTrustToFiles() {
|
|
|
221
182
|
});
|
|
222
183
|
return _exportCirclesOfTrustToFiles.apply(this, arguments);
|
|
223
184
|
}
|
|
224
|
-
|
|
225
185
|
function importDependencies(_x4, _x5) {
|
|
226
186
|
return _importDependencies.apply(this, arguments);
|
|
227
187
|
}
|
|
@@ -230,8 +190,6 @@ function importDependencies(_x4, _x5) {
|
|
|
230
190
|
* @param {String} cotId Circle of trust id/name
|
|
231
191
|
* @param {String} file Import file name
|
|
232
192
|
*/
|
|
233
|
-
|
|
234
|
-
|
|
235
193
|
function _importDependencies() {
|
|
236
194
|
_importDependencies = _asyncToGenerator(function* (cotData, fileData) {
|
|
237
195
|
// TODO: Import dependencies
|
|
@@ -239,7 +197,6 @@ function _importDependencies() {
|
|
|
239
197
|
});
|
|
240
198
|
return _importDependencies.apply(this, arguments);
|
|
241
199
|
}
|
|
242
|
-
|
|
243
200
|
function importCircleOfTrust(_x6, _x7) {
|
|
244
201
|
return _importCircleOfTrust.apply(this, arguments);
|
|
245
202
|
}
|
|
@@ -247,24 +204,18 @@ function importCircleOfTrust(_x6, _x7) {
|
|
|
247
204
|
* Import first SAML circle of trust from file
|
|
248
205
|
* @param {String} file Import file name
|
|
249
206
|
*/
|
|
250
|
-
|
|
251
|
-
|
|
252
207
|
function _importCircleOfTrust() {
|
|
253
208
|
_importCircleOfTrust = _asyncToGenerator(function* (cotId, file) {
|
|
254
209
|
_fs.default.readFile(file, 'utf8', /*#__PURE__*/function () {
|
|
255
210
|
var _ref = _asyncToGenerator(function* (err, data) {
|
|
256
211
|
if (err) throw err;
|
|
257
212
|
var fileData = JSON.parse(data);
|
|
258
|
-
|
|
259
213
|
if ((0, _ExportImportUtils.validateImport)(fileData.meta)) {
|
|
260
214
|
(0, _Console.createProgressIndicator)(1, 'Importing circle of trust...');
|
|
261
|
-
|
|
262
215
|
var cotData = _lodash.default.get(fileData, ['saml', 'cot', cotId]);
|
|
263
|
-
|
|
264
216
|
if (cotData) {
|
|
265
217
|
(0, _Console.updateProgressIndicator)("Importing ".concat(cotId));
|
|
266
218
|
yield importDependencies(cotData, fileData);
|
|
267
|
-
|
|
268
219
|
try {
|
|
269
220
|
yield (0, _CirclesOfTrustApi.createCircleOfTrust)(cotData);
|
|
270
221
|
(0, _Console.stopProgressIndicator)("Successfully imported ".concat(cotId, "."));
|
|
@@ -280,7 +231,6 @@ function _importCircleOfTrust() {
|
|
|
280
231
|
(0, _Console.printMessage)('Import validation failed...', 'error');
|
|
281
232
|
}
|
|
282
233
|
});
|
|
283
|
-
|
|
284
234
|
return function (_x10, _x11) {
|
|
285
235
|
return _ref.apply(this, arguments);
|
|
286
236
|
};
|
|
@@ -288,7 +238,6 @@ function _importCircleOfTrust() {
|
|
|
288
238
|
});
|
|
289
239
|
return _importCircleOfTrust.apply(this, arguments);
|
|
290
240
|
}
|
|
291
|
-
|
|
292
241
|
function importFirstCircleOfTrust(_x8) {
|
|
293
242
|
return _importFirstCircleOfTrust.apply(this, arguments);
|
|
294
243
|
}
|
|
@@ -296,26 +245,20 @@ function importFirstCircleOfTrust(_x8) {
|
|
|
296
245
|
* Import all SAML circles of trust from file
|
|
297
246
|
* @param {String} file Import file name
|
|
298
247
|
*/
|
|
299
|
-
|
|
300
|
-
|
|
301
248
|
function _importFirstCircleOfTrust() {
|
|
302
249
|
_importFirstCircleOfTrust = _asyncToGenerator(function* (file) {
|
|
303
250
|
_fs.default.readFile(file, 'utf8', /*#__PURE__*/function () {
|
|
304
251
|
var _ref2 = _asyncToGenerator(function* (err, data) {
|
|
305
252
|
if (err) throw err;
|
|
306
253
|
var fileData = JSON.parse(data);
|
|
307
|
-
|
|
308
254
|
if ((0, _ExportImportUtils.validateImport)(fileData.meta)) {
|
|
309
255
|
(0, _Console.createProgressIndicator)(1, 'Importing circle of trust...');
|
|
310
|
-
|
|
311
256
|
for (var cotId in fileData.saml.cot) {
|
|
312
257
|
if ({}.hasOwnProperty.call(fileData.saml.cot, cotId)) {
|
|
313
258
|
var cotData = _lodash.default.cloneDeep(fileData.saml.cot[cotId]);
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
259
|
+
(0, _Console.updateProgressIndicator)("Importing ".concat(cotId));
|
|
260
|
+
// eslint-disable-next-line no-await-in-loop
|
|
317
261
|
yield importDependencies(cotData, fileData);
|
|
318
|
-
|
|
319
262
|
try {
|
|
320
263
|
yield (0, _CirclesOfTrustApi.createCircleOfTrust)(cotData);
|
|
321
264
|
(0, _Console.stopProgressIndicator)("Successfully imported ".concat(cotId, "."));
|
|
@@ -324,7 +267,6 @@ function _importFirstCircleOfTrust() {
|
|
|
324
267
|
(0, _Console.printMessage)("Error importing ".concat(cotId), 'error');
|
|
325
268
|
(0, _Console.printMessage)(createCircleOfTrustErr.response.data, 'error');
|
|
326
269
|
}
|
|
327
|
-
|
|
328
270
|
break;
|
|
329
271
|
}
|
|
330
272
|
}
|
|
@@ -332,7 +274,6 @@ function _importFirstCircleOfTrust() {
|
|
|
332
274
|
(0, _Console.printMessage)('Import validation failed...', 'error');
|
|
333
275
|
}
|
|
334
276
|
});
|
|
335
|
-
|
|
336
277
|
return function (_x12, _x13) {
|
|
337
278
|
return _ref2.apply(this, arguments);
|
|
338
279
|
};
|
|
@@ -340,32 +281,25 @@ function _importFirstCircleOfTrust() {
|
|
|
340
281
|
});
|
|
341
282
|
return _importFirstCircleOfTrust.apply(this, arguments);
|
|
342
283
|
}
|
|
343
|
-
|
|
344
284
|
function importCirclesOfTrustFromFile(_x9) {
|
|
345
285
|
return _importCirclesOfTrustFromFile.apply(this, arguments);
|
|
346
286
|
}
|
|
347
287
|
/**
|
|
348
288
|
* Import all SAML circles of trust from all *.cot.saml.json files in the current directory
|
|
349
289
|
*/
|
|
350
|
-
|
|
351
|
-
|
|
352
290
|
function _importCirclesOfTrustFromFile() {
|
|
353
291
|
_importCirclesOfTrustFromFile = _asyncToGenerator(function* (file) {
|
|
354
292
|
_fs.default.readFile(file, 'utf8', /*#__PURE__*/function () {
|
|
355
293
|
var _ref3 = _asyncToGenerator(function* (err, data) {
|
|
356
294
|
if (err) throw err;
|
|
357
295
|
var fileData = JSON.parse(data);
|
|
358
|
-
|
|
359
296
|
if ((0, _ExportImportUtils.validateImport)(fileData.meta)) {
|
|
360
297
|
(0, _Console.createProgressIndicator)(Object.keys(fileData.saml.cot).length, 'Importing circles of trust...');
|
|
361
|
-
|
|
362
298
|
for (var cotId in fileData.saml.cot) {
|
|
363
299
|
if ({}.hasOwnProperty.call(fileData.saml.cot, cotId)) {
|
|
364
|
-
var cotData = _lodash.default.cloneDeep(fileData.saml.cot[cotId]);
|
|
365
|
-
|
|
366
|
-
|
|
300
|
+
var cotData = _lodash.default.cloneDeep(fileData.saml.cot[cotId]);
|
|
301
|
+
// eslint-disable-next-line no-await-in-loop
|
|
367
302
|
yield importDependencies(cotData, fileData);
|
|
368
|
-
|
|
369
303
|
try {
|
|
370
304
|
// eslint-disable-next-line no-await-in-loop
|
|
371
305
|
yield (0, _CirclesOfTrustApi.createCircleOfTrust)(cotData);
|
|
@@ -376,13 +310,11 @@ function _importCirclesOfTrustFromFile() {
|
|
|
376
310
|
}
|
|
377
311
|
}
|
|
378
312
|
}
|
|
379
|
-
|
|
380
313
|
(0, _Console.stopProgressIndicator)("Circles of trust imported.");
|
|
381
314
|
} else {
|
|
382
315
|
(0, _Console.printMessage)('Import validation failed...', 'error');
|
|
383
316
|
}
|
|
384
317
|
});
|
|
385
|
-
|
|
386
318
|
return function (_x14, _x15) {
|
|
387
319
|
return _ref3.apply(this, arguments);
|
|
388
320
|
};
|
|
@@ -390,39 +322,31 @@ function _importCirclesOfTrustFromFile() {
|
|
|
390
322
|
});
|
|
391
323
|
return _importCirclesOfTrustFromFile.apply(this, arguments);
|
|
392
324
|
}
|
|
393
|
-
|
|
394
325
|
function importCirclesOfTrustFromFiles() {
|
|
395
326
|
return _importCirclesOfTrustFromFiles.apply(this, arguments);
|
|
396
327
|
}
|
|
397
|
-
|
|
398
328
|
function _importCirclesOfTrustFromFiles() {
|
|
399
329
|
_importCirclesOfTrustFromFiles = _asyncToGenerator(function* () {
|
|
400
330
|
var names = _fs.default.readdirSync('.');
|
|
401
|
-
|
|
402
331
|
var jsonFiles = names.filter(name => name.toLowerCase().endsWith('.cot.saml.json'));
|
|
403
332
|
(0, _Console.createProgressIndicator)(jsonFiles.length, 'Importing circles or trust...');
|
|
404
333
|
var total = 0;
|
|
405
334
|
var totalErrors = 0;
|
|
406
|
-
|
|
407
335
|
for (var file of jsonFiles) {
|
|
408
336
|
var data = _fs.default.readFileSync(file, 'utf8');
|
|
409
|
-
|
|
410
337
|
var fileData = JSON.parse(data);
|
|
411
|
-
|
|
412
338
|
if ((0, _ExportImportUtils.validateImport)(fileData.meta)) {
|
|
413
339
|
total += _lodash.default.keys(fileData.saml.cot).length;
|
|
414
340
|
var errors = 0;
|
|
415
|
-
|
|
416
341
|
for (var cotId in fileData.saml.cot) {
|
|
417
342
|
if ({}.hasOwnProperty.call(fileData.saml.cot, cotId)) {
|
|
418
|
-
var cotData = _lodash.default.cloneDeep(fileData.saml.cot[cotId]);
|
|
419
|
-
|
|
420
|
-
|
|
343
|
+
var cotData = _lodash.default.cloneDeep(fileData.saml.cot[cotId]);
|
|
344
|
+
// eslint-disable-next-line no-await-in-loop
|
|
421
345
|
yield importDependencies(cotData, fileData);
|
|
422
|
-
|
|
423
346
|
try {
|
|
424
347
|
// eslint-disable-next-line no-await-in-loop
|
|
425
|
-
yield (0, _CirclesOfTrustApi.createCircleOfTrust)(cotData);
|
|
348
|
+
yield (0, _CirclesOfTrustApi.createCircleOfTrust)(cotData);
|
|
349
|
+
// updateProgressIndicator(`Imported ${cotId}`);
|
|
426
350
|
} catch (createCircleOfTrustErr) {
|
|
427
351
|
errors += 1;
|
|
428
352
|
(0, _Console.printMessage)("\nError importing ".concat(cotId), 'error');
|
|
@@ -430,14 +354,12 @@ function _importCirclesOfTrustFromFiles() {
|
|
|
430
354
|
}
|
|
431
355
|
}
|
|
432
356
|
}
|
|
433
|
-
|
|
434
357
|
totalErrors += errors;
|
|
435
358
|
(0, _Console.updateProgressIndicator)("Imported ".concat(_lodash.default.keys(fileData.saml.cot).length - errors, " circle(s) of trust from ").concat(file));
|
|
436
359
|
} else {
|
|
437
360
|
(0, _Console.printMessage)("Validation of ".concat(file, " failed!"), 'error');
|
|
438
361
|
}
|
|
439
362
|
}
|
|
440
|
-
|
|
441
363
|
(0, _Console.stopProgressIndicator)("Imported ".concat(total - totalErrors, " of ").concat(total, " circle(s) of trust from ").concat(jsonFiles.length, " file(s)."));
|
|
442
364
|
});
|
|
443
365
|
return _importCirclesOfTrustFromFiles.apply(this, arguments);
|