@rockcarver/frodo-lib 2.0.0-50 → 2.0.0-52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build.zip +0 -0
- package/cjs/api/BaseApi.js +3 -2
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js +3 -1
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/lib/FrodoLib.js +3 -1
- package/cjs/lib/FrodoLib.js.map +1 -1
- package/cjs/ops/AdminOps.js +153 -48
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +12 -4
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/ApplicationOps.js +7 -2
- package/cjs/ops/ApplicationOps.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +20 -6
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectorOps.js +3 -1
- package/cjs/ops/ConnectorOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +3 -1
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/IdmConfigOps.js +4 -1
- package/cjs/ops/IdmConfigOps.js.map +1 -1
- package/cjs/ops/IdpOps.js +3 -1
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/JourneyOps.js +19 -5
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/MappingOps.js +3 -1
- package/cjs/ops/MappingOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +14 -4
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +4 -1
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OAuth2OidcOps.js +15 -1
- package/cjs/ops/OAuth2OidcOps.js.map +1 -1
- package/cjs/ops/PolicyOps.js +4 -1
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +4 -1
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.js +4 -1
- package/cjs/ops/ResourceTypeOps.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +3 -1
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/ScriptOps.js +3 -1
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/ServiceOps.js +4 -1
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +3 -1
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.js +3 -1
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/StartupOps.js +11 -2
- package/cjs/ops/cloud/StartupOps.js.map +1 -1
- package/cjs/ops/cloud/VariablesOps.js +3 -1
- package/cjs/ops/cloud/VariablesOps.js.map +1 -1
- package/cjs/shared/State.js.map +1 -1
- package/cjs/utils/Console.js +7 -5
- package/cjs/utils/Console.js.map +1 -1
- package/cjs/utils/ExportImportUtils.js +7 -10
- package/cjs/utils/ExportImportUtils.js.map +1 -1
- package/cjs/utils/SetupPollyForFrodoLib.js +3 -0
- package/cjs/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/esm/api/BaseApi.js +3 -2
- package/esm/api/BaseApi.js.map +1 -1
- package/esm/api/OAuth2OIDCApi.js +3 -1
- package/esm/api/OAuth2OIDCApi.js.map +1 -1
- package/esm/lib/FrodoLib.js +3 -1
- package/esm/lib/FrodoLib.js.map +1 -1
- package/esm/ops/AdminOps.js +124 -35
- package/esm/ops/AdminOps.js.map +1 -1
- package/esm/ops/AgentOps.js +12 -4
- package/esm/ops/AgentOps.js.map +1 -1
- package/esm/ops/ApplicationOps.js +7 -2
- package/esm/ops/ApplicationOps.js.map +1 -1
- package/esm/ops/CirclesOfTrustOps.js +19 -4
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/ConnectorOps.js +3 -1
- package/esm/ops/ConnectorOps.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js +3 -1
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/IdmConfigOps.js +4 -1
- package/esm/ops/IdmConfigOps.js.map +1 -1
- package/esm/ops/IdpOps.js +3 -1
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/JourneyOps.js +19 -5
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/MappingOps.js +3 -1
- package/esm/ops/MappingOps.js.map +1 -1
- package/esm/ops/NodeOps.js +14 -4
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/OAuth2ClientOps.js +4 -1
- package/esm/ops/OAuth2ClientOps.js.map +1 -1
- package/esm/ops/OAuth2OidcOps.js +15 -1
- package/esm/ops/OAuth2OidcOps.js.map +1 -1
- package/esm/ops/PolicyOps.js +4 -1
- package/esm/ops/PolicyOps.js.map +1 -1
- package/esm/ops/PolicySetOps.js +4 -1
- package/esm/ops/PolicySetOps.js.map +1 -1
- package/esm/ops/ResourceTypeOps.js +4 -1
- package/esm/ops/ResourceTypeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js +3 -1
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/ScriptOps.js +3 -1
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/ServiceOps.js +4 -1
- package/esm/ops/ServiceOps.js.map +1 -1
- package/esm/ops/ThemeOps.js +3 -1
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/cloud/SecretsOps.js +3 -1
- package/esm/ops/cloud/SecretsOps.js.map +1 -1
- package/esm/ops/cloud/StartupOps.js +11 -2
- package/esm/ops/cloud/StartupOps.js.map +1 -1
- package/esm/ops/cloud/VariablesOps.js +3 -1
- package/esm/ops/cloud/VariablesOps.js.map +1 -1
- package/esm/shared/State.js.map +1 -1
- package/esm/utils/Console.js +7 -5
- package/esm/utils/Console.js.map +1 -1
- package/esm/utils/ExportImportUtils.js +7 -10
- package/esm/utils/ExportImportUtils.js.map +1 -1
- package/esm/utils/SetupPollyForFrodoLib.js +3 -0
- package/esm/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/package.json +1 -1
- package/types/api/BaseApi.d.ts +7 -4
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/OAuth2OIDCApi.d.ts +2 -1
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
- package/types/lib/FrodoLib.d.ts +2 -0
- package/types/lib/FrodoLib.d.ts.map +1 -1
- package/types/ops/AdminOps.d.ts +36 -9
- package/types/ops/AdminOps.d.ts.map +1 -1
- package/types/ops/AgentOps.d.ts.map +1 -1
- package/types/ops/ApplicationOps.d.ts.map +1 -1
- package/types/ops/CirclesOfTrustOps.d.ts +11 -1
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
- package/types/ops/ConnectorOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdmConfigOps.d.ts.map +1 -1
- package/types/ops/IdpOps.d.ts.map +1 -1
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/MappingOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OAuth2OidcOps.d.ts +2 -1
- package/types/ops/OAuth2OidcOps.d.ts.map +1 -1
- package/types/ops/PolicyOps.d.ts.map +1 -1
- package/types/ops/PolicySetOps.d.ts.map +1 -1
- package/types/ops/ResourceTypeOps.d.ts.map +1 -1
- package/types/ops/Saml2Ops.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts +4 -4
- package/types/ops/ThemeOps.d.ts.map +1 -1
- package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
- package/types/ops/cloud/StartupOps.d.ts.map +1 -1
- package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
- package/types/shared/State.d.ts +10 -9
- package/types/shared/State.d.ts.map +1 -1
- package/types/utils/Console.d.ts +9 -5
- package/types/utils/Console.d.ts.map +1 -1
- package/types/utils/ExportImportUtils.d.ts +5 -0
- package/types/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/utils/SetupPollyForFrodoLib.d.ts.map +1 -1
package/build.zip
CHANGED
|
Binary file
|
package/cjs/api/BaseApi.js
CHANGED
|
@@ -195,6 +195,7 @@ function generateOauth2Api(_ref2) {
|
|
|
195
195
|
var {
|
|
196
196
|
resource,
|
|
197
197
|
requestOverride = {},
|
|
198
|
+
authenticate = true,
|
|
198
199
|
state
|
|
199
200
|
} = _ref2;
|
|
200
201
|
var headers = _objectSpread(_objectSpread(_objectSpread({
|
|
@@ -202,9 +203,9 @@ function generateOauth2Api(_ref2) {
|
|
|
202
203
|
'X-ForgeRock-TransactionId': transactionId
|
|
203
204
|
}, resource.apiVersion && {
|
|
204
205
|
'Accept-API-Version': resource.apiVersion
|
|
205
|
-
}), !state.getUseBearerTokenForAmApis() && state.getCookieName() && state.getCookieValue() && {
|
|
206
|
+
}), authenticate && !state.getUseBearerTokenForAmApis() && state.getCookieName() && state.getCookieValue() && {
|
|
206
207
|
Cookie: "".concat(state.getCookieName(), "=").concat(state.getCookieValue())
|
|
207
|
-
}), state.getUseBearerTokenForAmApis() && state.getBearerToken() && {
|
|
208
|
+
}), authenticate && state.getUseBearerTokenForAmApis() && state.getBearerToken() && {
|
|
208
209
|
Authorization: "Bearer ".concat(state.getBearerToken())
|
|
209
210
|
});
|
|
210
211
|
if (requestOverride['headers']) {
|
package/cjs/api/BaseApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseApi.js","names":["_agentkeepalive","_interopRequireDefault","require","_axios","_axiosRetry","_crypto","_fs","_httpsProxyAgent","_path","_url","_curlirize2","_State","_Console","_JsonUtils","_SetupPollyForFrodoLib","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","process","env","FRODO_MOCK","setupPollyForFrodoLib","state","StateImpl","__dirname","path","dirname","fileURLToPath","pathToFileURL","__filename","toString","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","axios","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","concat","name","version","transactionId","randomUUID","httpAgent","httpsAgent","getHttpAgent","Agent","getHttpsAgent","allowInsecureConnection","options","rejectUnauthorized","httpsProxy","HTTPS_PROXY","https_proxy","console","error","parsed","URL","hostname","port","protocol","HttpsProxyAgent","HttpsAgent","getProxy","curlirize","request","_curlirize","result","err","isAxiosError","_err$response","_err$response2","_err$response3","_err$response4","_err$response5","printMessage","message","response","status","data","type","command","curlirizeMessage","statusText","generateAmApi","_ref","resource","requestOverride","headers","apiVersion","getUseBearerTokenForAmApis","getCookieName","getCookieValue","Cookie","getBearerToken","Authorization","requestDetails","mergeDeep","getAuthenticationHeaderOverrides","getAllowInsecureConnection","proxy","create","getCurlirize","generateOauth2Api","_ref2","generateIdmApi","_ref3","generateLogKeysApi","_ref4","generateLogApi","_ref5","getLogApiKey","getLogApiSecret","generateEnvApi","_ref6","generateReleaseApi","_ref7","baseUrl","baseURL"],"sources":["../../src/api/BaseApi.ts"],"sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosError, AxiosInstance, AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport { randomUUID } from 'crypto';\nimport fs from 'fs';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport _curlirize from '../ext/axios-curlirize/curlirize';\nimport StateImpl, { State } from '../shared/State';\nimport { curlirizeMessage, printMessage } from '../utils/Console';\nimport { mergeDeep } from '../utils/JsonUtils';\nimport { setupPollyForFrodoLib } from '../utils/SetupPollyForFrodoLib';\n\nif (process.env.FRODO_MOCK) {\n setupPollyForFrodoLib({ state: StateImpl({}) });\n}\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\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nconst transactionId = `frodo-${randomUUID()}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {Agent.HttpsAgent} appropriate httpsAgent\n */\nfunction getHttpsAgent(allowInsecureConnection: boolean): Agent.HttpsAgent {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !allowInsecureConnection,\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = new URL(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !allowInsecureConnection;\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request, state: State) {\n _curlirize(request, (result, err: Error | AxiosError) => {\n if (err) {\n if (axios.isAxiosError(err)) {\n // Access to config, request, and response\n printMessage({\n message: `${err.response?.status}${\n err.response?.data['reason']\n ? ' ' + err.response?.data['reason']\n : ''\n }${\n err.response?.data['message']\n ? ' - ' + err.response?.data['message']\n : ''\n }`,\n type: 'error',\n state,\n });\n } else {\n // Just a stock error\n printMessage({ message: err, type: 'error', state });\n }\n } else if (result.command) {\n curlirizeMessage({ message: result.command, state });\n } else if (result.response) {\n printMessage({\n message: `${result.response.status} ${result.response.statusText}`,\n type: 'info',\n state,\n });\n }\n });\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi({\n resource,\n requestOverride = {},\n state,\n}: {\n resource;\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n\n const requestDetails = mergeDeep(\n {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api({\n resource,\n requestOverride = {},\n state,\n}: {\n resource;\n requestOverride?;\n state: State;\n}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?: any;\n state: State;\n}) {\n const requestDetails = mergeDeep(\n {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n // if (storage.session.getBearerToken()) {\n // requestDetails.headers[\n // 'Authorization'\n // ] = `Bearer ${storage.session.getBearerToken()}`;\n // }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = mergeDeep(\n {\n timeout,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': state.getLogApiKey(),\n 'X-API-Secret': state.getLogApiSecret(),\n };\n const requestDetails = mergeDeep(\n {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an Axios instance for the Identity Cloud Environment API\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateEnvApi({\n resource,\n requestOverride = {},\n state,\n}: {\n resource: { apiVersion: string };\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi({\n baseUrl,\n requestOverride = {},\n state,\n}: {\n baseUrl: string;\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseApi.js","names":["_agentkeepalive","_interopRequireDefault","require","_axios","_axiosRetry","_crypto","_fs","_httpsProxyAgent","_path","_url","_curlirize2","_State","_Console","_JsonUtils","_SetupPollyForFrodoLib","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","process","env","FRODO_MOCK","setupPollyForFrodoLib","state","StateImpl","__dirname","path","dirname","fileURLToPath","pathToFileURL","__filename","toString","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","axios","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","concat","name","version","transactionId","randomUUID","httpAgent","httpsAgent","getHttpAgent","Agent","getHttpsAgent","allowInsecureConnection","options","rejectUnauthorized","httpsProxy","HTTPS_PROXY","https_proxy","console","error","parsed","URL","hostname","port","protocol","HttpsProxyAgent","HttpsAgent","getProxy","curlirize","request","_curlirize","result","err","isAxiosError","_err$response","_err$response2","_err$response3","_err$response4","_err$response5","printMessage","message","response","status","data","type","command","curlirizeMessage","statusText","generateAmApi","_ref","resource","requestOverride","headers","apiVersion","getUseBearerTokenForAmApis","getCookieName","getCookieValue","Cookie","getBearerToken","Authorization","requestDetails","mergeDeep","getAuthenticationHeaderOverrides","getAllowInsecureConnection","proxy","create","getCurlirize","generateOauth2Api","_ref2","authenticate","generateIdmApi","_ref3","generateLogKeysApi","_ref4","generateLogApi","_ref5","getLogApiKey","getLogApiSecret","generateEnvApi","_ref6","generateReleaseApi","_ref7","baseUrl","baseURL"],"sources":["../../src/api/BaseApi.ts"],"sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, {\n AxiosError,\n AxiosInstance,\n AxiosProxyConfig,\n AxiosRequestConfig,\n} from 'axios';\nimport axiosRetry from 'axios-retry';\nimport { randomUUID } from 'crypto';\nimport fs from 'fs';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport _curlirize from '../ext/axios-curlirize/curlirize';\nimport StateImpl, { State } from '../shared/State';\nimport { curlirizeMessage, printMessage } from '../utils/Console';\nimport { mergeDeep } from '../utils/JsonUtils';\nimport { setupPollyForFrodoLib } from '../utils/SetupPollyForFrodoLib';\n\nif (process.env.FRODO_MOCK) {\n setupPollyForFrodoLib({ state: StateImpl({}) });\n}\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\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nconst transactionId = `frodo-${randomUUID()}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {Agent.HttpsAgent} appropriate httpsAgent\n */\nfunction getHttpsAgent(allowInsecureConnection: boolean): Agent.HttpsAgent {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !allowInsecureConnection,\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = new URL(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !allowInsecureConnection;\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request, state: State) {\n _curlirize(request, (result, err: Error | AxiosError) => {\n if (err) {\n if (axios.isAxiosError(err)) {\n // Access to config, request, and response\n printMessage({\n message: `${err.response?.status}${\n err.response?.data['reason']\n ? ' ' + err.response?.data['reason']\n : ''\n }${\n err.response?.data['message']\n ? ' - ' + err.response?.data['message']\n : ''\n }`,\n type: 'error',\n state,\n });\n } else {\n // Just a stock error\n printMessage({ message: err, type: 'error', state });\n }\n } else if (result.command) {\n curlirizeMessage({ message: result.command, state });\n } else if (result.response) {\n printMessage({\n message: `${result.response.status} ${result.response.statusText}`,\n type: 'info',\n state,\n });\n }\n });\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi({\n resource,\n requestOverride = {},\n state,\n}: {\n resource;\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n\n const requestDetails = mergeDeep(\n {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api({\n resource,\n requestOverride = {},\n authenticate = true,\n state,\n}: {\n resource: { apiVersion: string };\n requestOverride?: AxiosRequestConfig;\n authenticate?: boolean;\n state: State;\n}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(authenticate &&\n !state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(authenticate &&\n state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?: any;\n state: State;\n}) {\n const requestDetails = mergeDeep(\n {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n // if (storage.session.getBearerToken()) {\n // requestDetails.headers[\n // 'Authorization'\n // ] = `Bearer ${storage.session.getBearerToken()}`;\n // }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = mergeDeep(\n {\n timeout,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': state.getLogApiKey(),\n 'X-API-Secret': state.getLogApiSecret(),\n };\n const requestDetails = mergeDeep(\n {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an Axios instance for the Identity Cloud Environment API\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateEnvApi({\n resource,\n requestOverride = {},\n state,\n}: {\n resource: { apiVersion: string };\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi({\n baseUrl,\n requestOverride = {},\n state,\n}: {\n baseUrl: string;\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n"],"mappings":"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"}
|
package/cjs/api/OAuth2OIDCApi.js
CHANGED
|
@@ -74,14 +74,16 @@ function _accessToken() {
|
|
|
74
74
|
amBaseUrl,
|
|
75
75
|
postData,
|
|
76
76
|
config,
|
|
77
|
+
realm = false,
|
|
77
78
|
state
|
|
78
79
|
} = _ref2;
|
|
79
|
-
var accessTokenURL = _util.default.format(accessTokenUrlTemplate, amBaseUrl, '');
|
|
80
|
+
var accessTokenURL = _util.default.format(accessTokenUrlTemplate, amBaseUrl, realm ? (0, _ForgeRockUtils.getCurrentRealmPath)(state) : '');
|
|
80
81
|
var {
|
|
81
82
|
data
|
|
82
83
|
} = yield (0, _BaseApi.generateOauth2Api)({
|
|
83
84
|
resource: getApiConfig(),
|
|
84
85
|
requestOverride: {},
|
|
86
|
+
authenticate: false,
|
|
85
87
|
state
|
|
86
88
|
}).post(accessTokenURL, postData, config);
|
|
87
89
|
return data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OAuth2OIDCApi.js","names":["_qs","_interopRequireDefault","require","_util","_Base64Utils","_ForgeRockUtils","_BaseApi","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","authorizeUrlTemplate","accessTokenUrlTemplate","tokenInfoUrlTemplate","apiVersion","getApiConfig","authorize","_x","_authorize","_ref","amBaseUrl","data","config","state","authorizeURL","util","format","generateOauth2Api","resource","requestOverride","post","accessToken","_x2","_accessToken","_ref2","postData","accessTokenURL","getTokenInfo","_x3","_getTokenInfo","_ref3","get","clientCredentialsGrant","_x4","_clientCredentialsGrant","_ref4","clientId","clientSecret","scope","urlString","
|
|
1
|
+
{"version":3,"file":"OAuth2OIDCApi.js","names":["_qs","_interopRequireDefault","require","_util","_Base64Utils","_ForgeRockUtils","_BaseApi","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","authorizeUrlTemplate","accessTokenUrlTemplate","tokenInfoUrlTemplate","apiVersion","getApiConfig","authorize","_x","_authorize","_ref","amBaseUrl","data","config","state","authorizeURL","util","format","generateOauth2Api","resource","requestOverride","post","accessToken","_x2","_accessToken","_ref2","postData","realm","accessTokenURL","getCurrentRealmPath","authenticate","getTokenInfo","_x3","_getTokenInfo","_ref3","get","clientCredentialsGrant","_x4","_clientCredentialsGrant","_ref4","clientId","clientSecret","scope","urlString","headers","Authorization","concat","encode","requestBody","grant_type","qs","stringify","withCredentials"],"sources":["../../src/api/OAuth2OIDCApi.ts"],"sourcesContent":["import { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport qs from 'qs';\nimport util from 'util';\n\nimport { State } from '../shared/State';\nimport { encode } from '../utils/Base64Utils';\nimport { getCurrentRealmPath } from '../utils/ForgeRockUtils';\nimport { generateOauth2Api } from './BaseApi';\n\nconst authorizeUrlTemplate = '%s/oauth2%s/authorize';\nconst accessTokenUrlTemplate = '%s/oauth2%s/access_token';\nconst tokenInfoUrlTemplate = '%s/oauth2%s/tokeninfo';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\nexport type AccessTokenResponseType = {\n access_token: string;\n id_token?: string;\n scope: string;\n token_type: string;\n expires_in: number;\n};\n\nexport type TokenInfoResponseType = {\n sub: string;\n cts: string;\n auditTrackingId: string;\n subname: string;\n iss: string;\n tokenName: string;\n token_type: string;\n authGrantId: string;\n access_token: string;\n aud: string;\n nbf: number;\n grant_type: string;\n scope: string[];\n auth_time: number;\n sessionToken?: string;\n realm: string;\n exp: number;\n iat: number;\n expires_in: number;\n jti: string;\n [k: string]: string | number | string[];\n};\n\n/**\n * Perform the authorization step of the authorization code grant flow\n * @param {string} amBaseUrl access management base URL\n * @param {string} data body form data\n * @param {AxiosRequestConfig} config axios request config object\n * @param {State} state library state\n * @returns {Promise} a promise resolving to an object containing the authorization server response object\n */\nexport async function authorize({\n amBaseUrl,\n data,\n config,\n state,\n}: {\n amBaseUrl: string;\n data: string;\n config: AxiosRequestConfig;\n state: State;\n}): Promise<AxiosResponse<any, any>> {\n const authorizeURL = util.format(authorizeUrlTemplate, amBaseUrl, '');\n return generateOauth2Api({\n resource: getApiConfig(),\n requestOverride: {},\n state,\n }).post(authorizeURL, data, config);\n}\n\n/**\n * Perform access token request step of the authorization code grant flow\n * @param {string} amBaseUrl access management base URL\n * @param {string} data body form data\n * @param {AxiosRequestConfig} config config axios request config object\n * @param {State} state library state\n * @returns {Promise<AccessTokenResponseType>} a promise resolving to an object containing the authorization server response object containing the access token\n */\nexport async function accessToken({\n amBaseUrl,\n postData,\n config,\n realm = false,\n state,\n}: {\n amBaseUrl: string;\n postData: any;\n config: AxiosRequestConfig;\n realm?: boolean;\n state: State;\n}): Promise<AccessTokenResponseType> {\n const accessTokenURL = util.format(\n accessTokenUrlTemplate,\n amBaseUrl,\n realm ? getCurrentRealmPath(state) : ''\n );\n const { data } = await generateOauth2Api({\n resource: getApiConfig(),\n requestOverride: {},\n authenticate: false,\n state,\n }).post(accessTokenURL, postData, config);\n return data;\n}\n\n/**\n * Get token info\n * @param {string} amBaseUrl access management base URL\n * @param {AxiosRequestConfig} config config axios request config object\n * @param {State} state library state\n * @returns\n */\nexport async function getTokenInfo({\n amBaseUrl,\n config,\n state,\n}: {\n amBaseUrl: string;\n config: AxiosRequestConfig;\n state: State;\n}): Promise<TokenInfoResponseType> {\n const accessTokenURL = util.format(tokenInfoUrlTemplate, amBaseUrl, '');\n const { data } = await generateOauth2Api({\n resource: getApiConfig(),\n requestOverride: {},\n state,\n }).get(accessTokenURL, config);\n return data;\n}\n\n/**\n * Perform client credentials grant flow\n * @param {string} amBaseUrl access management base URL\n * @param {string} clientId client id\n * @param {string} clientSecret client secret\n * @param {string} scope space-delimited scope list\n * @param {State} state library state\n * @returns {Promise} a promise resolving to an object containing the authorization server response object\n */\nexport async function clientCredentialsGrant({\n amBaseUrl,\n clientId,\n clientSecret,\n scope,\n state,\n}: {\n amBaseUrl: string;\n clientId: string;\n clientSecret: string;\n scope: string;\n state: State;\n}): Promise<AccessTokenResponseType> {\n const urlString = util.format(\n accessTokenUrlTemplate,\n amBaseUrl,\n getCurrentRealmPath(state)\n );\n const requestOverride = {\n headers: {\n Authorization: `Basic ${encode(`${clientId}:${clientSecret}`)}`,\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n const requestBody = {\n grant_type: 'client_credentials',\n scope,\n };\n const { data } = await generateOauth2Api({\n resource: getApiConfig(),\n requestOverride,\n state,\n }).post(urlString, qs.stringify(requestBody), { withCredentials: true });\n return data;\n}\n"],"mappings":"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"}
|
package/cjs/lib/FrodoLib.js
CHANGED
|
@@ -32,6 +32,7 @@ var _NodeOps = _interopRequireDefault(require("../ops/NodeOps.js"));
|
|
|
32
32
|
var _OAuth2ClientOps = _interopRequireDefault(require("../ops/OAuth2ClientOps.js"));
|
|
33
33
|
var _OAuth2OidcOps = _interopRequireDefault(require("../ops/OAuth2OidcOps.js"));
|
|
34
34
|
var _OAuth2ProviderOps = _interopRequireDefault(require("../ops/OAuth2ProviderOps.js"));
|
|
35
|
+
var _OAuth2TrustedJwtIssuerOps = _interopRequireDefault(require("../ops/OAuth2TrustedJwtIssuerOps.js"));
|
|
35
36
|
var _OrganizationOps = _interopRequireDefault(require("../ops/OrganizationOps.js"));
|
|
36
37
|
var _PolicyOps = _interopRequireDefault(require("../ops/PolicyOps.js"));
|
|
37
38
|
var _PolicySetOps = _interopRequireDefault(require("../ops/PolicySetOps.js"));
|
|
@@ -114,7 +115,8 @@ var FrodoLib = exports.FrodoLib = function FrodoLib() {
|
|
|
114
115
|
client: (0, _OAuth2ClientOps.default)(state),
|
|
115
116
|
endpoint: (0, _OAuth2OidcOps.default)(state),
|
|
116
117
|
external: (0, _IdpOps.default)(state),
|
|
117
|
-
provider: (0, _OAuth2ProviderOps.default)(state)
|
|
118
|
+
provider: (0, _OAuth2ProviderOps.default)(state),
|
|
119
|
+
issuer: (0, _OAuth2TrustedJwtIssuerOps.default)(state)
|
|
118
120
|
},
|
|
119
121
|
realm: (0, _RealmOps.default)(state),
|
|
120
122
|
saml2: {
|
package/cjs/lib/FrodoLib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrodoLib.js","names":["FrodoLib","exports","config","arguments","length","undefined","state","StateImpl","admin","AdminOps","agent","AgentOps","app","ApplicationOps","authn","journey","JourneyOps","node","NodeOps","settings","AuthenticationSettingsOps","authz","policy","PolicyOps","policySet","PolicySetOps","resourceType","ResourceTypeOps","cloud","adminFed","AdminFederationOps","feature","FeatureOps","log","LogOps","secret","SecretsOps","serviceAccount","ServiceAccountOps","startup","StartupOps","variable","VariablesOps","conn","ConnectionProfileOps","cache","TokenCacheOps","email","template","EmailTemplateOps","idm","IdmConfigOps","connector","ConnectorOps","managed","ManagedObjectOps","mapping","MappingOps","organization","OrganizationOps","recon","ReconOps","system","IdmSystemOps","info","InfoOps","login","AuthenticateOps","oauth2oidc","client","OAuth2ClientOps","endpoint","OAuth2OidcOps","external","IdpOps","provider","OAuth2ProviderOps","realm","RealmOps","saml2","circlesOfTrust","CirclesOfTrustOps","entityProvider","Saml2Ops","script","ScriptOps","service","ServiceOps","theme","ThemeOps","utils","_objectSpread","ForgeRockUtils","ScriptValidationUtils","ExportImportUtils","Base64Utils","constants","ConstantsImpl","jose","JoseOps","json","JsonUtils","version","VersionUtils","createInstance","createInstanceWithAdminAccount","createInstanceWithServiceAccount","frodo","host","serviceAccountId","serviceAccountJwkStr","deploymentType","allowInsecureConnection","debug","curlirize","serviceAccountJwk","JSON","parse","username","password","_default","default"],"sources":["../../src/lib/FrodoLib.ts"],"sourcesContent":["// instantiable modules\nimport AdminOps, { Admin } from '../ops/AdminOps';\nimport AgentOps, { Agent } from '../ops/AgentOps';\nimport ApplicationOps, { Application } from '../ops/ApplicationOps';\nimport AuthenticateOps, { Authenticate } from '../ops/AuthenticateOps';\nimport AuthenticationSettingsOps, {\n AuthenticationSettings,\n} from '../ops/AuthenticationSettingsOps';\nimport CirclesOfTrustOps, { CirclesOfTrust } from '../ops/CirclesOfTrustOps';\nimport AdminFederationOps, {\n AdminFederation,\n} from '../ops/cloud/AdminFederationOps';\nimport FeatureOps, { Feature } from '../ops/cloud/FeatureOps';\nimport LogOps, { Log } from '../ops/cloud/LogOps';\nimport SecretsOps, { Secret } from '../ops/cloud/SecretsOps';\nimport ServiceAccountOps, {\n ServiceAccount,\n} from '../ops/cloud/ServiceAccountOps';\nimport StartupOps, { Startup } from '../ops/cloud/StartupOps';\nimport VariablesOps, { Variable } from '../ops/cloud/VariablesOps';\nimport ConnectionProfileOps, {\n ConnectionProfile,\n} from '../ops/ConnectionProfileOps';\nimport ConnectorOps, { Connector } from '../ops/ConnectorOps';\nimport EmailTemplateOps, { EmailTemplate } from '../ops/EmailTemplateOps';\nimport IdmConfigOps, { IdmConfig } from '../ops/IdmConfigOps';\nimport IdmSystemOps, { IdmSystem } from '../ops/IdmSystemOps';\nimport IdpOps, { Idp } from '../ops/IdpOps';\nimport InfoOps, { Info } from '../ops/InfoOps';\nimport JoseOps, { Jose } from '../ops/JoseOps';\nimport JourneyOps, { Journey } from '../ops/JourneyOps';\nimport ManagedObjectOps, { ManagedObject } from '../ops/ManagedObjectOps';\nimport MappingOps, { Mapping } from '../ops/MappingOps';\nimport NodeOps, { Node } from '../ops/NodeOps';\nimport OAuth2ClientOps, { OAuth2Client } from '../ops/OAuth2ClientOps';\nimport OAuth2OidcOps, { OAuth2Oidc } from '../ops/OAuth2OidcOps';\nimport OAuth2ProviderOps, { OAuth2Provider } from '../ops/OAuth2ProviderOps';\nimport OrganizationOps, { Organization } from '../ops/OrganizationOps';\nimport PolicyOps, { Policy } from '../ops/PolicyOps';\nimport PolicySetOps, { PolicySet } from '../ops/PolicySetOps';\nimport RealmOps, { Realm } from '../ops/RealmOps';\nimport ReconOps, { Recon } from '../ops/ReconOps';\nimport ResourceTypeOps, { ResourceType } from '../ops/ResourceTypeOps';\nimport Saml2Ops, { Saml2 } from '../ops/Saml2Ops';\nimport ScriptOps, { Script } from '../ops/ScriptOps';\nimport ServiceOps, { Service } from '../ops/ServiceOps';\nimport ThemeOps, { Theme } from '../ops/ThemeOps';\nimport TokenCacheOps, { TokenCache } from '../ops/TokenCacheOps';\nimport VersionUtils, { Version } from '../ops/VersionUtils';\n// non-instantiable modules\nimport ConstantsImpl, { Constants } from '../shared/Constants';\nimport StateImpl, { State, StateInterface } from '../shared/State';\nimport Base64Utils, { Base64 } from '../utils/Base64Utils';\nimport ExportImportUtils, { ExportImport } from '../utils/ExportImportUtils';\nimport ForgeRockUtils, { FRUtils } from '../utils/ForgeRockUtils';\nimport JsonUtils, { Json } from '../utils/JsonUtils';\nimport ScriptValidationUtils, {\n ScriptValidation,\n} from '../utils/ScriptValidationUtils';\n\n/**\n * Frodo Library\n */\nexport type Frodo = {\n state: State;\n admin: Admin;\n agent: Agent;\n app: Application;\n\n authn: {\n journey: Journey;\n node: Node;\n settings: AuthenticationSettings;\n };\n\n authz: {\n policy: Policy;\n policySet: PolicySet;\n resourceType: ResourceType;\n };\n\n cloud: {\n adminFed: AdminFederation;\n feature: Feature;\n log: Log;\n secret: Secret;\n serviceAccount: ServiceAccount;\n startup: Startup;\n variable: Variable;\n };\n\n conn: ConnectionProfile;\n cache: TokenCache;\n\n email: {\n template: EmailTemplate;\n };\n\n idm: {\n config: IdmConfig;\n connector: Connector;\n managed: ManagedObject;\n mapping: Mapping;\n organization: Organization;\n recon: Recon;\n system: IdmSystem;\n };\n\n info: Info;\n login: Authenticate;\n\n oauth2oidc: {\n client: OAuth2Client;\n endpoint: OAuth2Oidc;\n external: Idp;\n provider: OAuth2Provider;\n };\n\n realm: Realm;\n\n saml2: {\n circlesOfTrust: CirclesOfTrust;\n entityProvider: Saml2;\n };\n\n script: Script;\n service: Service;\n\n theme: Theme;\n\n utils: FRUtils &\n ScriptValidation &\n ExportImport &\n Base64 & {\n constants: Constants;\n jose: Jose;\n json: Json;\n version: Version;\n };\n\n /**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\n createInstance(config: StateInterface): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with an admin user account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} username admin account username\n * @param {string} password admin account password\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithAdminAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with a service account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} serviceAccountId service account uuid\n * @param {string} serviceAccountJwkStr service account JWK as stringified JSON\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n};\n\n/**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\nconst FrodoLib = (config: StateInterface = {}): Frodo => {\n const state = StateImpl(config);\n return {\n state: state,\n admin: AdminOps(state),\n agent: AgentOps(state),\n app: ApplicationOps(state),\n\n authn: {\n journey: JourneyOps(state),\n node: NodeOps(state),\n settings: AuthenticationSettingsOps(state),\n },\n\n authz: {\n policy: PolicyOps(state),\n policySet: PolicySetOps(state),\n resourceType: ResourceTypeOps(state),\n },\n\n cloud: {\n adminFed: AdminFederationOps(state),\n feature: FeatureOps(state),\n log: LogOps(state),\n secret: SecretsOps(state),\n serviceAccount: ServiceAccountOps(state),\n startup: StartupOps(state),\n variable: VariablesOps(state),\n },\n\n conn: ConnectionProfileOps(state),\n cache: TokenCacheOps(state),\n\n email: {\n template: EmailTemplateOps(state),\n },\n\n idm: {\n config: IdmConfigOps(state),\n connector: ConnectorOps(state),\n managed: ManagedObjectOps(state),\n mapping: MappingOps(state),\n organization: OrganizationOps(state),\n recon: ReconOps(state),\n system: IdmSystemOps(state),\n },\n\n info: InfoOps(state),\n login: AuthenticateOps(state),\n\n oauth2oidc: {\n client: OAuth2ClientOps(state),\n endpoint: OAuth2OidcOps(state),\n external: IdpOps(state),\n provider: OAuth2ProviderOps(state),\n },\n\n realm: RealmOps(state),\n\n saml2: {\n circlesOfTrust: CirclesOfTrustOps(state),\n entityProvider: Saml2Ops(state),\n },\n\n script: ScriptOps(state),\n service: ServiceOps(state),\n\n theme: ThemeOps(state),\n\n utils: {\n ...ForgeRockUtils(state),\n ...ScriptValidationUtils(state),\n ...ExportImportUtils(state),\n ...Base64Utils(),\n constants: ConstantsImpl,\n jose: JoseOps(state),\n json: JsonUtils(),\n version: VersionUtils(state),\n },\n\n createInstance,\n createInstanceWithAdminAccount,\n createInstanceWithServiceAccount,\n };\n};\n\nfunction createInstance(config: StateInterface): Frodo {\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n serviceAccountId,\n serviceAccountJwk: JSON.parse(serviceAccountJwkStr),\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithAdminAccount(\n host: string,\n username: string,\n password: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n username,\n password,\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\n/**\n * Default frodo instance\n *\n * @remarks\n *\n * If your application requires a single connection to a ForgeRock Identity Platform\n * instance at a time, then this default instance is all you need:\n *\n * In order to use the default {@link Frodo | frodo} instance, you must populate its {@link State | state} with the\n * minimum required information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n *\n * If your application needs to connect to multiple ForgeRock Identity Platform instances\n * simultaneously, then you will want to create additional frodo instances using any of\n * the available factory methods accessible from the default instance:\n *\n * {@link frodo.createInstance}\n * ```javascript\n * // use factory method to create a new Frodo instance\n * const instance1 = frodo.createInstance({\n * host: 'https://instance1/am',\n * username: 'admin',\n * password: 'p@ssw0rd!',\n * });\n *\n * // now the instance can login\n * instance1.login.getTokens();\n *\n * // and perform operations\n * instance1.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithAdminAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with an admin user account\n * const instance2 = frodo.createInstanceWithAdminAccount(\n * 'https://instance2/am',\n * 'admin',\n * 'p@ssw0rd!'\n * );\n *\n * // now the instance can login\n * instance2.login.getTokens();\n *\n * // and perform operations\n * instance2.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithServiceAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with a service account\n * const instance3 = frodo.createInstanceWithServiceAccount(\n * 'https://instance3/am',\n * 'serviceAccount',\n * '{\"k\":\"jwk\"}'\n * );\n *\n * // now the instance can login\n * instance3.login.getTokens();\n *\n * // and perform operations\n * instance3.authn.journey.exportJourney('Login');\n * ```\n */\nconst frodo = FrodoLib();\n\n/**\n * Default state instance\n *\n * @remarks\n *\n * {@link Frodo} maintains a {@link State | state} for each instance. The state is where Frodo gets configuration\n * information from like host to connecto to, username and password to use, whether to\n * allow insecure connections or not, etc. As the library operates, it updates its state.\n *\n * The default frodo instance contains an empty state instance by default. In order to\n * use the default frodo instance, you must populate its state with the minimum required\n * information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n */\nconst state = frodo.state;\n\nexport { frodo, FrodoLib, state };\n\nexport default FrodoLib;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FrodoLib.js","names":["FrodoLib","exports","config","arguments","length","undefined","state","StateImpl","admin","AdminOps","agent","AgentOps","app","ApplicationOps","authn","journey","JourneyOps","node","NodeOps","settings","AuthenticationSettingsOps","authz","policy","PolicyOps","policySet","PolicySetOps","resourceType","ResourceTypeOps","cloud","adminFed","AdminFederationOps","feature","FeatureOps","log","LogOps","secret","SecretsOps","serviceAccount","ServiceAccountOps","startup","StartupOps","variable","VariablesOps","conn","ConnectionProfileOps","cache","TokenCacheOps","email","template","EmailTemplateOps","idm","IdmConfigOps","connector","ConnectorOps","managed","ManagedObjectOps","mapping","MappingOps","organization","OrganizationOps","recon","ReconOps","system","IdmSystemOps","info","InfoOps","login","AuthenticateOps","oauth2oidc","client","OAuth2ClientOps","endpoint","OAuth2OidcOps","external","IdpOps","provider","OAuth2ProviderOps","issuer","OAuth2TrustedJwtIssuerOps","realm","RealmOps","saml2","circlesOfTrust","CirclesOfTrustOps","entityProvider","Saml2Ops","script","ScriptOps","service","ServiceOps","theme","ThemeOps","utils","_objectSpread","ForgeRockUtils","ScriptValidationUtils","ExportImportUtils","Base64Utils","constants","ConstantsImpl","jose","JoseOps","json","JsonUtils","version","VersionUtils","createInstance","createInstanceWithAdminAccount","createInstanceWithServiceAccount","frodo","host","serviceAccountId","serviceAccountJwkStr","deploymentType","allowInsecureConnection","debug","curlirize","serviceAccountJwk","JSON","parse","username","password","_default","default"],"sources":["../../src/lib/FrodoLib.ts"],"sourcesContent":["// instantiable modules\nimport AdminOps, { Admin } from '../ops/AdminOps';\nimport AgentOps, { Agent } from '../ops/AgentOps';\nimport ApplicationOps, { Application } from '../ops/ApplicationOps';\nimport AuthenticateOps, { Authenticate } from '../ops/AuthenticateOps';\nimport AuthenticationSettingsOps, {\n AuthenticationSettings,\n} from '../ops/AuthenticationSettingsOps';\nimport CirclesOfTrustOps, { CirclesOfTrust } from '../ops/CirclesOfTrustOps';\nimport AdminFederationOps, {\n AdminFederation,\n} from '../ops/cloud/AdminFederationOps';\nimport FeatureOps, { Feature } from '../ops/cloud/FeatureOps';\nimport LogOps, { Log } from '../ops/cloud/LogOps';\nimport SecretsOps, { Secret } from '../ops/cloud/SecretsOps';\nimport ServiceAccountOps, {\n ServiceAccount,\n} from '../ops/cloud/ServiceAccountOps';\nimport StartupOps, { Startup } from '../ops/cloud/StartupOps';\nimport VariablesOps, { Variable } from '../ops/cloud/VariablesOps';\nimport ConnectionProfileOps, {\n ConnectionProfile,\n} from '../ops/ConnectionProfileOps';\nimport ConnectorOps, { Connector } from '../ops/ConnectorOps';\nimport EmailTemplateOps, { EmailTemplate } from '../ops/EmailTemplateOps';\nimport IdmConfigOps, { IdmConfig } from '../ops/IdmConfigOps';\nimport IdmSystemOps, { IdmSystem } from '../ops/IdmSystemOps';\nimport IdpOps, { Idp } from '../ops/IdpOps';\nimport InfoOps, { Info } from '../ops/InfoOps';\nimport JoseOps, { Jose } from '../ops/JoseOps';\nimport JourneyOps, { Journey } from '../ops/JourneyOps';\nimport ManagedObjectOps, { ManagedObject } from '../ops/ManagedObjectOps';\nimport MappingOps, { Mapping } from '../ops/MappingOps';\nimport NodeOps, { Node } from '../ops/NodeOps';\nimport OAuth2ClientOps, { OAuth2Client } from '../ops/OAuth2ClientOps';\nimport OAuth2OidcOps, { OAuth2Oidc } from '../ops/OAuth2OidcOps';\nimport OAuth2ProviderOps, { OAuth2Provider } from '../ops/OAuth2ProviderOps';\nimport OAuth2TrustedJwtIssuerOps, {\n OAuth2TrustedJwtIssuer,\n} from '../ops/OAuth2TrustedJwtIssuerOps';\nimport OrganizationOps, { Organization } from '../ops/OrganizationOps';\nimport PolicyOps, { Policy } from '../ops/PolicyOps';\nimport PolicySetOps, { PolicySet } from '../ops/PolicySetOps';\nimport RealmOps, { Realm } from '../ops/RealmOps';\nimport ReconOps, { Recon } from '../ops/ReconOps';\nimport ResourceTypeOps, { ResourceType } from '../ops/ResourceTypeOps';\nimport Saml2Ops, { Saml2 } from '../ops/Saml2Ops';\nimport ScriptOps, { Script } from '../ops/ScriptOps';\nimport ServiceOps, { Service } from '../ops/ServiceOps';\nimport ThemeOps, { Theme } from '../ops/ThemeOps';\nimport TokenCacheOps, { TokenCache } from '../ops/TokenCacheOps';\nimport VersionUtils, { Version } from '../ops/VersionUtils';\n// non-instantiable modules\nimport ConstantsImpl, { Constants } from '../shared/Constants';\nimport StateImpl, { State, StateInterface } from '../shared/State';\nimport Base64Utils, { Base64 } from '../utils/Base64Utils';\nimport ExportImportUtils, { ExportImport } from '../utils/ExportImportUtils';\nimport ForgeRockUtils, { FRUtils } from '../utils/ForgeRockUtils';\nimport JsonUtils, { Json } from '../utils/JsonUtils';\nimport ScriptValidationUtils, {\n ScriptValidation,\n} from '../utils/ScriptValidationUtils';\n\n/**\n * Frodo Library\n */\nexport type Frodo = {\n state: State;\n admin: Admin;\n agent: Agent;\n app: Application;\n\n authn: {\n journey: Journey;\n node: Node;\n settings: AuthenticationSettings;\n };\n\n authz: {\n policy: Policy;\n policySet: PolicySet;\n resourceType: ResourceType;\n };\n\n cloud: {\n adminFed: AdminFederation;\n feature: Feature;\n log: Log;\n secret: Secret;\n serviceAccount: ServiceAccount;\n startup: Startup;\n variable: Variable;\n };\n\n conn: ConnectionProfile;\n cache: TokenCache;\n\n email: {\n template: EmailTemplate;\n };\n\n idm: {\n config: IdmConfig;\n connector: Connector;\n managed: ManagedObject;\n mapping: Mapping;\n organization: Organization;\n recon: Recon;\n system: IdmSystem;\n };\n\n info: Info;\n login: Authenticate;\n\n oauth2oidc: {\n client: OAuth2Client;\n endpoint: OAuth2Oidc;\n external: Idp;\n provider: OAuth2Provider;\n issuer: OAuth2TrustedJwtIssuer;\n };\n\n realm: Realm;\n\n saml2: {\n circlesOfTrust: CirclesOfTrust;\n entityProvider: Saml2;\n };\n\n script: Script;\n service: Service;\n\n theme: Theme;\n\n utils: FRUtils &\n ScriptValidation &\n ExportImport &\n Base64 & {\n constants: Constants;\n jose: Jose;\n json: Json;\n version: Version;\n };\n\n /**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\n createInstance(config: StateInterface): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with an admin user account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} username admin account username\n * @param {string} password admin account password\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithAdminAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with a service account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} serviceAccountId service account uuid\n * @param {string} serviceAccountJwkStr service account JWK as stringified JSON\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n};\n\n/**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\nconst FrodoLib = (config: StateInterface = {}): Frodo => {\n const state = StateImpl(config);\n return {\n state: state,\n admin: AdminOps(state),\n agent: AgentOps(state),\n app: ApplicationOps(state),\n\n authn: {\n journey: JourneyOps(state),\n node: NodeOps(state),\n settings: AuthenticationSettingsOps(state),\n },\n\n authz: {\n policy: PolicyOps(state),\n policySet: PolicySetOps(state),\n resourceType: ResourceTypeOps(state),\n },\n\n cloud: {\n adminFed: AdminFederationOps(state),\n feature: FeatureOps(state),\n log: LogOps(state),\n secret: SecretsOps(state),\n serviceAccount: ServiceAccountOps(state),\n startup: StartupOps(state),\n variable: VariablesOps(state),\n },\n\n conn: ConnectionProfileOps(state),\n cache: TokenCacheOps(state),\n\n email: {\n template: EmailTemplateOps(state),\n },\n\n idm: {\n config: IdmConfigOps(state),\n connector: ConnectorOps(state),\n managed: ManagedObjectOps(state),\n mapping: MappingOps(state),\n organization: OrganizationOps(state),\n recon: ReconOps(state),\n system: IdmSystemOps(state),\n },\n\n info: InfoOps(state),\n login: AuthenticateOps(state),\n\n oauth2oidc: {\n client: OAuth2ClientOps(state),\n endpoint: OAuth2OidcOps(state),\n external: IdpOps(state),\n provider: OAuth2ProviderOps(state),\n issuer: OAuth2TrustedJwtIssuerOps(state),\n },\n\n realm: RealmOps(state),\n\n saml2: {\n circlesOfTrust: CirclesOfTrustOps(state),\n entityProvider: Saml2Ops(state),\n },\n\n script: ScriptOps(state),\n service: ServiceOps(state),\n\n theme: ThemeOps(state),\n\n utils: {\n ...ForgeRockUtils(state),\n ...ScriptValidationUtils(state),\n ...ExportImportUtils(state),\n ...Base64Utils(),\n constants: ConstantsImpl,\n jose: JoseOps(state),\n json: JsonUtils(),\n version: VersionUtils(state),\n },\n\n createInstance,\n createInstanceWithAdminAccount,\n createInstanceWithServiceAccount,\n };\n};\n\nfunction createInstance(config: StateInterface): Frodo {\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n serviceAccountId,\n serviceAccountJwk: JSON.parse(serviceAccountJwkStr),\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithAdminAccount(\n host: string,\n username: string,\n password: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n username,\n password,\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\n/**\n * Default frodo instance\n *\n * @remarks\n *\n * If your application requires a single connection to a ForgeRock Identity Platform\n * instance at a time, then this default instance is all you need:\n *\n * In order to use the default {@link Frodo | frodo} instance, you must populate its {@link State | state} with the\n * minimum required information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n *\n * If your application needs to connect to multiple ForgeRock Identity Platform instances\n * simultaneously, then you will want to create additional frodo instances using any of\n * the available factory methods accessible from the default instance:\n *\n * {@link frodo.createInstance}\n * ```javascript\n * // use factory method to create a new Frodo instance\n * const instance1 = frodo.createInstance({\n * host: 'https://instance1/am',\n * username: 'admin',\n * password: 'p@ssw0rd!',\n * });\n *\n * // now the instance can login\n * instance1.login.getTokens();\n *\n * // and perform operations\n * instance1.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithAdminAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with an admin user account\n * const instance2 = frodo.createInstanceWithAdminAccount(\n * 'https://instance2/am',\n * 'admin',\n * 'p@ssw0rd!'\n * );\n *\n * // now the instance can login\n * instance2.login.getTokens();\n *\n * // and perform operations\n * instance2.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithServiceAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with a service account\n * const instance3 = frodo.createInstanceWithServiceAccount(\n * 'https://instance3/am',\n * 'serviceAccount',\n * '{\"k\":\"jwk\"}'\n * );\n *\n * // now the instance can login\n * instance3.login.getTokens();\n *\n * // and perform operations\n * instance3.authn.journey.exportJourney('Login');\n * ```\n */\nconst frodo = FrodoLib();\n\n/**\n * Default state instance\n *\n * @remarks\n *\n * {@link Frodo} maintains a {@link State | state} for each instance. The state is where Frodo gets configuration\n * information from like host to connecto to, username and password to use, whether to\n * allow insecure connections or not, etc. As the library operates, it updates its state.\n *\n * The default frodo instance contains an empty state instance by default. In order to\n * use the default frodo instance, you must populate its state with the minimum required\n * information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n */\nconst state = frodo.state;\n\nexport { frodo, FrodoLib, state };\n\nexport default FrodoLib;\n"],"mappings":"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"}
|