@rockcarver/frodo-lib 0.17.1 → 0.17.2
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 +9 -1
- package/cjs/api/AgentApi.js +1 -1
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AgentApi.test.js.map +1 -1
- package/cjs/api/AuthenticateApi.js +17 -12
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.test.js.map +1 -1
- package/cjs/api/NodeApi.test.js.map +1 -1
- package/cjs/api/SecretsApi.test.js.map +1 -1
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/VariablesApi.test.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js +13 -4
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/ApiUtils.test.js.map +1 -1
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +6 -0
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/SecretsOps.js +3 -3
- package/cjs/ops/SecretsOps.js.map +1 -1
- package/cjs/ops/ServiceAccountOps.test.js.map +1 -1
- package/cjs/ops/VariablesOps.js +3 -3
- package/cjs/ops/VariablesOps.js.map +1 -1
- package/cjs/shared/State.js +42 -2
- package/cjs/shared/State.js.map +1 -1
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_mytestrun_com.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{ig_chico.json → FrodoOpsTestGatewayAgent2.json} +0 -2
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_chico.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent3.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{ig_mytestrun_com.json → FrodoOpsTestGatewayAgent4.json} +0 -2
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/api_client.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent5.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/{api_client.json → FrodoOpsTestGatewayAgent6.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent7.json +20 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent8.json +20 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent9.json +30 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent1.json +30 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent2.json +20 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent3.json +20 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/{javaAgent.json → FrodoOpsTestJavaAgent1.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/{tomcatagent.json → FrodoOpsTestJavaAgent2.json} +0 -2
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/tomcatagent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent3.json} +0 -2
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/javaAgent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent4.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent5.json +621 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent6.json +628 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent7.json +628 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent8.json +628 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent9.json +628 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent1.json +621 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent2.json +628 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent3.json +628 -0
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/apacheagent.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent1.json} +0 -2
- package/{esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/webserver.json → cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent2.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/{webserver.json → FrodoOpsTestWebAgent3.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/{apacheagent.json → FrodoOpsTestWebAgent4.json} +0 -2
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent5.json +454 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent6.json +453 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent7.json +453 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent8.json +453 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent9.json +453 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent1.json +454 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent2.json +453 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent3.json +453 -0
- package/cjs/test/mocks/TreeApi/putTree/FrodoTest.json +0 -2
- package/cjs/utils/AutoSetupPolly.js +43 -30
- package/cjs/utils/AutoSetupPolly.js.map +1 -1
- package/esm/api/AgentApi.mjs +1 -1
- package/esm/api/AgentApi.test.mjs +323 -246
- package/esm/api/AuthenticateApi.mjs +16 -12
- package/esm/api/AuthenticateApi.test.mjs +77 -35
- package/esm/api/NodeApi.test.mjs +248 -914
- package/esm/api/SecretsApi.test.mjs +252 -245
- package/esm/api/TreeApi.test.mjs +323 -135
- package/esm/api/VariablesApi.test.mjs +153 -41
- package/esm/api/utils/ApiUtils.mjs +12 -4
- package/esm/api/utils/ApiUtils.test.mjs +80 -79
- package/esm/ops/AgentOps.test.mjs +780 -1210
- package/esm/ops/AuthenticateOps.mjs +6 -0
- package/esm/ops/AuthenticateOps.test.mjs +63 -12
- package/esm/ops/SecretsOps.mjs +3 -3
- package/esm/ops/ServiceAccountOps.test.mjs +5 -0
- package/esm/ops/VariablesOps.mjs +3 -3
- package/esm/shared/State.mjs +42 -2
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent1.json +30 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent2.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent3.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent4.json +30 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent5.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent6.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent7.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent8.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoOpsTestGatewayAgent9.json +30 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent1.json +30 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent2.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/FrodoTestGatewayAgent3.json +20 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent1.json +621 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent2.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent3.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent4.json +621 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent5.json +621 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent6.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent7.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent8.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoOpsTestJavaAgent9.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent1.json +621 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent2.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/FrodoTestJavaAgent3.json +628 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent1.json +454 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent2.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent3.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent4.json +454 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent5.json +454 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent6.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent7.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent8.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoOpsTestWebAgent9.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent1.json +454 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent2.json +453 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/FrodoTestWebAgent3.json +453 -0
- package/esm/test/mocks/TreeApi/putTree/FrodoTest.json +0 -2
- package/esm/utils/AutoSetupPolly.mjs +41 -30
- package/package.json +4 -4
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/AuthenticateApi.d.ts +11 -2
- package/types/api/AuthenticateApi.d.ts.map +1 -1
- package/types/api/utils/ApiUtils.d.ts +7 -1
- package/types/api/utils/ApiUtils.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/SecretsOps.d.ts.map +1 -1
- package/types/ops/VariablesOps.d.ts.map +1 -1
- package/types/shared/State.d.ts.map +1 -1
- package/types/utils/AutoSetupPolly.d.ts +2 -1
- package/types/utils/AutoSetupPolly.d.ts.map +1 -1
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +0 -22
- package/cjs/utils/SetupJest.js +0 -6
- package/cjs/utils/SetupJest.js.map +0 -1
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +0 -22
- package/esm/utils/SetupJest.mjs +0 -3
- package/types/utils/SetupJest.d.ts +0 -1
- package/types/utils/SetupJest.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
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 (\n !state.getRealm() ||\n state.getRealm() === globalConfig.DEFAULT_REALM_KEY\n ) {\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 debugMessage(\n `AuthenticateOps.determineDeploymentTypeAndDefaultRealmAndVersion: realm=${state.getRealm()}, type=${state.getDeploymentType()}`\n );\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
|
+
{"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 (\n !state.getRealm() ||\n state.getRealm() === globalConfig.DEFAULT_REALM_KEY\n ) {\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 debugMessage(`AuthenticateOps.getAccessTokenForUser: start`);\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 debugMessage(`AuthenticateOps.getAccessTokenForUser: end with token`);\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 debugMessage(`AuthenticateOps.getAccessTokenForUser: end without token`);\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 debugMessage(\n `AuthenticateOps.determineDeploymentTypeAndDefaultRealmAndVersion: realm=${state.getRealm()}, type=${state.getDeploymentType()}`\n );\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 debugMessage(`AuthenticateOps.getTokens: start`);\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 debugMessage(`AuthenticateOps.getTokens: end with tokens`);\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 debugMessage(`AuthenticateOps.getTokens: end without tokens`);\n return false;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticateOps.test.js","names":["describe","test","state","setHost","process","env","FRODO_HOST","setRealm","
|
|
1
|
+
{"version":3,"file":"AuthenticateOps.test.js","names":["matchConfig","defaultMatchRequestsBy","body","order","autoSetupPolly","jest","setTimeout","describe","test","expect","Authenticate","getTokens","toBeDefined","state","setHost","process","env","FRODO_HOST","setRealm","FRODO_REALM","setUsername","FRODO_USERNAME","setPassword","FRODO_PASSWORD","result","toBe","getDeploymentType","toEqual","getCookieName","toBeTruthy","getCookieValue","getBearerToken","toMatchSnapshot"],"sources":["ops/AuthenticateOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record_noauth\n * script and override all the connection state variables supplied to the\n * getTokens() function by the test to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=https://openam-volker-dev.forgeblocks.com/am \\\n * FRODO_USERNAME=volker.scheuber@forgerock.com FRODO_PASSWORD='S3cr3!S@uc3' \\\n * npm run test:record_noauth AuthenticateOps\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you musty manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update AuthenticateOps\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test AuthenticateOps\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { jest } from '@jest/globals';\nimport { Authenticate, state } from '../index';\nimport {\n autoSetupPolly,\n defaultMatchRequestsBy,\n} from '../utils/AutoSetupPolly';\n\n// need to modify the default matching rules to allow the mocking to work for an authentication flow.\nconst matchConfig = defaultMatchRequestsBy();\nmatchConfig.body = false; // oauth flows are tricky because of the PKCE challenge, which is different for each request\nmatchConfig.order = true; // since we instruct Polly not to match the body, we need to enable ordering of the requests\n\nautoSetupPolly(matchConfig);\n\n// Increase timeout for this test as pipeline keeps failing with error:\n// Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.\njest.setTimeout(30000);\n\ndescribe('AuthenticateOps', () => {\n describe('getTokens()', () => {\n test('0: Method is implemented', async () => {\n expect(Authenticate.getTokens).toBeDefined();\n });\n\n test('1: Authenticate successfully as user', async () => {\n state.setHost(\n process.env.FRODO_HOST || 'https://openam-frodo-dev.forgeblocks.com/am'\n );\n state.setRealm(process.env.FRODO_REALM || 'alpha');\n state.setUsername(process.env.FRODO_USERNAME || 'mockUser');\n state.setPassword(process.env.FRODO_PASSWORD || 'mockPassword');\n const result = await Authenticate.getTokens();\n expect(result).toBe(true);\n expect(state.getDeploymentType()).toEqual('cloud');\n expect(state.getCookieName()).toBeTruthy();\n expect(state.getCookieValue()).toBeTruthy();\n expect(state.getBearerToken()).toBeTruthy();\n expect(state.getCookieName()).toMatchSnapshot();\n expect(state.getCookieValue()).toMatchSnapshot();\n expect(state.getBearerToken()).toMatchSnapshot();\n });\n });\n});\n"],"mappings":";;AA8BA;AACA;AACA;AAGiC;AAAA;AAEjC;AACA,IAAMA,WAAW,GAAG,IAAAC,sCAAsB,GAAE;AAC5CD,WAAW,CAACE,IAAI,GAAG,KAAK,CAAC,CAAC;AAC1BF,WAAW,CAACG,KAAK,GAAG,IAAI,CAAC,CAAC;;AAE1B,IAAAC,8BAAc,EAACJ,WAAW,CAAC;;AAE3B;AACA;AACAK,aAAI,CAACC,UAAU,CAAC,KAAK,CAAC;AAEtBC,QAAQ,CAAC,iBAAiB,EAAE,MAAM;EAChCA,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC5BC,IAAI,CAAC,0BAA0B,iCAAE,aAAY;MAC3CC,MAAM,CAACC,mBAAY,CAACC,SAAS,CAAC,CAACC,WAAW,EAAE;IAC9C,CAAC,EAAC;IAEFJ,IAAI,CAAC,sCAAsC,iCAAE,aAAY;MACvDK,YAAK,CAACC,OAAO,CACXC,OAAO,CAACC,GAAG,CAACC,UAAU,IAAI,6CAA6C,CACxE;MACDJ,YAAK,CAACK,QAAQ,CAACH,OAAO,CAACC,GAAG,CAACG,WAAW,IAAI,OAAO,CAAC;MAClDN,YAAK,CAACO,WAAW,CAACL,OAAO,CAACC,GAAG,CAACK,cAAc,IAAI,UAAU,CAAC;MAC3DR,YAAK,CAACS,WAAW,CAACP,OAAO,CAACC,GAAG,CAACO,cAAc,IAAI,cAAc,CAAC;MAC/D,IAAMC,MAAM,SAASd,mBAAY,CAACC,SAAS,EAAE;MAC7CF,MAAM,CAACe,MAAM,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;MACzBhB,MAAM,CAACI,YAAK,CAACa,iBAAiB,EAAE,CAAC,CAACC,OAAO,CAAC,OAAO,CAAC;MAClDlB,MAAM,CAACI,YAAK,CAACe,aAAa,EAAE,CAAC,CAACC,UAAU,EAAE;MAC1CpB,MAAM,CAACI,YAAK,CAACiB,cAAc,EAAE,CAAC,CAACD,UAAU,EAAE;MAC3CpB,MAAM,CAACI,YAAK,CAACkB,cAAc,EAAE,CAAC,CAACF,UAAU,EAAE;MAC3CpB,MAAM,CAACI,YAAK,CAACe,aAAa,EAAE,CAAC,CAACI,eAAe,EAAE;MAC/CvB,MAAM,CAACI,YAAK,CAACiB,cAAc,EAAE,CAAC,CAACE,eAAe,EAAE;MAChDvB,MAAM,CAACI,YAAK,CAACkB,cAAc,EAAE,CAAC,CAACC,eAAe,EAAE;IAClD,CAAC,EAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
package/cjs/ops/SecretsOps.js
CHANGED
|
@@ -41,6 +41,7 @@ function _listSecrets() {
|
|
|
41
41
|
var secrets = [];
|
|
42
42
|
try {
|
|
43
43
|
secrets = (yield (0, _SecretsApi.getSecrets)()).result;
|
|
44
|
+
secrets.sort((a, b) => a._id.localeCompare(b._id));
|
|
44
45
|
} catch (error) {
|
|
45
46
|
(0, _Console.printMessage)("".concat(error.message), 'error');
|
|
46
47
|
(0, _Console.printMessage)(error.response.data, 'error');
|
|
@@ -53,7 +54,6 @@ function _listSecrets() {
|
|
|
53
54
|
hAlign: 'right',
|
|
54
55
|
content: 'Loaded\nVersion'['brightCyan']
|
|
55
56
|
}, 'Status'['brightCyan'], 'Description'['brightCyan'], 'Modifier'['brightCyan'], 'Modified'['brightCyan']]);
|
|
56
|
-
secrets.sort((a, b) => a._id.localeCompare(b._id));
|
|
57
57
|
for (var secret of secrets) {
|
|
58
58
|
table.push([secret._id, {
|
|
59
59
|
hAlign: 'right',
|
|
@@ -64,10 +64,10 @@ function _listSecrets() {
|
|
|
64
64
|
}, secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'], (0, _Wordwrap.default)(secret.description, 40), // eslint-disable-next-line no-await-in-loop
|
|
65
65
|
yield (0, _ManagedObjectOps.resolveUserName)('teammember', secret.lastChangedBy), new Date(secret.lastChangeDate).toLocaleString()]);
|
|
66
66
|
}
|
|
67
|
-
(0, _Console.printMessage)(table.toString());
|
|
67
|
+
(0, _Console.printMessage)(table.toString(), 'data');
|
|
68
68
|
} else {
|
|
69
69
|
secrets.forEach(secret => {
|
|
70
|
-
(0, _Console.printMessage)(secret._id);
|
|
70
|
+
(0, _Console.printMessage)(secret._id, 'data');
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
73
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecretsOps.js","names":["listSecrets","long","secrets","getSecrets","result","error","printMessage","message","response","data","table","createTable","hAlign","content","sort","a","b","_id","localeCompare","secret","push","activeVersion","loadedVersion","loaded","wordwrap","description","resolveUserName","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","createSecret","id","value","encoding","useInPlaceholders","createProgressIndicator","undefined","putSecret","stopProgressIndicator","code","setDescriptionOfSecret","secretId","setSecretDescription","deleteSecretCmd","deleteSecret","deleteSecretsCmd","length","updateProgressIndicator","listSecretVersionsCmd","versions","getSecretVersions","statusMap","ENABLED","DISABLED","DESTROYED","version","status","createDate","describeSecret","getSecret","createKeyValueTable","createNewVersionOfSecretCmd","createNewVersionOfSecret","activateVersionOfSecret","setStatusOfVersionOfSecret","VersionOfSecretStatus","deactivateVersionOfSecret","deleteVersionOfSecretCmd","deleteVersionOfSecret"],"sources":["ops/SecretsOps.ts"],"sourcesContent":["import {\n createKeyValueTable,\n createProgressIndicator,\n createTable,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n createNewVersionOfSecret,\n deleteSecret,\n deleteVersionOfSecret,\n getSecret,\n getSecrets,\n getSecretVersions,\n putSecret,\n setSecretDescription,\n setStatusOfVersionOfSecret,\n VersionOfSecretStatus,\n} from '../api/SecretsApi';\nimport wordwrap from './utils/Wordwrap';\nimport { resolveUserName } from './ManagedObjectOps';\n\n/**\n * List secrets\n * @param {boolean} long Long version, all the fields\n */\nexport async function listSecrets(long) {\n let secrets = [];\n try {\n secrets = (await getSecrets()).result;\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n if (long) {\n const table = createTable([\n 'Id'['brightCyan'],\n { hAlign: 'right', content: 'Active\\nVersion'['brightCyan'] },\n { hAlign: 'right', content: 'Loaded\\nVersion'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified'['brightCyan'],\n ]);\n secrets.sort((a, b) => a._id.localeCompare(b._id));\n for (const secret of secrets) {\n table.push([\n secret._id,\n { hAlign: 'right', content: secret.activeVersion },\n { hAlign: 'right', content: secret.loadedVersion },\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(secret.description, 40),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', secret.lastChangedBy),\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString());\n } else {\n secrets.forEach((secret) => {\n printMessage(secret._id);\n });\n }\n}\n\n/**\n * Create secret\n * @param {String} id secret id\n * @param {String} value secret value\n * @param {String} description secret description\n * @param {String} encoding secret encoding\n * @param {boolean} useInPlaceholders use secret in placeholders\n */\nexport async function createSecret(\n id,\n value,\n description,\n encoding,\n useInPlaceholders\n) {\n createProgressIndicator(\n undefined,\n `Creating secret ${id}...`,\n 'indeterminate'\n );\n try {\n await putSecret(id, value, description, encoding, useInPlaceholders);\n stopProgressIndicator(`Created secret ${id}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Set description of secret\n * @param {String} secretId secret id\n * @param {String} description secret description\n */\nexport async function setDescriptionOfSecret(secretId, description) {\n createProgressIndicator(\n undefined,\n `Setting description of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setSecretDescription(secretId, description);\n stopProgressIndicator(`Set description of secret ${secretId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete a secret\n * @param {String} secretId secret id\n */\nexport async function deleteSecretCmd(secretId) {\n createProgressIndicator(\n undefined,\n `Deleting secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await deleteSecret(secretId);\n stopProgressIndicator(`Deleted secret ${secretId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete all secrets\n */\nexport async function deleteSecretsCmd() {\n try {\n const secrets = (await getSecrets()).result;\n createProgressIndicator(secrets.length, `Deleting secrets...`);\n for (const secret of secrets) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await deleteSecret(secret._id);\n updateProgressIndicator(`Deleted secret ${secret._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressIndicator(`Secrets deleted.`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * List all the versions of the secret\n * @param {String} secretId secret id\n */\nexport async function listSecretVersionsCmd(secretId) {\n let versions = [];\n try {\n versions = await getSecretVersions(secretId);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n const table = createTable([\n { hAlign: 'right', content: 'Version'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Loaded'['brightCyan'],\n 'Created'['brightCyan'],\n ]);\n // versions.sort((a, b) => a._id.localeCompare(b._id));\n const statusMap = {\n ENABLED: 'active'['brightGreen'],\n DISABLED: 'inactive'['brightRed'],\n DESTROYED: 'deleted'['brightRed'],\n };\n for (const version of versions) {\n table.push([\n { hAlign: 'right', content: version.version },\n statusMap[version.status],\n version.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n new Date(version.createDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString());\n}\n\n/**\n * Describe a secret\n * @param {String} secretId Secret id\n */\nexport async function describeSecret(secretId) {\n const secret = await getSecret(secretId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], secret._id]);\n table.push(['Active Version'['brightCyan'], secret.activeVersion]);\n table.push(['Loaded Version'['brightCyan'], secret.loadedVersion]);\n table.push([\n 'Status'['brightCyan'],\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(secret.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await resolveUserName('teammember', secret.lastChangedBy),\n ]);\n table.push(['Modifier UUID'['brightCyan'], secret.lastChangedBy]);\n table.push(['Encoding'['brightCyan'], secret.encoding]);\n table.push(['Use In Placeholders'['brightCyan'], secret.useInPlaceholders]);\n printMessage(table.toString());\n printMessage('\\nSecret Versions:');\n await listSecretVersionsCmd(secretId);\n}\n\n/**\n * Create new version of secret\n * @param {String} secretId secret id\n * @param {String} value secret value\n */\nexport async function createNewVersionOfSecretCmd(secretId, value) {\n createProgressIndicator(\n undefined,\n `Creating new version of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n const version = await createNewVersionOfSecret(secretId, value);\n stopProgressIndicator(\n `Created version ${version.version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Activate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function activateVersionOfSecret(secretId, version) {\n createProgressIndicator(\n undefined,\n `Activating version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setStatusOfVersionOfSecret(\n secretId,\n version,\n VersionOfSecretStatus.ENABLED\n );\n stopProgressIndicator(\n `Activated version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Deactivate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deactivateVersionOfSecret(secretId, version) {\n createProgressIndicator(\n undefined,\n `Deactivating version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setStatusOfVersionOfSecret(\n secretId,\n version,\n VersionOfSecretStatus.DISABLED\n );\n stopProgressIndicator(\n `Deactivated version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete version of secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deleteVersionOfSecretCmd(secretId, version) {\n createProgressIndicator(\n undefined,\n `Deleting version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await deleteVersionOfSecret(secretId, version);\n stopProgressIndicator(\n `Deleted version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAQA;AAYA;AACA;AAAqD;AAAA;AAAA;AAErD;AACA;AACA;AACA;AAHA,SAIsBA,WAAW;EAAA;AAAA;AAuCjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;EAAA,iCAvCO,WAA2BC,IAAI,EAAE;IACtC,IAAIC,OAAO,GAAG,EAAE;IAChB,IAAI;MACFA,OAAO,GAAG,OAAO,IAAAC,sBAAU,GAAE,EAAEC,MAAM;IACvC,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,IAAAC,qBAAY,YAAID,KAAK,CAACE,OAAO,GAAI,OAAO,CAAC;MACzC,IAAAD,qBAAY,EAACD,KAAK,CAACG,QAAQ,CAACC,IAAI,EAAE,OAAO,CAAC;IAC5C;IACA,IAAIR,IAAI,EAAE;MACR,IAAMS,KAAK,GAAG,IAAAC,oBAAW,EAAC,CACxB,IAAI,CAAC,YAAY,CAAC,EAClB;QAAEC,MAAM,EAAE,OAAO;QAAEC,OAAO,EAAE,iBAAiB,CAAC,YAAY;MAAE,CAAC,EAC7D;QAAED,MAAM,EAAE,OAAO;QAAEC,OAAO,EAAE,iBAAiB,CAAC,YAAY;MAAE,CAAC,EAC7D,QAAQ,CAAC,YAAY,CAAC,EACtB,aAAa,CAAC,YAAY,CAAC,EAC3B,UAAU,CAAC,YAAY,CAAC,EACxB,UAAU,CAAC,YAAY,CAAC,CACzB,CAAC;MACFX,OAAO,CAACY,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,GAAG,CAACC,aAAa,CAACF,CAAC,CAACC,GAAG,CAAC,CAAC;MAClD,KAAK,IAAME,MAAM,IAAIjB,OAAO,EAAE;QAC5BQ,KAAK,CAACU,IAAI,CAAC,CACTD,MAAM,CAACF,GAAG,EACV;UAAEL,MAAM,EAAE,OAAO;UAAEC,OAAO,EAAEM,MAAM,CAACE;QAAc,CAAC,EAClD;UAAET,MAAM,EAAE,OAAO;UAAEC,OAAO,EAAEM,MAAM,CAACG;QAAc,CAAC,EAClDH,MAAM,CAACI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,EACjE,IAAAC,iBAAQ,EAACL,MAAM,CAACM,WAAW,EAAE,EAAE,CAAC,EAChC;QAAA,MACM,IAAAC,iCAAe,EAAC,YAAY,EAAEP,MAAM,CAACQ,aAAa,CAAC,EACzD,IAAIC,IAAI,CAACT,MAAM,CAACU,cAAc,CAAC,CAACC,cAAc,EAAE,CACjD,CAAC;MACJ;MACA,IAAAxB,qBAAY,EAACI,KAAK,CAACqB,QAAQ,EAAE,CAAC;IAChC,CAAC,MAAM;MACL7B,OAAO,CAAC8B,OAAO,CAAEb,MAAM,IAAK;QAC1B,IAAAb,qBAAY,EAACa,MAAM,CAACF,GAAG,CAAC;MAC1B,CAAC,CAAC;IACJ;EACF,CAAC;EAAA;AAAA;AAAA,SAUqBgB,YAAY;EAAA;AAAA;AAuBlC;AACA;AACA;AACA;AACA;AAJA;EAAA,kCAvBO,WACLC,EAAE,EACFC,KAAK,EACLV,WAAW,EACXW,QAAQ,EACRC,iBAAiB,EACjB;IACA,IAAAC,gCAAuB,EACrBC,SAAS,4BACUL,EAAE,UACrB,eAAe,CAChB;IACD,IAAI;MACF,MAAM,IAAAM,qBAAS,EAACN,EAAE,EAAEC,KAAK,EAAEV,WAAW,EAAEW,QAAQ,EAAEC,iBAAiB,CAAC;MACpE,IAAAI,8BAAqB,2BAAmBP,EAAE,GAAI,SAAS,CAAC;IAC1D,CAAC,CAAC,OAAO7B,KAAK,EAAE;MACd,IAAAoC,8BAAqB,mBACTpC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACiC,IAAI,gBAAMrC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACF,OAAO,GACnE,MAAM,CACP;IACH;EACF,CAAC;EAAA;AAAA;AAAA,SAOqBoC,sBAAsB;EAAA;AAAA;AAiB5C;AACA;AACA;AACA;AAHA;EAAA,4CAjBO,WAAsCC,QAAQ,EAAEnB,WAAW,EAAE;IAClE,IAAAa,gCAAuB,EACrBC,SAAS,0CACwBK,QAAQ,UACzC,eAAe,CAChB;IACD,IAAI;MACF,MAAM,IAAAC,gCAAoB,EAACD,QAAQ,EAAEnB,WAAW,CAAC;MACjD,IAAAgB,8BAAqB,sCAA8BG,QAAQ,GAAI,SAAS,CAAC;IAC3E,CAAC,CAAC,OAAOvC,KAAK,EAAE;MACd,IAAAoC,8BAAqB,mBACTpC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACiC,IAAI,gBAAMrC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACF,OAAO,GACnE,MAAM,CACP;IACH;EACF,CAAC;EAAA;AAAA;AAAA,SAMqBuC,eAAe;EAAA;AAAA;AAiBrC;AACA;AACA;AAFA;EAAA,qCAjBO,WAA+BF,QAAQ,EAAE;IAC9C,IAAAN,gCAAuB,EACrBC,SAAS,4BACUK,QAAQ,UAC3B,eAAe,CAChB;IACD,IAAI;MACF,MAAM,IAAAG,wBAAY,EAACH,QAAQ,CAAC;MAC5B,IAAAH,8BAAqB,2BAAmBG,QAAQ,GAAI,SAAS,CAAC;IAChE,CAAC,CAAC,OAAOvC,KAAK,EAAE;MACd,IAAAoC,8BAAqB,mBACTpC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACiC,IAAI,gBAAMrC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACF,OAAO,GACnE,MAAM,CACP;IACH;EACF,CAAC;EAAA;AAAA;AAAA,SAKqByC,gBAAgB;EAAA;AAAA;AAyBtC;AACA;AACA;AACA;AAHA;EAAA,sCAzBO,aAAkC;IACvC,IAAI;MACF,IAAM9C,OAAO,GAAG,OAAO,IAAAC,sBAAU,GAAE,EAAEC,MAAM;MAC3C,IAAAkC,gCAAuB,EAACpC,OAAO,CAAC+C,MAAM,wBAAwB;MAC9D,KAAK,IAAM9B,MAAM,IAAIjB,OAAO,EAAE;QAC5B,IAAI;UACF;UACA,MAAM,IAAA6C,wBAAY,EAAC5B,MAAM,CAACF,GAAG,CAAC;UAC9B,IAAAiC,gCAAuB,2BAAmB/B,MAAM,CAACF,GAAG,EAAG;QACzD,CAAC,CAAC,OAAOZ,KAAK,EAAE;UACd,IAAAC,qBAAY,mBACAD,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACiC,IAAI,gBAAMrC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACF,OAAO,GACnE,OAAO,CACR;QACH;MACF;MACA,IAAAkC,8BAAqB,qBAAoB;IAC3C,CAAC,CAAC,OAAOpC,KAAK,EAAE;MACd,IAAAC,qBAAY,mBACAD,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACiC,IAAI,gBAAMrC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACF,OAAO,GACnE,OAAO,CACR;IACH;EACF,CAAC;EAAA;AAAA;AAAA,SAMqB4C,qBAAqB;EAAA;AAAA;AA+B3C;AACA;AACA;AACA;AAHA;EAAA,2CA/BO,WAAqCP,QAAQ,EAAE;IACpD,IAAIQ,QAAQ,GAAG,EAAE;IACjB,IAAI;MACFA,QAAQ,SAAS,IAAAC,6BAAiB,EAACT,QAAQ,CAAC;IAC9C,CAAC,CAAC,OAAOvC,KAAK,EAAE;MACd,IAAAC,qBAAY,YAAID,KAAK,CAACE,OAAO,GAAI,OAAO,CAAC;MACzC,IAAAD,qBAAY,EAACD,KAAK,CAACG,QAAQ,CAACC,IAAI,EAAE,OAAO,CAAC;IAC5C;IACA,IAAMC,KAAK,GAAG,IAAAC,oBAAW,EAAC,CACxB;MAAEC,MAAM,EAAE,OAAO;MAAEC,OAAO,EAAE,SAAS,CAAC,YAAY;IAAE,CAAC,EACrD,QAAQ,CAAC,YAAY,CAAC,EACtB,QAAQ,CAAC,YAAY,CAAC,EACtB,SAAS,CAAC,YAAY,CAAC,CACxB,CAAC;IACF;IACA,IAAMyC,SAAS,GAAG;MAChBC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC;MAChCC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC;MACjCC,SAAS,EAAE,SAAS,CAAC,WAAW;IAClC,CAAC;IACD,KAAK,IAAMC,OAAO,IAAIN,QAAQ,EAAE;MAC9B1C,KAAK,CAACU,IAAI,CAAC,CACT;QAAER,MAAM,EAAE,OAAO;QAAEC,OAAO,EAAE6C,OAAO,CAACA;MAAQ,CAAC,EAC7CJ,SAAS,CAACI,OAAO,CAACC,MAAM,CAAC,EACzBD,OAAO,CAACnC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,EAClE,IAAIK,IAAI,CAAC8B,OAAO,CAACE,UAAU,CAAC,CAAC9B,cAAc,EAAE,CAC9C,CAAC;IACJ;IACA,IAAAxB,qBAAY,EAACI,KAAK,CAACqB,QAAQ,EAAE,CAAC;EAChC,CAAC;EAAA;AAAA;AAAA,SAMqB8B,cAAc;EAAA;AAAA;AA2BpC;AACA;AACA;AACA;AACA;AAJA;EAAA,oCA3BO,WAA8BjB,QAAQ,EAAE;IAC7C,IAAMzB,MAAM,SAAS,IAAA2C,qBAAS,EAAClB,QAAQ,CAAC;IACxC,IAAMlC,KAAK,GAAG,IAAAqD,4BAAmB,GAAE;IACnCrD,KAAK,CAACU,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAED,MAAM,CAACF,GAAG,CAAC,CAAC;IAC9CP,KAAK,CAACU,IAAI,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAED,MAAM,CAACE,aAAa,CAAC,CAAC;IAClEX,KAAK,CAACU,IAAI,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAED,MAAM,CAACG,aAAa,CAAC,CAAC;IAClEZ,KAAK,CAACU,IAAI,CAAC,CACT,QAAQ,CAAC,YAAY,CAAC,EACtBD,MAAM,CAACI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAClE,CAAC;IACFb,KAAK,CAACU,IAAI,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,IAAAI,iBAAQ,EAACL,MAAM,CAACM,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3Ef,KAAK,CAACU,IAAI,CAAC,CACT,UAAU,CAAC,YAAY,CAAC,EACxB,IAAIQ,IAAI,CAACT,MAAM,CAACU,cAAc,CAAC,CAACC,cAAc,EAAE,CACjD,CAAC;IACFpB,KAAK,CAACU,IAAI,CAAC,CACT,UAAU,CAAC,YAAY,CAAC,QAClB,IAAAM,iCAAe,EAAC,YAAY,EAAEP,MAAM,CAACQ,aAAa,CAAC,CAC1D,CAAC;IACFjB,KAAK,CAACU,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,EAAED,MAAM,CAACQ,aAAa,CAAC,CAAC;IACjEjB,KAAK,CAACU,IAAI,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAED,MAAM,CAACiB,QAAQ,CAAC,CAAC;IACvD1B,KAAK,CAACU,IAAI,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAED,MAAM,CAACkB,iBAAiB,CAAC,CAAC;IAC3E,IAAA/B,qBAAY,EAACI,KAAK,CAACqB,QAAQ,EAAE,CAAC;IAC9B,IAAAzB,qBAAY,EAAC,oBAAoB,CAAC;IAClC,MAAM6C,qBAAqB,CAACP,QAAQ,CAAC;EACvC,CAAC;EAAA;AAAA;AAAA,SAOqBoB,2BAA2B;EAAA;AAAA;AAoBjD;AACA;AACA;AACA;AACA;AAJA;EAAA,iDApBO,WAA2CpB,QAAQ,EAAET,KAAK,EAAE;IACjE,IAAAG,gCAAuB,EACrBC,SAAS,2CACyBK,QAAQ,UAC1C,eAAe,CAChB;IACD,IAAI;MACF,IAAMc,OAAO,SAAS,IAAAO,oCAAwB,EAACrB,QAAQ,EAAET,KAAK,CAAC;MAC/D,IAAAM,8BAAqB,4BACAiB,OAAO,CAACA,OAAO,wBAAcd,QAAQ,GACxD,SAAS,CACV;IACH,CAAC,CAAC,OAAOvC,KAAK,EAAE;MACd,IAAAoC,8BAAqB,mBACTpC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACiC,IAAI,gBAAMrC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACF,OAAO,GACnE,MAAM,CACP;IACH;EACF,CAAC;EAAA;AAAA;AAAA,SAOqB2D,uBAAuB;EAAA;AAAA;AAwB7C;AACA;AACA;AACA;AACA;AAJA;EAAA,6CAxBO,WAAuCtB,QAAQ,EAAEc,OAAO,EAAE;IAC/D,IAAApB,gCAAuB,EACrBC,SAAS,+BACamB,OAAO,wBAAcd,QAAQ,UACnD,eAAe,CAChB;IACD,IAAI;MACF,MAAM,IAAAuB,sCAA0B,EAC9BvB,QAAQ,EACRc,OAAO,EACPU,iCAAqB,CAACb,OAAO,CAC9B;MACD,IAAAd,8BAAqB,8BACEiB,OAAO,wBAAcd,QAAQ,GAClD,SAAS,CACV;IACH,CAAC,CAAC,OAAOvC,KAAK,EAAE;MACd,IAAAoC,8BAAqB,mBACTpC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACiC,IAAI,gBAAMrC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACF,OAAO,GACnE,MAAM,CACP;IACH;EACF,CAAC;EAAA;AAAA;AAAA,SAOqB8D,yBAAyB;EAAA;AAAA;AAwB/C;AACA;AACA;AACA;AACA;AAJA;EAAA,+CAxBO,WAAyCzB,QAAQ,EAAEc,OAAO,EAAE;IACjE,IAAApB,gCAAuB,EACrBC,SAAS,iCACemB,OAAO,wBAAcd,QAAQ,UACrD,eAAe,CAChB;IACD,IAAI;MACF,MAAM,IAAAuB,sCAA0B,EAC9BvB,QAAQ,EACRc,OAAO,EACPU,iCAAqB,CAACZ,QAAQ,CAC/B;MACD,IAAAf,8BAAqB,gCACIiB,OAAO,wBAAcd,QAAQ,GACpD,SAAS,CACV;IACH,CAAC,CAAC,OAAOvC,KAAK,EAAE;MACd,IAAAoC,8BAAqB,mBACTpC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACiC,IAAI,gBAAMrC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACF,OAAO,GACnE,MAAM,CACP;IACH;EACF,CAAC;EAAA;AAAA;AAAA,SAOqB+D,wBAAwB;EAAA;AAAA;AAAA;EAAA,8CAAvC,WAAwC1B,QAAQ,EAAEc,OAAO,EAAE;IAChE,IAAApB,gCAAuB,EACrBC,SAAS,6BACWmB,OAAO,wBAAcd,QAAQ,UACjD,eAAe,CAChB;IACD,IAAI;MACF,MAAM,IAAA2B,iCAAqB,EAAC3B,QAAQ,EAAEc,OAAO,CAAC;MAC9C,IAAAjB,8BAAqB,4BACAiB,OAAO,wBAAcd,QAAQ,GAChD,SAAS,CACV;IACH,CAAC,CAAC,OAAOvC,KAAK,EAAE;MACd,IAAAoC,8BAAqB,mBACTpC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACiC,IAAI,gBAAMrC,KAAK,CAACG,QAAQ,CAACC,IAAI,CAACF,OAAO,GACnE,MAAM,CACP;IACH;EACF,CAAC;EAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"SecretsOps.js","names":["listSecrets","long","secrets","getSecrets","result","sort","a","b","_id","localeCompare","error","printMessage","message","response","data","table","createTable","hAlign","content","secret","push","activeVersion","loadedVersion","loaded","wordwrap","description","resolveUserName","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","createSecret","id","value","encoding","useInPlaceholders","createProgressIndicator","undefined","putSecret","stopProgressIndicator","code","setDescriptionOfSecret","secretId","setSecretDescription","deleteSecretCmd","deleteSecret","deleteSecretsCmd","length","updateProgressIndicator","listSecretVersionsCmd","versions","getSecretVersions","statusMap","ENABLED","DISABLED","DESTROYED","version","status","createDate","describeSecret","getSecret","createKeyValueTable","createNewVersionOfSecretCmd","createNewVersionOfSecret","activateVersionOfSecret","setStatusOfVersionOfSecret","VersionOfSecretStatus","deactivateVersionOfSecret","deleteVersionOfSecretCmd","deleteVersionOfSecret"],"sources":["ops/SecretsOps.ts"],"sourcesContent":["import {\n createKeyValueTable,\n createProgressIndicator,\n createTable,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n createNewVersionOfSecret,\n deleteSecret,\n deleteVersionOfSecret,\n getSecret,\n getSecrets,\n getSecretVersions,\n putSecret,\n setSecretDescription,\n setStatusOfVersionOfSecret,\n VersionOfSecretStatus,\n} from '../api/SecretsApi';\nimport wordwrap from './utils/Wordwrap';\nimport { resolveUserName } from './ManagedObjectOps';\n\n/**\n * List secrets\n * @param {boolean} long Long version, all the fields\n */\nexport async function listSecrets(long) {\n let secrets = [];\n try {\n secrets = (await getSecrets()).result;\n secrets.sort((a, b) => a._id.localeCompare(b._id));\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n if (long) {\n const table = createTable([\n 'Id'['brightCyan'],\n { hAlign: 'right', content: 'Active\\nVersion'['brightCyan'] },\n { hAlign: 'right', content: 'Loaded\\nVersion'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified'['brightCyan'],\n ]);\n for (const secret of secrets) {\n table.push([\n secret._id,\n { hAlign: 'right', content: secret.activeVersion },\n { hAlign: 'right', content: secret.loadedVersion },\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(secret.description, 40),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', secret.lastChangedBy),\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n secrets.forEach((secret) => {\n printMessage(secret._id, 'data');\n });\n }\n}\n\n/**\n * Create secret\n * @param {String} id secret id\n * @param {String} value secret value\n * @param {String} description secret description\n * @param {String} encoding secret encoding\n * @param {boolean} useInPlaceholders use secret in placeholders\n */\nexport async function createSecret(\n id,\n value,\n description,\n encoding,\n useInPlaceholders\n) {\n createProgressIndicator(\n undefined,\n `Creating secret ${id}...`,\n 'indeterminate'\n );\n try {\n await putSecret(id, value, description, encoding, useInPlaceholders);\n stopProgressIndicator(`Created secret ${id}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Set description of secret\n * @param {String} secretId secret id\n * @param {String} description secret description\n */\nexport async function setDescriptionOfSecret(secretId, description) {\n createProgressIndicator(\n undefined,\n `Setting description of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setSecretDescription(secretId, description);\n stopProgressIndicator(`Set description of secret ${secretId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete a secret\n * @param {String} secretId secret id\n */\nexport async function deleteSecretCmd(secretId) {\n createProgressIndicator(\n undefined,\n `Deleting secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await deleteSecret(secretId);\n stopProgressIndicator(`Deleted secret ${secretId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete all secrets\n */\nexport async function deleteSecretsCmd() {\n try {\n const secrets = (await getSecrets()).result;\n createProgressIndicator(secrets.length, `Deleting secrets...`);\n for (const secret of secrets) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await deleteSecret(secret._id);\n updateProgressIndicator(`Deleted secret ${secret._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressIndicator(`Secrets deleted.`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * List all the versions of the secret\n * @param {String} secretId secret id\n */\nexport async function listSecretVersionsCmd(secretId) {\n let versions = [];\n try {\n versions = await getSecretVersions(secretId);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n const table = createTable([\n { hAlign: 'right', content: 'Version'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Loaded'['brightCyan'],\n 'Created'['brightCyan'],\n ]);\n // versions.sort((a, b) => a._id.localeCompare(b._id));\n const statusMap = {\n ENABLED: 'active'['brightGreen'],\n DISABLED: 'inactive'['brightRed'],\n DESTROYED: 'deleted'['brightRed'],\n };\n for (const version of versions) {\n table.push([\n { hAlign: 'right', content: version.version },\n statusMap[version.status],\n version.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n new Date(version.createDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString());\n}\n\n/**\n * Describe a secret\n * @param {String} secretId Secret id\n */\nexport async function describeSecret(secretId) {\n const secret = await getSecret(secretId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], secret._id]);\n table.push(['Active Version'['brightCyan'], secret.activeVersion]);\n table.push(['Loaded Version'['brightCyan'], secret.loadedVersion]);\n table.push([\n 'Status'['brightCyan'],\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(secret.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await resolveUserName('teammember', secret.lastChangedBy),\n ]);\n table.push(['Modifier UUID'['brightCyan'], secret.lastChangedBy]);\n table.push(['Encoding'['brightCyan'], secret.encoding]);\n table.push(['Use In Placeholders'['brightCyan'], secret.useInPlaceholders]);\n printMessage(table.toString());\n printMessage('\\nSecret Versions:');\n await listSecretVersionsCmd(secretId);\n}\n\n/**\n * Create new version of secret\n * @param {String} secretId secret id\n * @param {String} value secret value\n */\nexport async function createNewVersionOfSecretCmd(secretId, value) {\n createProgressIndicator(\n undefined,\n `Creating new version of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n const version = await createNewVersionOfSecret(secretId, value);\n stopProgressIndicator(\n `Created version ${version.version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Activate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function activateVersionOfSecret(secretId, version) {\n createProgressIndicator(\n undefined,\n `Activating version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setStatusOfVersionOfSecret(\n secretId,\n version,\n VersionOfSecretStatus.ENABLED\n );\n stopProgressIndicator(\n `Activated version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Deactivate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deactivateVersionOfSecret(secretId, version) {\n createProgressIndicator(\n undefined,\n `Deactivating version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setStatusOfVersionOfSecret(\n secretId,\n version,\n VersionOfSecretStatus.DISABLED\n );\n stopProgressIndicator(\n `Deactivated version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete version of secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deleteVersionOfSecretCmd(secretId, version) {\n createProgressIndicator(\n undefined,\n `Deleting version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await deleteVersionOfSecret(secretId, version);\n stopProgressIndicator(\n `Deleted version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceAccountOps.test.js","names":["mock","MockAdapter","axios","outputHandler","message","console","log","state","setHost","setRealm","setCookieName","setCookieValue","setDeploymentType","globalConfig","CLOUD_DEPLOYMENT_TYPE_KEY","setDebug","setDebugHandler","setPrintHandler","setCurlirize","setCurlirizeHandler","describe","test","expect","ServiceAccount","createServiceAccount","toBeDefined","moId","moData","name","description","accountStatus","scopes","jwk","createJwkRsa","publicJwk","getJwkRsaPublic","jwks","createJwks","mockCreateManagedObject","mockManagedObjId","mockManagedObj","payload","isEqualJson","toBeTruthy","_id","toBe","toStrictEqual"],"sources":["ops/ServiceAccountOps.test.ts"],"sourcesContent":["import axios from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport { state } from '../index';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { createJwkRsa, createJwks, getJwkRsaPublic } from './JoseOps';\nimport * as ServiceAccount from './ServiceAccountOps';\nimport { mockCreateManagedObject } from '../test/mocks/ForgeRockApiMockEngine';\nimport { isEqualJson } from './utils/OpsUtils';\n\nconst mock = new MockAdapter(axios);\n\nconst outputHandler = (message: string | object) => {\n console.log(message);\n};\n\nstate.setHost('https://openam-frodo-dev.forgeblocks.com/am');\nstate.setRealm('alpha');\nstate.setCookieName('cookieName');\nstate.setCookieValue('cookieValue');\nstate.setDeploymentType(globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY);\nstate.setDebug(true);\nstate.setDebugHandler(outputHandler);\nstate.setPrintHandler(outputHandler);\nstate.setCurlirize(true);\nstate.setCurlirizeHandler(outputHandler);\n\ndescribe('SvcacctOps - createSvcacct()', () => {\n test('createSvcacct() 0: Method is implemented', async () => {\n expect(ServiceAccount.createServiceAccount).toBeDefined();\n });\n\n test('createSvcacct() 1: Create service account', async () => {\n let moId: string | null = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let moData: any | null = null;\n const name = 'sa';\n const description = 'service account';\n const accountStatus = 'Active';\n const scopes = ['fr:am:*', 'fr:idm:*', 'fr:idc:esv:*'];\n const jwk = await createJwkRsa();\n const publicJwk = await getJwkRsaPublic(jwk);\n const jwks = await createJwks(publicJwk);\n mockCreateManagedObject(mock, (mockManagedObjId, mockManagedObj) => {\n moId = mockManagedObjId;\n moData = mockManagedObj;\n });\n const payload = await ServiceAccount.createServiceAccount(\n name,\n description,\n accountStatus,\n scopes,\n jwks\n );\n expect(isEqualJson(payload, moData)).toBeTruthy();\n expect(payload).toBeTruthy();\n expect(payload._id).toBe(moId);\n expect(payload.name).toBe(name);\n expect(payload.description).toBe(description);\n expect(payload.scopes).toStrictEqual(scopes);\n });\n});\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAA+C;AAAA;AAAA;AAAA;AAAA;AAE/C,IAAMA,IAAI,GAAG,IAAIC,yBAAW,CAACC,cAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ServiceAccountOps.test.js","names":["mock","MockAdapter","axios","jest","setTimeout","outputHandler","message","console","log","state","setHost","setRealm","setCookieName","setCookieValue","setDeploymentType","globalConfig","CLOUD_DEPLOYMENT_TYPE_KEY","setDebug","setDebugHandler","setPrintHandler","setCurlirize","setCurlirizeHandler","describe","test","expect","ServiceAccount","createServiceAccount","toBeDefined","moId","moData","name","description","accountStatus","scopes","jwk","createJwkRsa","publicJwk","getJwkRsaPublic","jwks","createJwks","mockCreateManagedObject","mockManagedObjId","mockManagedObj","payload","isEqualJson","toBeTruthy","_id","toBe","toStrictEqual"],"sources":["ops/ServiceAccountOps.test.ts"],"sourcesContent":["import { jest } from '@jest/globals';\nimport axios from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport { state } from '../index';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { createJwkRsa, createJwks, getJwkRsaPublic } from './JoseOps';\nimport * as ServiceAccount from './ServiceAccountOps';\nimport { mockCreateManagedObject } from '../test/mocks/ForgeRockApiMockEngine';\nimport { isEqualJson } from './utils/OpsUtils';\n\nconst mock = new MockAdapter(axios);\n\n// Increase timeout for this test as pipeline keeps failing with error:\n// Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.\njest.setTimeout(30000);\n\nconst outputHandler = (message: string | object) => {\n console.log(message);\n};\n\nstate.setHost('https://openam-frodo-dev.forgeblocks.com/am');\nstate.setRealm('alpha');\nstate.setCookieName('cookieName');\nstate.setCookieValue('cookieValue');\nstate.setDeploymentType(globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY);\nstate.setDebug(true);\nstate.setDebugHandler(outputHandler);\nstate.setPrintHandler(outputHandler);\nstate.setCurlirize(true);\nstate.setCurlirizeHandler(outputHandler);\n\ndescribe('SvcacctOps - createSvcacct()', () => {\n test('createSvcacct() 0: Method is implemented', async () => {\n expect(ServiceAccount.createServiceAccount).toBeDefined();\n });\n\n test('createSvcacct() 1: Create service account', async () => {\n let moId: string | null = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let moData: any | null = null;\n const name = 'sa';\n const description = 'service account';\n const accountStatus = 'Active';\n const scopes = ['fr:am:*', 'fr:idm:*', 'fr:idc:esv:*'];\n const jwk = await createJwkRsa();\n const publicJwk = await getJwkRsaPublic(jwk);\n const jwks = await createJwks(publicJwk);\n mockCreateManagedObject(mock, (mockManagedObjId, mockManagedObj) => {\n moId = mockManagedObjId;\n moData = mockManagedObj;\n });\n const payload = await ServiceAccount.createServiceAccount(\n name,\n description,\n accountStatus,\n scopes,\n jwks\n );\n expect(isEqualJson(payload, moData)).toBeTruthy();\n expect(payload).toBeTruthy();\n expect(payload._id).toBe(moId);\n expect(payload.name).toBe(name);\n expect(payload.description).toBe(description);\n expect(payload.scopes).toStrictEqual(scopes);\n });\n});\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAA+C;AAAA;AAAA;AAAA;AAAA;AAE/C,IAAMA,IAAI,GAAG,IAAIC,yBAAW,CAACC,cAAK,CAAC;;AAEnC;AACA;AACAC,aAAI,CAACC,UAAU,CAAC,KAAK,CAAC;AAEtB,IAAMC,aAAa,GAAIC,OAAwB,IAAK;EAClDC,OAAO,CAACC,GAAG,CAACF,OAAO,CAAC;AACtB,CAAC;AAEDG,YAAK,CAACC,OAAO,CAAC,6CAA6C,CAAC;AAC5DD,YAAK,CAACE,QAAQ,CAAC,OAAO,CAAC;AACvBF,YAAK,CAACG,aAAa,CAAC,YAAY,CAAC;AACjCH,YAAK,CAACI,cAAc,CAAC,aAAa,CAAC;AACnCJ,YAAK,CAACK,iBAAiB,CAACC,YAAY,CAACC,yBAAyB,CAAC;AAC/DP,YAAK,CAACQ,QAAQ,CAAC,IAAI,CAAC;AACpBR,YAAK,CAACS,eAAe,CAACb,aAAa,CAAC;AACpCI,YAAK,CAACU,eAAe,CAACd,aAAa,CAAC;AACpCI,YAAK,CAACW,YAAY,CAAC,IAAI,CAAC;AACxBX,YAAK,CAACY,mBAAmB,CAAChB,aAAa,CAAC;AAExCiB,QAAQ,CAAC,8BAA8B,EAAE,MAAM;EAC7CC,IAAI,CAAC,0CAA0C,iCAAE,aAAY;IAC3DC,MAAM,CAACC,cAAc,CAACC,oBAAoB,CAAC,CAACC,WAAW,EAAE;EAC3D,CAAC,EAAC;EAEFJ,IAAI,CAAC,2CAA2C,iCAAE,aAAY;IAC5D,IAAIK,IAAmB,GAAG,IAAI;IAC9B;IACA,IAAIC,MAAkB,GAAG,IAAI;IAC7B,IAAMC,IAAI,GAAG,IAAI;IACjB,IAAMC,WAAW,GAAG,iBAAiB;IACrC,IAAMC,aAAa,GAAG,QAAQ;IAC9B,IAAMC,MAAM,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC;IACtD,IAAMC,GAAG,SAAS,IAAAC,qBAAY,GAAE;IAChC,IAAMC,SAAS,SAAS,IAAAC,wBAAe,EAACH,GAAG,CAAC;IAC5C,IAAMI,IAAI,SAAS,IAAAC,mBAAU,EAACH,SAAS,CAAC;IACxC,IAAAI,+CAAuB,EAACxC,IAAI,EAAE,CAACyC,gBAAgB,EAAEC,cAAc,KAAK;MAClEd,IAAI,GAAGa,gBAAgB;MACvBZ,MAAM,GAAGa,cAAc;IACzB,CAAC,CAAC;IACF,IAAMC,OAAO,SAASlB,cAAc,CAACC,oBAAoB,CACvDI,IAAI,EACJC,WAAW,EACXC,aAAa,EACbC,MAAM,EACNK,IAAI,CACL;IACDd,MAAM,CAAC,IAAAoB,qBAAW,EAACD,OAAO,EAAEd,MAAM,CAAC,CAAC,CAACgB,UAAU,EAAE;IACjDrB,MAAM,CAACmB,OAAO,CAAC,CAACE,UAAU,EAAE;IAC5BrB,MAAM,CAACmB,OAAO,CAACG,GAAG,CAAC,CAACC,IAAI,CAACnB,IAAI,CAAC;IAC9BJ,MAAM,CAACmB,OAAO,CAACb,IAAI,CAAC,CAACiB,IAAI,CAACjB,IAAI,CAAC;IAC/BN,MAAM,CAACmB,OAAO,CAACZ,WAAW,CAAC,CAACgB,IAAI,CAAChB,WAAW,CAAC;IAC7CP,MAAM,CAACmB,OAAO,CAACV,MAAM,CAAC,CAACe,aAAa,CAACf,MAAM,CAAC;EAC9C,CAAC,EAAC;AACJ,CAAC,CAAC"}
|
package/cjs/ops/VariablesOps.js
CHANGED
|
@@ -36,21 +36,21 @@ function _listVariables() {
|
|
|
36
36
|
var variables = [];
|
|
37
37
|
try {
|
|
38
38
|
variables = (yield (0, _VariablesApi.getVariables)()).result;
|
|
39
|
+
variables.sort((a, b) => a._id.localeCompare(b._id));
|
|
39
40
|
} catch (error) {
|
|
40
41
|
(0, _Console.printMessage)("".concat(error.message), 'error');
|
|
41
42
|
(0, _Console.printMessage)(error.response.data, 'error');
|
|
42
43
|
}
|
|
43
44
|
if (long) {
|
|
44
45
|
var table = (0, _Console.createTable)(['Id'['brightCyan'], 'Value'['brightCyan'], 'Status'['brightCyan'], 'Description'['brightCyan'], 'Modifier'['brightCyan'], 'Modified'['brightCyan']]);
|
|
45
|
-
variables.sort((a, b) => a._id.localeCompare(b._id));
|
|
46
46
|
for (var variable of variables) {
|
|
47
47
|
table.push([variable._id, (0, _Wordwrap.default)((0, _Base.decode)(variable.valueBase64), 40), variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'], (0, _Wordwrap.default)(variable.description, 40), // eslint-disable-next-line no-await-in-loop
|
|
48
48
|
yield (0, _ManagedObjectOps.resolveUserName)('teammember', variable.lastChangedBy), new Date(variable.lastChangeDate).toLocaleString()]);
|
|
49
49
|
}
|
|
50
|
-
(0, _Console.printMessage)(table.toString());
|
|
50
|
+
(0, _Console.printMessage)(table.toString(), 'data');
|
|
51
51
|
} else {
|
|
52
52
|
variables.forEach(secret => {
|
|
53
|
-
(0, _Console.printMessage)(secret._id);
|
|
53
|
+
(0, _Console.printMessage)(secret._id, 'data');
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariablesOps.js","names":["listVariables","long","variables","getVariables","result","error","printMessage","message","response","data","table","createTable","sort","a","b","_id","localeCompare","variable","push","wordwrap","decode","valueBase64","loaded","description","resolveUserName","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","secret","createVariable","variableId","value","createProgressIndicator","undefined","putVariable","stopProgressIndicator","code","updateVariable","setDescriptionOfVariable","setVariableDescription","deleteVariableCmd","deleteVariable","deleteVariablesCmd","length","updateProgressIndicator","describeVariable","getVariable","createKeyValueTable"],"sources":["ops/VariablesOps.ts"],"sourcesContent":["import {\n createKeyValueTable,\n createProgressIndicator,\n createTable,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n deleteVariable,\n getVariable,\n getVariables,\n putVariable,\n setVariableDescription,\n} from '../api/VariablesApi';\nimport wordwrap from './utils/Wordwrap';\nimport { resolveUserName } from './ManagedObjectOps';\nimport { decode } from '../api/utils/Base64';\n\n/**\n * List variables\n * @param {boolean} long Long version, all the fields\n */\nexport async function listVariables(long) {\n let variables = [];\n try {\n variables = (await getVariables()).result;\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n if (long) {\n const table = createTable([\n 'Id'['brightCyan'],\n 'Value'['brightCyan'],\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified'['brightCyan'],\n ]);\n variables.sort((a, b) => a._id.localeCompare(b._id));\n for (const variable of variables) {\n table.push([\n variable._id,\n wordwrap(decode(variable.valueBase64), 40),\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(variable.description, 40),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', variable.lastChangedBy),\n new Date(variable.lastChangeDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString());\n } else {\n variables.forEach((secret) => {\n printMessage(secret._id);\n });\n }\n}\n\n/**\n * Create variable\n * @param {String} variableId variable id\n * @param {String} value variable value\n * @param {String} description variable description\n */\nexport async function createVariable(variableId, value, description) {\n createProgressIndicator(\n undefined,\n `Creating variable ${variableId}...`,\n 'indeterminate'\n );\n try {\n await putVariable(variableId, value, description);\n stopProgressIndicator(`Created variable ${variableId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Update variable\n * @param {String} variableId variable id\n * @param {String} value variable value\n * @param {String} description variable description\n */\nexport async function updateVariable(variableId, value, description) {\n createProgressIndicator(\n undefined,\n `Updating variable ${variableId}...`,\n 'indeterminate'\n );\n try {\n await putVariable(variableId, value, description);\n stopProgressIndicator(`Updated variable ${variableId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Set description of variable\n * @param {String} variableId variable id\n * @param {String} description variable description\n */\nexport async function setDescriptionOfVariable(variableId, description) {\n createProgressIndicator(\n undefined,\n `Setting description of variable ${variableId}...`,\n 'indeterminate'\n );\n try {\n await setVariableDescription(variableId, description);\n stopProgressIndicator(\n `Set description of variable ${variableId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete a variable\n * @param {String} variableId variable id\n */\nexport async function deleteVariableCmd(variableId) {\n createProgressIndicator(\n undefined,\n `Deleting variable ${variableId}...`,\n 'indeterminate'\n );\n try {\n await deleteVariable(variableId);\n stopProgressIndicator(`Deleted variable ${variableId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete all variables\n */\nexport async function deleteVariablesCmd() {\n try {\n const variables = (await getVariables()).result;\n createProgressIndicator(variables.length, `Deleting variable...`);\n for (const variable of variables) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await deleteVariable(variable._id);\n updateProgressIndicator(`Deleted variable ${variable._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressIndicator(`Variables deleted.`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * Describe a variable\n * @param {String} variableId variable id\n */\nexport async function describeVariable(variableId) {\n const variable = await getVariable(variableId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], variable._id]);\n table.push([\n 'Value'['brightCyan'],\n wordwrap(decode(variable.valueBase64), 40),\n ]);\n table.push([\n 'Status'['brightCyan'],\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(variable.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(variable.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await resolveUserName('teammember', variable.lastChangedBy),\n ]);\n table.push(['Modifier UUID'['brightCyan'], variable.lastChangedBy]);\n printMessage(table.toString());\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VariablesOps.js","names":["listVariables","long","variables","getVariables","result","sort","a","b","_id","localeCompare","error","printMessage","message","response","data","table","createTable","variable","push","wordwrap","decode","valueBase64","loaded","description","resolveUserName","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","secret","createVariable","variableId","value","createProgressIndicator","undefined","putVariable","stopProgressIndicator","code","updateVariable","setDescriptionOfVariable","setVariableDescription","deleteVariableCmd","deleteVariable","deleteVariablesCmd","length","updateProgressIndicator","describeVariable","getVariable","createKeyValueTable"],"sources":["ops/VariablesOps.ts"],"sourcesContent":["import {\n createKeyValueTable,\n createProgressIndicator,\n createTable,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n deleteVariable,\n getVariable,\n getVariables,\n putVariable,\n setVariableDescription,\n} from '../api/VariablesApi';\nimport wordwrap from './utils/Wordwrap';\nimport { resolveUserName } from './ManagedObjectOps';\nimport { decode } from '../api/utils/Base64';\n\n/**\n * List variables\n * @param {boolean} long Long version, all the fields\n */\nexport async function listVariables(long) {\n let variables = [];\n try {\n variables = (await getVariables()).result;\n variables.sort((a, b) => a._id.localeCompare(b._id));\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n if (long) {\n const table = createTable([\n 'Id'['brightCyan'],\n 'Value'['brightCyan'],\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified'['brightCyan'],\n ]);\n for (const variable of variables) {\n table.push([\n variable._id,\n wordwrap(decode(variable.valueBase64), 40),\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(variable.description, 40),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', variable.lastChangedBy),\n new Date(variable.lastChangeDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n variables.forEach((secret) => {\n printMessage(secret._id, 'data');\n });\n }\n}\n\n/**\n * Create variable\n * @param {String} variableId variable id\n * @param {String} value variable value\n * @param {String} description variable description\n */\nexport async function createVariable(variableId, value, description) {\n createProgressIndicator(\n undefined,\n `Creating variable ${variableId}...`,\n 'indeterminate'\n );\n try {\n await putVariable(variableId, value, description);\n stopProgressIndicator(`Created variable ${variableId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Update variable\n * @param {String} variableId variable id\n * @param {String} value variable value\n * @param {String} description variable description\n */\nexport async function updateVariable(variableId, value, description) {\n createProgressIndicator(\n undefined,\n `Updating variable ${variableId}...`,\n 'indeterminate'\n );\n try {\n await putVariable(variableId, value, description);\n stopProgressIndicator(`Updated variable ${variableId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Set description of variable\n * @param {String} variableId variable id\n * @param {String} description variable description\n */\nexport async function setDescriptionOfVariable(variableId, description) {\n createProgressIndicator(\n undefined,\n `Setting description of variable ${variableId}...`,\n 'indeterminate'\n );\n try {\n await setVariableDescription(variableId, description);\n stopProgressIndicator(\n `Set description of variable ${variableId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete a variable\n * @param {String} variableId variable id\n */\nexport async function deleteVariableCmd(variableId) {\n createProgressIndicator(\n undefined,\n `Deleting variable ${variableId}...`,\n 'indeterminate'\n );\n try {\n await deleteVariable(variableId);\n stopProgressIndicator(`Deleted variable ${variableId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete all variables\n */\nexport async function deleteVariablesCmd() {\n try {\n const variables = (await getVariables()).result;\n createProgressIndicator(variables.length, `Deleting variable...`);\n for (const variable of variables) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await deleteVariable(variable._id);\n updateProgressIndicator(`Deleted variable ${variable._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressIndicator(`Variables deleted.`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * Describe a variable\n * @param {String} variableId variable id\n */\nexport async function describeVariable(variableId) {\n const variable = await getVariable(variableId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], variable._id]);\n table.push([\n 'Value'['brightCyan'],\n wordwrap(decode(variable.valueBase64), 40),\n ]);\n table.push([\n 'Status'['brightCyan'],\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(variable.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(variable.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await resolveUserName('teammember', variable.lastChangedBy),\n ]);\n table.push(['Modifier UUID'['brightCyan'], variable.lastChangedBy]);\n printMessage(table.toString());\n}\n"],"mappings":"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"}
|
package/cjs/shared/State.js
CHANGED
|
@@ -14,7 +14,47 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
14
14
|
var _dirname = _path.default.dirname((0, _url.fileURLToPath)(require('url').pathToFileURL(__filename).toString()));
|
|
15
15
|
var pkg = JSON.parse(_fs.default.readFileSync(_path.default.resolve(_dirname, '../../package.json'), 'utf8'));
|
|
16
16
|
var _state = {
|
|
17
|
-
authenticationHeaderOverrides: {}
|
|
17
|
+
authenticationHeaderOverrides: {},
|
|
18
|
+
printHandler: message => {
|
|
19
|
+
if (!message) return;
|
|
20
|
+
if (typeof message === 'object') {
|
|
21
|
+
console.dir(message, {
|
|
22
|
+
depth: 3
|
|
23
|
+
});
|
|
24
|
+
} else {
|
|
25
|
+
console.log(message);
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
verboseHandler: message => {
|
|
29
|
+
if (!message) return;
|
|
30
|
+
if (getVerbose()) {
|
|
31
|
+
if (typeof message === 'object') {
|
|
32
|
+
console.dir(message, {
|
|
33
|
+
depth: 3
|
|
34
|
+
});
|
|
35
|
+
} else {
|
|
36
|
+
console.log(message);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
debugHandler: message => {
|
|
41
|
+
if (!message) return;
|
|
42
|
+
if (getDebug()) {
|
|
43
|
+
if (typeof message === 'object') {
|
|
44
|
+
console.dir(message, {
|
|
45
|
+
depth: 6
|
|
46
|
+
});
|
|
47
|
+
} else {
|
|
48
|
+
console.log(message);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
curlirizeHandler: message => {
|
|
53
|
+
if (!message) return;
|
|
54
|
+
if (getDebug()) {
|
|
55
|
+
console.log(message);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
18
58
|
};
|
|
19
59
|
var setHost = host => _state.host = host;
|
|
20
60
|
exports.setHost = setHost;
|
|
@@ -65,7 +105,7 @@ var getAuthenticationHeaderOverrides = () => _state.authenticationHeaderOverride
|
|
|
65
105
|
exports.getAuthenticationHeaderOverrides = getAuthenticationHeaderOverrides;
|
|
66
106
|
var setAuthenticationService = service => _state.authenticationService = service;
|
|
67
107
|
exports.setAuthenticationService = setAuthenticationService;
|
|
68
|
-
var getAuthenticationService = () => _state.authenticationService;
|
|
108
|
+
var getAuthenticationService = () => _state.authenticationService || process.env.FRODO_AUTHENTICATION_SERVICE;
|
|
69
109
|
exports.getAuthenticationService = getAuthenticationService;
|
|
70
110
|
var setServiceAccountId = uuid => _state.serviceAccountId = uuid;
|
|
71
111
|
exports.setServiceAccountId = setServiceAccountId;
|
package/cjs/shared/State.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"State.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","_state","authenticationHeaderOverrides","setHost","host","getHost","process","env","FRODO_HOST","setTenant","getTenant","setUsername","username","getUsername","FRODO_USERNAME","setPassword","password","getPassword","FRODO_PASSWORD","setRealm","realm","getRealm","FRODO_REALM","setDeploymentType","type","deploymentType","getDeploymentType","setAllowInsecureConnection","allowInsecureConnection","getAllowInsecureConnection","setCookieName","name","cookieName","getCookieName","setCookieValue","value","cookieValue","getCookieValue","setAuthenticationHeaderOverrides","overrides","getAuthenticationHeaderOverrides","setAuthenticationService","service","authenticationService","getAuthenticationService","setServiceAccountId","uuid","serviceAccountId","getServiceAccountId","FRODO_SA_ID","setServiceAccountJwk","jwk","serviceAccountJwk","getServiceAccountJwk","FRODO_SA_JWK","undefined","setUseBearerTokenForAmApis","useBearerTokenForAmApis","getUseBearerTokenForAmApis","setBearerToken","token","bearerToken","getBearerToken","setLogApiKey","key","logApiKey","getLogApiKey","FRODO_LOG_KEY","setLogApiSecret","secret","logApiSecret","getLogApiSecret","FRODO_LOG_SECRET","setAmVersion","version","amVersion","getAmVersion","setFrodoVersion","frodoVersion","getFrodoVersion","setConnectionProfilesPath","connectionProfilesPath","getConnectionProfilesPath","setMasterKeyPath","masterKeyPath","getMasterKeyPath","setOutputFile","file","outputFile","getOutputFile","setDirectory","directory","getDirectory","setPrintHandler","handler","printHandler","getPrintHandler","setVerboseHandler","verboseHandler","getVerboseHandler","setVerbose","verbose","getVerbose","setDebugHandler","debugHandler","getDebugHandler","setDebug","debug","getDebug","FRODO_DEBUG","setCurlirizeHandler","curlirizeHandler","getCurlirizeHandler","setCurlirize","curlirize","getCurlirize","setCreateProgressHandler","createProgressHandler","getCreateProgressHandler","setUpdateProgressHandler","updateProgressHandler","getUpdateProgressHandler","setStopProgressHandler","stopProgressHandler","getStopProgressHandler","session"],"sources":["shared/State.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { JwkRsa } from '../ops/JoseOps';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nexport interface StateInterface {\n // connection settings\n host?: string;\n username?: string;\n password?: string;\n realm?: string;\n deploymentType?: string;\n allowInsecureConnection?: boolean;\n // customize authentication\n authenticationHeaderOverrides?: Record<string, string>;\n authenticationService?: string;\n // cookie settings\n cookieName?: string;\n cookieValue?: string;\n // service account settings\n serviceAccountId?: string;\n serviceAccountJwk?: JwkRsa;\n // bearer token settings\n useBearerTokenForAmApis?: boolean;\n bearerToken?: string;\n // log api settings\n logApiKey?: string;\n logApiSecret?: string;\n // versions\n amVersion?: string;\n frodoVersion?: string;\n // miscellaneous settings\n connectionProfilesPath?: string;\n masterKeyPath?: string;\n outputFile?: string;\n directory?: string;\n // output handler settings\n printHandler?: (\n message: string | object,\n type?: string,\n newline?: boolean\n ) => void;\n verboseHandler?: (message: string | object) => void;\n verbose?: boolean;\n debugHandler?: (message: string | object) => void;\n debug?: boolean;\n curlirizeHandler?: (message: string) => void;\n curlirize?: boolean;\n createProgressHandler?: (\n type: string,\n total?: number,\n message?: string\n ) => void;\n updateProgressHandler?: (message: string) => void;\n stopProgressHandler?: (message: string, status?: string) => void;\n}\n\nconst _state: StateInterface = {\n authenticationHeaderOverrides: {},\n};\n\nexport const setHost = (host: string) => (_state.host = host);\nexport const getHost = () => _state.host || process.env.FRODO_HOST;\n\n/**\n * @deprecated since v0.17.0 use `setHost(host: string)` instead\n */\nexport const setTenant = setHost;\n/**\n * @deprecated since v0.17.0 use `getHost` instead\n */\nexport const getTenant = getHost;\n\nexport const setUsername = (username: string) => (_state.username = username);\nexport const getUsername = () => _state.username || process.env.FRODO_USERNAME;\n\nexport const setPassword = (password: string) => (_state.password = password);\nexport const getPassword = () => _state.password || process.env.FRODO_PASSWORD;\n\nexport const setRealm = (realm: string) => (_state.realm = realm);\nexport const getRealm = () => _state.realm || process.env.FRODO_REALM;\n\nexport const setDeploymentType = (type: string) =>\n (_state.deploymentType = type);\nexport const getDeploymentType = () => _state.deploymentType;\n\nexport const setAllowInsecureConnection = (allowInsecureConnection: boolean) =>\n (_state.allowInsecureConnection = allowInsecureConnection);\nexport const getAllowInsecureConnection = () =>\n _state['allowInsecureConnection'];\n\nexport const setCookieName = (name: string) => (_state.cookieName = name);\nexport const getCookieName = () => _state.cookieName;\nexport const setCookieValue = (value: string) => (_state.cookieValue = value);\nexport const getCookieValue = () => _state.cookieValue;\n\nexport const setAuthenticationHeaderOverrides = (\n overrides: Record<string, string>\n) => (_state.authenticationHeaderOverrides = overrides);\nexport const getAuthenticationHeaderOverrides = () =>\n _state.authenticationHeaderOverrides;\nexport const setAuthenticationService = (service: string) =>\n (_state.authenticationService = service);\nexport const getAuthenticationService = () => _state.authenticationService;\n\nexport const setServiceAccountId = (uuid: string) =>\n (_state.serviceAccountId = uuid);\nexport const getServiceAccountId = (): string =>\n _state.serviceAccountId || process.env.FRODO_SA_ID;\nexport const setServiceAccountJwk = (jwk: JwkRsa) =>\n (_state.serviceAccountJwk = { ...jwk });\nexport const getServiceAccountJwk = (): JwkRsa =>\n _state.serviceAccountJwk ||\n (process.env.FRODO_SA_JWK ? JSON.parse(process.env.FRODO_SA_JWK) : undefined);\n\nexport const setUseBearerTokenForAmApis = (useBearerTokenForAmApis: boolean) =>\n (_state.useBearerTokenForAmApis = useBearerTokenForAmApis);\nexport const getUseBearerTokenForAmApis = () => _state.useBearerTokenForAmApis;\nexport const setBearerToken = (token: string) => (_state.bearerToken = token);\nexport const getBearerToken = () => _state.bearerToken;\n\nexport const setLogApiKey = (key: string) => (_state.logApiKey = key);\nexport const getLogApiKey = () => _state.logApiKey || process.env.FRODO_LOG_KEY;\nexport const setLogApiSecret = (secret: string) =>\n (_state.logApiSecret = secret);\nexport const getLogApiSecret = () =>\n _state.logApiSecret || process.env.FRODO_LOG_SECRET;\n\nexport const setAmVersion = (version: string) => (_state.amVersion = version);\nexport const getAmVersion = () => _state.amVersion;\n\nexport const setFrodoVersion = (version: string) =>\n (_state.frodoVersion = version);\nexport const getFrodoVersion = () =>\n _state.frodoVersion || `v${pkg.version} [${process.version}]`;\n\nexport const setConnectionProfilesPath = (path: string) =>\n (_state.connectionProfilesPath = path);\nexport const getConnectionProfilesPath = () => _state.connectionProfilesPath;\n\nexport const setMasterKeyPath = (path: string) => (_state.masterKeyPath = path);\nexport const getMasterKeyPath = () => _state.masterKeyPath;\n\nexport const setOutputFile = (file: string) => (_state.outputFile = file);\nexport const getOutputFile = () => _state.outputFile;\n\nexport const setDirectory = (directory: string) =>\n (_state.directory = directory);\nexport const getDirectory = () => _state.directory;\n\nexport const setPrintHandler = (\n handler: (message: string | object, type?: string, newline?: boolean) => void\n) => (_state.printHandler = handler);\nexport const getPrintHandler = () => _state.printHandler;\n\nexport const setVerboseHandler = (\n handler: (message: string | object) => void\n) => (_state.verboseHandler = handler);\nexport const getVerboseHandler = () => _state.verboseHandler;\nexport const setVerbose = (verbose: boolean) => (_state.verbose = verbose);\nexport const getVerbose = (): boolean => _state.verbose;\n\nexport const setDebugHandler = (handler: (message: string | object) => void) =>\n (_state.debugHandler = handler);\nexport const getDebugHandler = () => _state.debugHandler;\nexport const setDebug = (debug: boolean) => (_state.debug = debug);\nexport const getDebug = (): boolean =>\n _state.debug || process.env.FRODO_DEBUG !== undefined;\n\nexport const setCurlirizeHandler = (handler: (message: string) => void) =>\n (_state.curlirizeHandler = handler);\nexport const getCurlirizeHandler = () => _state.curlirizeHandler;\nexport const setCurlirize = (curlirize: boolean) =>\n (_state.curlirize = curlirize);\nexport const getCurlirize = (): boolean => _state.curlirize;\n\nexport const setCreateProgressHandler = (\n handler: (type: string, total?: number, message?: string) => void\n) => (_state.createProgressHandler = handler);\nexport const getCreateProgressHandler = () => _state.createProgressHandler;\nexport const setUpdateProgressHandler = (handler: (message: string) => void) =>\n (_state.updateProgressHandler = handler);\nexport const getUpdateProgressHandler = () => _state.updateProgressHandler;\nexport const setStopProgressHandler = (\n handler: (message: string, status?: string) => void\n) => (_state.stopProgressHandler = handler);\nexport const getStopProgressHandler = () => _state.stopProgressHandler;\n\n/**\n * @deprecated since version v0.17.0. Import state:\n *\n * ```import { state } from '@rockcarver/frodo-lib';```\n *\n * then call functions:\n *\n * ```const username = state.getUsername();```\n */\nexport default {\n session: {\n setHost,\n getHost,\n\n setTenant,\n getTenant,\n\n setUsername,\n getUsername,\n\n setPassword,\n getPassword,\n\n setRealm,\n getRealm,\n\n setDeploymentType,\n getDeploymentType,\n\n setAllowInsecureConnection,\n getAllowInsecureConnection,\n\n setCookieName,\n getCookieName,\n setCookieValue,\n getCookieValue,\n\n setAuthenticationHeaderOverrides,\n getAuthenticationHeaderOverrides,\n setAuthenticationService,\n getAuthenticationService,\n\n setServiceAccountId,\n getServiceAccountId,\n setServiceAccountJwk,\n getServiceAccountJwk,\n\n setUseBearerTokenForAmApis,\n getUseBearerTokenForAmApis,\n setBearerToken,\n getBearerToken,\n\n setLogApiKey,\n getLogApiKey,\n setLogApiSecret,\n getLogApiSecret,\n\n setAmVersion,\n getAmVersion,\n\n setFrodoVersion,\n getFrodoVersion,\n\n setConnectionProfilesPath,\n getConnectionProfilesPath,\n\n setMasterKeyPath,\n getMasterKeyPath,\n\n setOutputFile,\n getOutputFile,\n\n setDirectory,\n getDirectory,\n\n setPrintHandler,\n getPrintHandler,\n\n setVerboseHandler,\n getVerboseHandler,\n setVerbose,\n getVerbose,\n\n setDebugHandler,\n getDebugHandler,\n setDebug,\n getDebug,\n\n setCurlirizeHandler,\n getCurlirizeHandler,\n setCurlirize,\n getCurlirize,\n\n setCreateProgressHandler,\n getCreateProgressHandler,\n setUpdateProgressHandler,\n getUpdateProgressHandler,\n setStopProgressHandler,\n getStopProgressHandler,\n },\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"State.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","_state","authenticationHeaderOverrides","printHandler","message","console","dir","depth","log","verboseHandler","getVerbose","debugHandler","getDebug","curlirizeHandler","setHost","host","getHost","process","env","FRODO_HOST","setTenant","getTenant","setUsername","username","getUsername","FRODO_USERNAME","setPassword","password","getPassword","FRODO_PASSWORD","setRealm","realm","getRealm","FRODO_REALM","setDeploymentType","type","deploymentType","getDeploymentType","setAllowInsecureConnection","allowInsecureConnection","getAllowInsecureConnection","setCookieName","name","cookieName","getCookieName","setCookieValue","value","cookieValue","getCookieValue","setAuthenticationHeaderOverrides","overrides","getAuthenticationHeaderOverrides","setAuthenticationService","service","authenticationService","getAuthenticationService","FRODO_AUTHENTICATION_SERVICE","setServiceAccountId","uuid","serviceAccountId","getServiceAccountId","FRODO_SA_ID","setServiceAccountJwk","jwk","serviceAccountJwk","getServiceAccountJwk","FRODO_SA_JWK","undefined","setUseBearerTokenForAmApis","useBearerTokenForAmApis","getUseBearerTokenForAmApis","setBearerToken","token","bearerToken","getBearerToken","setLogApiKey","key","logApiKey","getLogApiKey","FRODO_LOG_KEY","setLogApiSecret","secret","logApiSecret","getLogApiSecret","FRODO_LOG_SECRET","setAmVersion","version","amVersion","getAmVersion","setFrodoVersion","frodoVersion","getFrodoVersion","setConnectionProfilesPath","connectionProfilesPath","getConnectionProfilesPath","setMasterKeyPath","masterKeyPath","getMasterKeyPath","setOutputFile","file","outputFile","getOutputFile","setDirectory","directory","getDirectory","setPrintHandler","handler","getPrintHandler","setVerboseHandler","getVerboseHandler","setVerbose","verbose","setDebugHandler","getDebugHandler","setDebug","debug","FRODO_DEBUG","setCurlirizeHandler","getCurlirizeHandler","setCurlirize","curlirize","getCurlirize","setCreateProgressHandler","createProgressHandler","getCreateProgressHandler","setUpdateProgressHandler","updateProgressHandler","getUpdateProgressHandler","setStopProgressHandler","stopProgressHandler","getStopProgressHandler","session"],"sources":["shared/State.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { JwkRsa } from '../ops/JoseOps';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nexport interface StateInterface {\n // connection settings\n host?: string;\n username?: string;\n password?: string;\n realm?: string;\n deploymentType?: string;\n allowInsecureConnection?: boolean;\n // customize authentication\n authenticationHeaderOverrides?: Record<string, string>;\n authenticationService?: string;\n // cookie settings\n cookieName?: string;\n cookieValue?: string;\n // service account settings\n serviceAccountId?: string;\n serviceAccountJwk?: JwkRsa;\n // bearer token settings\n useBearerTokenForAmApis?: boolean;\n bearerToken?: string;\n // log api settings\n logApiKey?: string;\n logApiSecret?: string;\n // versions\n amVersion?: string;\n frodoVersion?: string;\n // miscellaneous settings\n connectionProfilesPath?: string;\n masterKeyPath?: string;\n outputFile?: string;\n directory?: string;\n // output handler settings\n printHandler?: (\n message: string | object,\n type?: string,\n newline?: boolean\n ) => void;\n verboseHandler?: (message: string | object) => void;\n verbose?: boolean;\n debugHandler?: (message: string | object) => void;\n debug?: boolean;\n curlirizeHandler?: (message: string) => void;\n curlirize?: boolean;\n createProgressHandler?: (\n type: string,\n total?: number,\n message?: string\n ) => void;\n updateProgressHandler?: (message: string) => void;\n stopProgressHandler?: (message: string, status?: string) => void;\n}\n\nconst _state: StateInterface = {\n authenticationHeaderOverrides: {},\n printHandler: (message: string | object) => {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else {\n console.log(message);\n }\n },\n verboseHandler: (message: string | object) => {\n if (!message) return;\n if (getVerbose()) {\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else {\n console.log(message);\n }\n }\n },\n debugHandler: (message: string | object) => {\n if (!message) return;\n if (getDebug()) {\n if (typeof message === 'object') {\n console.dir(message, { depth: 6 });\n } else {\n console.log(message);\n }\n }\n },\n curlirizeHandler: (message: string) => {\n if (!message) return;\n if (getDebug()) {\n console.log(message);\n }\n },\n};\n\nexport const setHost = (host: string) => (_state.host = host);\nexport const getHost = () => _state.host || process.env.FRODO_HOST;\n\n/**\n * @deprecated since v0.17.0 use `setHost(host: string)` instead\n */\nexport const setTenant = setHost;\n/**\n * @deprecated since v0.17.0 use `getHost` instead\n */\nexport const getTenant = getHost;\n\nexport const setUsername = (username: string) => (_state.username = username);\nexport const getUsername = () => _state.username || process.env.FRODO_USERNAME;\n\nexport const setPassword = (password: string) => (_state.password = password);\nexport const getPassword = () => _state.password || process.env.FRODO_PASSWORD;\n\nexport const setRealm = (realm: string) => (_state.realm = realm);\nexport const getRealm = () => _state.realm || process.env.FRODO_REALM;\n\nexport const setDeploymentType = (type: string) =>\n (_state.deploymentType = type);\nexport const getDeploymentType = () => _state.deploymentType;\n\nexport const setAllowInsecureConnection = (allowInsecureConnection: boolean) =>\n (_state.allowInsecureConnection = allowInsecureConnection);\nexport const getAllowInsecureConnection = () =>\n _state['allowInsecureConnection'];\n\nexport const setCookieName = (name: string) => (_state.cookieName = name);\nexport const getCookieName = () => _state.cookieName;\nexport const setCookieValue = (value: string) => (_state.cookieValue = value);\nexport const getCookieValue = () => _state.cookieValue;\n\nexport const setAuthenticationHeaderOverrides = (\n overrides: Record<string, string>\n) => (_state.authenticationHeaderOverrides = overrides);\nexport const getAuthenticationHeaderOverrides = () =>\n _state.authenticationHeaderOverrides;\nexport const setAuthenticationService = (service: string) =>\n (_state.authenticationService = service);\nexport const getAuthenticationService = () =>\n _state.authenticationService || process.env.FRODO_AUTHENTICATION_SERVICE;\n\nexport const setServiceAccountId = (uuid: string) =>\n (_state.serviceAccountId = uuid);\nexport const getServiceAccountId = (): string =>\n _state.serviceAccountId || process.env.FRODO_SA_ID;\nexport const setServiceAccountJwk = (jwk: JwkRsa) =>\n (_state.serviceAccountJwk = { ...jwk });\nexport const getServiceAccountJwk = (): JwkRsa =>\n _state.serviceAccountJwk ||\n (process.env.FRODO_SA_JWK ? JSON.parse(process.env.FRODO_SA_JWK) : undefined);\n\nexport const setUseBearerTokenForAmApis = (useBearerTokenForAmApis: boolean) =>\n (_state.useBearerTokenForAmApis = useBearerTokenForAmApis);\nexport const getUseBearerTokenForAmApis = () => _state.useBearerTokenForAmApis;\nexport const setBearerToken = (token: string) => (_state.bearerToken = token);\nexport const getBearerToken = () => _state.bearerToken;\n\nexport const setLogApiKey = (key: string) => (_state.logApiKey = key);\nexport const getLogApiKey = () => _state.logApiKey || process.env.FRODO_LOG_KEY;\nexport const setLogApiSecret = (secret: string) =>\n (_state.logApiSecret = secret);\nexport const getLogApiSecret = () =>\n _state.logApiSecret || process.env.FRODO_LOG_SECRET;\n\nexport const setAmVersion = (version: string) => (_state.amVersion = version);\nexport const getAmVersion = () => _state.amVersion;\n\nexport const setFrodoVersion = (version: string) =>\n (_state.frodoVersion = version);\nexport const getFrodoVersion = () =>\n _state.frodoVersion || `v${pkg.version} [${process.version}]`;\n\nexport const setConnectionProfilesPath = (path: string) =>\n (_state.connectionProfilesPath = path);\nexport const getConnectionProfilesPath = () => _state.connectionProfilesPath;\n\nexport const setMasterKeyPath = (path: string) => (_state.masterKeyPath = path);\nexport const getMasterKeyPath = () => _state.masterKeyPath;\n\nexport const setOutputFile = (file: string) => (_state.outputFile = file);\nexport const getOutputFile = () => _state.outputFile;\n\nexport const setDirectory = (directory: string) =>\n (_state.directory = directory);\nexport const getDirectory = () => _state.directory;\n\nexport const setPrintHandler = (\n handler: (message: string | object, type?: string, newline?: boolean) => void\n) => (_state.printHandler = handler);\nexport const getPrintHandler = () => _state.printHandler;\n\nexport const setVerboseHandler = (\n handler: (message: string | object) => void\n) => (_state.verboseHandler = handler);\nexport const getVerboseHandler = () => _state.verboseHandler;\nexport const setVerbose = (verbose: boolean) => (_state.verbose = verbose);\nexport const getVerbose = (): boolean => _state.verbose;\n\nexport const setDebugHandler = (handler: (message: string | object) => void) =>\n (_state.debugHandler = handler);\nexport const getDebugHandler = () => _state.debugHandler;\nexport const setDebug = (debug: boolean) => (_state.debug = debug);\nexport const getDebug = (): boolean =>\n _state.debug || process.env.FRODO_DEBUG !== undefined;\n\nexport const setCurlirizeHandler = (handler: (message: string) => void) =>\n (_state.curlirizeHandler = handler);\nexport const getCurlirizeHandler = () => _state.curlirizeHandler;\nexport const setCurlirize = (curlirize: boolean) =>\n (_state.curlirize = curlirize);\nexport const getCurlirize = (): boolean => _state.curlirize;\n\nexport const setCreateProgressHandler = (\n handler: (type: string, total?: number, message?: string) => void\n) => (_state.createProgressHandler = handler);\nexport const getCreateProgressHandler = () => _state.createProgressHandler;\nexport const setUpdateProgressHandler = (handler: (message: string) => void) =>\n (_state.updateProgressHandler = handler);\nexport const getUpdateProgressHandler = () => _state.updateProgressHandler;\nexport const setStopProgressHandler = (\n handler: (message: string, status?: string) => void\n) => (_state.stopProgressHandler = handler);\nexport const getStopProgressHandler = () => _state.stopProgressHandler;\n\n/**\n * @deprecated since version v0.17.0. Import state:\n *\n * ```import { state } from '@rockcarver/frodo-lib';```\n *\n * then call functions:\n *\n * ```const username = state.getUsername();```\n */\nexport default {\n session: {\n setHost,\n getHost,\n\n setTenant,\n getTenant,\n\n setUsername,\n getUsername,\n\n setPassword,\n getPassword,\n\n setRealm,\n getRealm,\n\n setDeploymentType,\n getDeploymentType,\n\n setAllowInsecureConnection,\n getAllowInsecureConnection,\n\n setCookieName,\n getCookieName,\n setCookieValue,\n getCookieValue,\n\n setAuthenticationHeaderOverrides,\n getAuthenticationHeaderOverrides,\n setAuthenticationService,\n getAuthenticationService,\n\n setServiceAccountId,\n getServiceAccountId,\n setServiceAccountJwk,\n getServiceAccountJwk,\n\n setUseBearerTokenForAmApis,\n getUseBearerTokenForAmApis,\n setBearerToken,\n getBearerToken,\n\n setLogApiKey,\n getLogApiKey,\n setLogApiSecret,\n getLogApiSecret,\n\n setAmVersion,\n getAmVersion,\n\n setFrodoVersion,\n getFrodoVersion,\n\n setConnectionProfilesPath,\n getConnectionProfilesPath,\n\n setMasterKeyPath,\n getMasterKeyPath,\n\n setOutputFile,\n getOutputFile,\n\n setDirectory,\n getDirectory,\n\n setPrintHandler,\n getPrintHandler,\n\n setVerboseHandler,\n getVerboseHandler,\n setVerbose,\n getVerbose,\n\n setDebugHandler,\n getDebugHandler,\n setDebug,\n getDebug,\n\n setCurlirizeHandler,\n getCurlirizeHandler,\n setCurlirize,\n getCurlirize,\n\n setCreateProgressHandler,\n getCreateProgressHandler,\n setUpdateProgressHandler,\n getUpdateProgressHandler,\n setStopProgressHandler,\n getStopProgressHandler,\n },\n};\n"],"mappings":"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"}
|