diff --git a/src/cli/config-manager/config-manager-push/config-manager-push-authz-policies.ts b/src/cli/config-manager/config-manager-push/config-manager-push-authz-policies.ts new file mode 100644 index 000000000..fa8bad763 --- /dev/null +++ b/src/cli/config-manager/config-manager-push/config-manager-push-authz-policies.ts @@ -0,0 +1,78 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { configManagerImportAuthzPolicy } from '../../../configManagerOps/FrConfigAuthzPoliciesOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; + +const { CLOUD_DEPLOYMENT_TYPE_KEY, FORGEOPS_DEPLOYMENT_TYPE_KEY } = + frodo.utils.constants; + +const deploymentTypes = [ + CLOUD_DEPLOYMENT_TYPE_KEY, + FORGEOPS_DEPLOYMENT_TYPE_KEY, +]; + +export default function setup() { + const program = new FrodoCommand( + 'frodo config-manager push authz-policies', + deploymentTypes + ); + + program + .description('Import authorization policies.') + .addOption( + new Option( + '-r, --realm ', + 'Specifies the realm to import from. Only policy sets from this realm will be imported.' + ) + ) + .addOption( + new Option( + '-n, --policy-name ', + 'Policy set name. If specified, only the policy set with the specified name is imported.' + ) + ) + + .action(async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + + if (options.name && !options.realm) { + printMessage( + 'The -n/--policy-name option requires -r/--realm to be specified.', + 'error' + ); + program.help(); + process.exitCode = 1; + return; + } + + if (await getTokens(false, true, deploymentTypes)) { + printMessage( + `Importing organization privileges config for authz policies` + ); + const outcome = await configManagerImportAuthzPolicy( + options.realm, + options.name + ); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.help(); + process.exitCode = 1; + } + }); + + return program; +} diff --git a/src/cli/config-manager/config-manager-push/config-manager-push.ts b/src/cli/config-manager/config-manager-push/config-manager-push.ts index cf423832d..c1c38b08b 100644 --- a/src/cli/config-manager/config-manager-push/config-manager-push.ts +++ b/src/cli/config-manager/config-manager-push/config-manager-push.ts @@ -4,6 +4,7 @@ import Audit from './config-manager-push-audit'; import Authentication from './config-manager-push-authentication'; import ConnectorDefinitions from './config-manager-push-connector-definitions'; import CookieDomains from './config-manager-push-cookie-domain'; +import AuthzPolicies from './config-manager-push-authz-policies'; import EmailProvider from './config-manager-push-email-provider'; import EmailTemplates from './config-manager-push-email-templates'; import Endpoints from './config-manager-push-endpoints'; @@ -43,6 +44,6 @@ export default function setup() { program.addCommand(UiConfig().name('ui-config')); program.addCommand(Authentication().name('authentication')); program.addCommand(ConnectorDefinitions().name('connector-definitions')); - + program.addCommand(AuthzPolicies().name('authz-policies')); return program; } diff --git a/src/configManagerOps/FrConfigAuthzPoliciesOps.ts b/src/configManagerOps/FrConfigAuthzPoliciesOps.ts index d0793c4c9..8453412ec 100644 --- a/src/configManagerOps/FrConfigAuthzPoliciesOps.ts +++ b/src/configManagerOps/FrConfigAuthzPoliciesOps.ts @@ -2,12 +2,15 @@ import { frodo, state } from '@rockcarver/frodo-lib'; import { PolicySkeleton } from '@rockcarver/frodo-lib/types/api/PoliciesApi'; import { PolicySetSkeleton } from '@rockcarver/frodo-lib/types/api/PolicySetApi'; import { ResourceTypeSkeleton } from '@rockcarver/frodo-lib/types/api/ResourceTypesApi'; +import { PolicySetExportInterface } from '@rockcarver/frodo-lib/types/ops/PolicySetOps'; +import fs from 'fs'; import { readFile } from 'fs/promises'; import { printError, verboseMessage } from '../utils/Console'; const { getFilePath, saveJsonToFile } = frodo.utils; const { policySet, policy, resourceType } = frodo.authz; +const { importPolicySet, importPolicySets } = frodo.authz.policySet; const { readRealms } = frodo.realm; type ByName = { policySetName: string }; @@ -228,3 +231,96 @@ export async function configManagerExportAuthzPoliciesAll(): Promise { return false; } } + +/** + * Import authz policy sets + * @param realm optional realm to import to + * @param name optional name to import + * @returns {Promise} true if all imports were successful + */ +export async function configManagerImportAuthzPolicy( + realm: string, + name: string +): Promise { + try { + let realmsToProcess: string[]; + if (realm) { + realmsToProcess = [realm]; + } else { + const realmsDir = getFilePath('realms/'); + realmsToProcess = fs + .readdirSync(realmsDir, { withFileTypes: true }) + .filter((entry) => entry.isDirectory()) + .map((entry) => entry.name); + } + + for (const realmName of realmsToProcess) { + state.setRealm(realmName); + + const realmAuthzDir = `realms/${realmName}/authorization`; + + const policySetsDir = getFilePath(`${realmAuthzDir}/policy-sets`); + const psDirs = name + ? [name] + : fs.existsSync(policySetsDir) + ? fs.readdirSync(policySetsDir) + : []; + + const policyset: Record = {}; + const policyMap: Record = {}; + const referencedResourceTypeUuids: Set = new Set(); + + for (const psDir of psDirs) { + const psFilePath = `${policySetsDir}/${psDir}/${psDir}.json`; + const psData = JSON.parse(fs.readFileSync(psFilePath, 'utf8')); + policyset[psData.name] = psData; + psData.resourceTypeUuids?.forEach((id: string) => + referencedResourceTypeUuids.add(id) + ); + + const policiesDir = `${policySetsDir}/${psDir}/policies`; + for (const file of fs.readdirSync(policiesDir)) { + if (file.endsWith('.json')) { + const pData = JSON.parse( + fs.readFileSync(`${policiesDir}/${file}`, 'utf8') + ); + policyMap[pData.name] = pData; + } + } + } + + const resourcetype: Record = {}; + const resourceTypesDir = getFilePath(`${realmAuthzDir}/resource-types`); + if (fs.existsSync(resourceTypesDir)) { + for (const file of fs.readdirSync(resourceTypesDir)) { + if (file.endsWith('.json')) { + const rtData = JSON.parse( + fs.readFileSync(`${resourceTypesDir}/${file}`, 'utf8') + ); + if (!name || referencedResourceTypeUuids.has(rtData.uuid)) { + resourcetype[rtData.uuid] = rtData; + } + } + } + } + + const importData: PolicySetExportInterface = { + script: {}, + resourcetype, + policy: policyMap, + policyset, + }; + + if (name) { + await importPolicySet(name, importData); + } else { + await importPolicySets(importData); + } + } + + return true; + } catch (error) { + printError(error); + return false; + } +} diff --git a/test/client_cli/en/__snapshots__/config-manager-push-authz-polocies.test.js.snap b/test/client_cli/en/__snapshots__/config-manager-push-authz-polocies.test.js.snap new file mode 100644 index 000000000..3d63db28c --- /dev/null +++ b/test/client_cli/en/__snapshots__/config-manager-push-authz-polocies.test.js.snap @@ -0,0 +1,32 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'config-manager push authz-policies' should be expected english 1`] = ` +"Usage: frodo config-manager push authz-policies [options] [host] [realm] [username] [password] + +[Experimental] Import authorization policies. + +Arguments: + host AM base URL, e.g.: + https://cdk.iam.example.com/am. To use a + connection profile, just specify a unique + substring or alias. + realm Realm. Specify realm as '/' for the root realm + or 'realm' or '/parent/child' otherwise. + (default: "alpha" for Identity Cloud tenants, + "/" otherwise.) + username Username to login with. Must be an admin user + with appropriate rights to manage authentication + journeys/trees. + password Password. + +Options: + -n, --policy-name Policy set name. If specified, only the policy + set with the specified name is imported. + -r, --realm Specifies the realm to import from. Only policy + sets from this realm will be imported. + -h, --help Help + -hh, --help-more Help with all options. + -hhh, --help-all Help with all options, environment variables, + and usage examples. +" +`; diff --git a/test/client_cli/en/__snapshots__/config-manager-push.test.js.snap b/test/client_cli/en/__snapshots__/config-manager-push.test.js.snap index c079ca13f..9403bed78 100644 --- a/test/client_cli/en/__snapshots__/config-manager-push.test.js.snap +++ b/test/client_cli/en/__snapshots__/config-manager-push.test.js.snap @@ -16,6 +16,7 @@ Commands: access-config [Experimental] Import access configuration. audit [Experimental] Import audit configuration. authentication [Experimental] Import authentication objects. + authz-policies [Experimental] Import authorization policies. connector-definitions [Experimental] Import connector definitions. cookie-domains [Experimental] Import cookie domains. email-provider [Experimental] Import email provider configuration. diff --git a/test/client_cli/en/config-manager-push-authz-polocies.test.js b/test/client_cli/en/config-manager-push-authz-polocies.test.js new file mode 100644 index 000000000..d10ef54dd --- /dev/null +++ b/test/client_cli/en/config-manager-push-authz-polocies.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo config-manager push authz-policies --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'config-manager push authz-policies' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/e2e/__snapshots__/config-manager-push-authz-policies.e2e.test.js.snap b/test/e2e/__snapshots__/config-manager-push-authz-policies.e2e.test.js.snap new file mode 100644 index 000000000..9c209e0d1 --- /dev/null +++ b/test/e2e/__snapshots__/config-manager-push-authz-policies.e2e.test.js.snap @@ -0,0 +1,7 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo config-manager push authz-policies "frodo config-manager push authz-policies -D test/e2e/exports/fr-config-manager/forgeops -m forgeops": should import the authz-policies into forgeops" 1`] = `""`; + +exports[`frodo config-manager push authz-policies "frodo config-manager push authz-policies -n test_id -r alpha-D test/e2e/exports/fr-config-manager/forgeops -m forgeops": should import a specific auth policy by name into forgeops" 1`] = `""`; + +exports[`frodo config-manager push authz-policies "frodo config-manager push authz-policies -r alpha -D test/e2e/exports/fr-config-manager/forgeops -m forgeops": should import a specific authz policy by name into forgeops" 1`] = `""`; diff --git a/test/e2e/config-manager-push-authz-policies.e2e.test.js b/test/e2e/config-manager-push-authz-policies.e2e.test.js new file mode 100644 index 000000000..7cee781af --- /dev/null +++ b/test/e2e/config-manager-push-authz-policies.e2e.test.js @@ -0,0 +1,94 @@ +/** + * Follow this process to write e2e tests for the CLI project: + * + * 1. Test if all the necessary mocks for your tests already exist. + * In mock mode, run the command you want to test with the same arguments + * and parameters exactly as you want to test it, for example: + * + * $ FRODO_MOCK=1 frodo conn save https://openam-frodo-dev.forgeblocks.com/am volker.scheuber@forgerock.com Sup3rS3cr3t! + * + * If your command completes without errors and with the expected results, + * all the required mocks already exist and you are good to write your + * test and skip to step #4. + * + * If, however, your command fails and you see errors like the one below, + * you know you need to record the mock responses first: + * + * [Polly] [adapter:node-http] Recording for the following request is not found and `recordIfMissing` is `false`. + * + * 2. Record mock responses for your exact command. + * In mock record mode, run the command you want to test with the same arguments + * and parameters exactly as you want to test it, for example: + * + * $ FRODO_MOCK=record frodo conn save https://openam-frodo-dev.forgeblocks.com/am volker.scheuber@forgerock.com Sup3rS3cr3t! + * + * Wait until you see all the Polly instances (mock recording adapters) have + * shutdown before you try to run step #1 again. + * Messages like these indicate mock recording adapters shutting down: + * + * Polly instance 'conn/4' stopping in 3s... + * Polly instance 'conn/4' stopping in 2s... + * Polly instance 'conn/save/3' stopping in 3s... + * Polly instance 'conn/4' stopping in 1s... + * Polly instance 'conn/save/3' stopping in 2s... + * Polly instance 'conn/4' stopped. + * Polly instance 'conn/save/3' stopping in 1s... + * Polly instance 'conn/save/3' stopped. + * + * 3. Validate your freshly recorded mock responses are complete and working. + * Re-run the exact command you want to test in mock mode (see step #1). + * + * 4. Write your test. + * Make sure to use the exact command including number of arguments and params. + * + * 5. Commit both your test and your new recordings to the repository. + * Your tests are likely going to reside outside the frodo-lib project but + * the recordings must be committed to the frodo-lib project. + */ + +/* +// ForgeOps +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://nightly.gcp.forgeops.com/am frodo config-manager push authz-policies -D test/e2e/exports/fr-config-manager/forgeops -m forgeops +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://nightly.gcp.forgeops.com/am frodo config-manager push authz-policies -n test_id -r alpha -D test/e2e/exports/fr-config-manager/forgeops -m forgeops +FRODO_MOCK=record FRODO_NO_CACHE=1 FRODO_HOST=https://nightly.gcp.forgeops.com/am frodo config-manager push authz-policies -r alpha -D test/e2e/exports/fr-config-manager/forgeops -m forgeops +*/ + +import cp from 'child_process'; +import { promisify } from 'util'; +import { getEnv, removeAnsiEscapeCodes } from './utils/TestUtils'; +import { forgeops_connection as fc } from './utils/TestConfig'; + +const exec = promisify(cp.exec); + +process.env['FRODO_MOCK'] = '1'; +const forgeopsEnv = getEnv(fc); + +const allDirectory = "test/e2e/exports/fr-config-manager/forgeops"; + +describe('frodo config-manager push authz-policies', () => { + test(`"frodo config-manager push authz-policies -D ${allDirectory} -m forgeops": should import the authz-policies into forgeops"`, async () => { + const CMD = `frodo config-manager push authz-policies -D ${allDirectory} -m forgeops`; + const { stdout } = await exec(CMD, forgeopsEnv); + expect(removeAnsiEscapeCodes(stdout)).toMatchSnapshot(); + }); + test(`"frodo config-manager push authz-policies -r alpha -D ${allDirectory} -m forgeops": should import a specific authz policy by name into forgeops"`, async () => { + const CMD = `frodo config-manager push authz-policies -r alpha -D ${allDirectory} -m forgeops`; + const { stdout } = await exec(CMD, { + env: { + ...forgeopsEnv.env, + FRODO_REALM: 'alpha' + } + }); + expect(removeAnsiEscapeCodes(stdout)).toMatchSnapshot(); + }); + test(`"frodo config-manager push authz-policies -n test_id -r alpha-D ${allDirectory} -m forgeops": should import a specific auth policy by name into forgeops"`, async () => { + const CMD = `frodo config-manager push authz-policies -n test_id -r alpha -D ${allDirectory} -m forgeops`; + const { stdout } = await exec(CMD, { + env: { + ...forgeopsEnv.env, + FRODO_REALM: 'alpha' + } + }); + expect(removeAnsiEscapeCodes(stdout)).toMatchSnapshot(); + }); +}); \ No newline at end of file diff --git a/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/policy-sets/oauth2Scopes/oauth2Scopes.json b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/policy-sets/oauth2Scopes/oauth2Scopes.json new file mode 100644 index 000000000..41393b20e --- /dev/null +++ b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/policy-sets/oauth2Scopes/oauth2Scopes.json @@ -0,0 +1,51 @@ +{ + "_id": "oauth2Scopes", + "_rev": "1773426680314", + "applicationType": "iPlanetAMWebAgentService", + "attributeNames": [], + "conditions": [ + "Script", + "AMIdentityMembership", + "IPv6", + "SimpleTime", + "IPv4", + "LEAuthLevel", + "LDAPFilter", + "AuthScheme", + "Session", + "AND", + "AuthenticateToRealm", + "ResourceEnvIP", + "SessionProperty", + "OAuth2Scope", + "OR", + "Transaction", + "NOT", + "AuthLevel", + "AuthenticateToService" + ], + "createdBy": "id=dsameuser,ou=user,ou=am-config", + "creationDate": 1578580064992, + "description": "The built-in Application used by the OAuth2 scope authorization process.", + "displayName": "Default OAuth2 Scopes Policy Set", + "editable": true, + "entitlementCombiner": "DenyOverride", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1773426680314, + "name": "oauth2Scopes", + "resourceComparator": null, + "resourceTypeUuids": [ + "d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b" + ], + "saveIndex": null, + "searchIndex": null, + "subjects": [ + "AuthenticatedUsers", + "NOT", + "Identity", + "OR", + "AND", + "NONE", + "JwtClaim" + ] +} diff --git a/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/policy-sets/test_id/policies/test_value.json b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/policy-sets/test_id/policies/test_value.json new file mode 100644 index 000000000..b66eeb10f --- /dev/null +++ b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/policy-sets/test_id/policies/test_value.json @@ -0,0 +1,20 @@ +{ + "_id": "test value", + "_rev": "1774279459670", + "actionValues": {}, + "active": true, + "applicationName": "test_id", + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": "2026-03-23T15:24:19.670Z", + "description": "", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": "2026-03-23T15:24:19.670Z", + "name": "test value", + "resourceTypeUuid": "d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b", + "resources": [ + "*://*:*/*" + ], + "subject": { + "type": "NONE" + } +} diff --git a/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/policy-sets/test_id/test_id.json b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/policy-sets/test_id/test_id.json new file mode 100644 index 000000000..07509b51d --- /dev/null +++ b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/policy-sets/test_id/test_id.json @@ -0,0 +1,55 @@ +{ + "_id": "test_id", + "_rev": "1774279445225", + "applicationType": "iPlanetAMWebAgentService", + "attributeNames": [], + "conditions": [ + "AMIdentityMembership", + "AND", + "AuthLevel", + "AuthScheme", + "AuthenticateToRealm", + "AuthenticateToService", + "IPv4", + "IPv6", + "IdmUser", + "LDAPFilter", + "LEAuthLevel", + "NOT", + "OAuth2Scope", + "OR", + "Policy", + "ResourceEnvIP", + "Script", + "Session", + "SessionProperty", + "SimpleTime", + "Transaction" + ], + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": 1774279445225, + "description": null, + "displayName": "test policy", + "editable": true, + "entitlementCombiner": "DenyOverride", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1774279445225, + "name": "test_id", + "resourceComparator": null, + "resourceTypeUuids": [ + "76656a38-5f8e-401b-83aa-4ccb74ce88d2", + "d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b" + ], + "saveIndex": null, + "searchIndex": null, + "subjects": [ + "AND", + "AuthenticatedUsers", + "Identity", + "JwtClaim", + "NONE", + "NOT", + "OR", + "Policy" + ] +} diff --git a/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/resource-types/OAuth2 Scope.json b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/resource-types/OAuth2 Scope.json new file mode 100644 index 000000000..514c6899f --- /dev/null +++ b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/authorization/resource-types/OAuth2 Scope.json @@ -0,0 +1,18 @@ +{ + "_id": "d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b", + "actions": { + "GRANT": true + }, + "createdBy": "id=dsameuser,ou=user,ou=am-config", + "creationDate": 1595479030586, + "description": "The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1773426680227, + "name": "OAuth2 Scope", + "patterns": [ + "*://*:*/*", + "*://*:*/*?*", + "*" + ], + "uuid": "d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b" +} diff --git a/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_D_m_314327836/am_1076162899/recording.har b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_D_m_314327836/am_1076162899/recording.har new file mode 100644 index 000000000..50075c8c8 --- /dev/null +++ b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_D_m_314327836/am_1076162899/recording.har @@ -0,0 +1,1418 @@ +{ + "log": { + "_recordingName": "config-manager/push/authz-policies/0_D_m/am", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccd7a5defd0fdeaa986a2b54642d911a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-517b0596-85be-45cb-a1b2-e600e2b5904b" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 370, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 587, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 587, + "text": "{\"_id\":\"*\",\"_rev\":\"2075994313\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"iPlanetDirectoryPro\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[],\"nodeDesignerXuiEnabled\":true}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:48:56 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "587" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2075994313\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 631, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:48:56.690Z", + "time": 11, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 11 + } + }, + { + "_id": "9f5671275c36a1c0090d0df26ce0e93f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-517b0596-85be-45cb-a1b2-e600e2b5904b" + }, + { + "name": "accept-api-version", + "value": "resource=2.0, protocol=1.0" + }, + { + "name": "x-openam-username", + "value": "amadmin" + }, + { + "name": "x-openam-password", + "value": "41ghjnKpNFAFU/HXw82HbFbitYNOOJ0g" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 497, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/authenticate" + }, + "response": { + "bodySize": 167, + "content": { + "mimeType": "application/json", + "size": 167, + "text": "{\"tokenId\":\"\",\"successUrl\":\"/am/console\",\"realm\":\"/\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + }, + { + "httpOnly": true, + "name": "iPlanetDirectoryPro", + "path": "/", + "sameSite": "none", + "secure": true, + "value": "" + }, + { + "httpOnly": true, + "name": "amlbcookie", + "path": "/", + "sameSite": "none", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:48:56 GMT" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "content-length", + "value": "167" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "iPlanetDirectoryPro=; Path=/; Secure; HttpOnly; SameSite=none" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "amlbcookie=; Path=/; Secure; HttpOnly; SameSite=none" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 693, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:48:56.706Z", + "time": 21, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 21 + } + }, + { + "_id": "6a3744385d3fd7416ea7089e610fa7e7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 128, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-517b0596-85be-45cb-a1b2-e600e2b5904b" + }, + { + "name": "accept-api-version", + "value": "resource=4.0" + }, + { + "name": "content-length", + "value": "128" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 424, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"tokenId\":\"\"}" + }, + "queryString": [ + { + "name": "_action", + "value": "getSessionInfo" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/sessions/?_action=getSessionInfo" + }, + "response": { + "bodySize": 291, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 291, + "text": "{\"username\":\"amadmin\",\"universalId\":\"id=amadmin,ou=user,ou=am-config\",\"realm\":\"/\",\"latestAccessTime\":\"2026-04-07T16:48:56Z\",\"maxIdleExpirationTime\":\"2026-04-07T17:18:56Z\",\"maxSessionExpirationTime\":\"2026-04-07T18:48:55Z\",\"properties\":{\"AMCtxId\":\"49b4c99f-b20b-49e9-b4d3-06af5ece0fb0-25663\"}}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:48:56 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "291" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=4.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 610, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:48:56.733Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "6125d0328ad0dcaee55f73fd8b22ca14", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-517b0596-85be-45cb-a1b2-e600e2b5904b" + }, + { + "name": "accept-api-version", + "value": "resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 520, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 257, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 257, + "text": "{\"_id\":\"version\",\"_rev\":\"-466575464\",\"version\":\"8.0.1\",\"fullVersion\":\"ForgeRock Access Management 8.0.1 Build b59bc0908346197b0c33afcb9e733d0400feeea1 (2025-April-15 11:37)\",\"revision\":\"b59bc0908346197b0c33afcb9e733d0400feeea1\",\"date\":\"2025-April-15 11:37\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:48:56 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "257" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-466575464\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 631, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:48:56.743Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "82b8cbc35dc155b85beadb9372c44a9a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 925, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-517b0596-85be-45cb-a1b2-e600e2b5904b" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "925" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 590, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"oauth2Scopes\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1578580064992,\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1773426680314,\"name\":\"oauth2Scopes\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/?_action=create" + }, + "response": { + "bodySize": 71, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 71, + "text": "{\"code\":409,\"reason\":\"Conflict\",\"message\":\"Application already exists\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:48:56 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "71" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 609, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2026-04-07T16:48:56.826Z", + "time": 28, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 28 + } + }, + { + "_id": "dfe6bc402771f7f7c2ebec04444d0029", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 925, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-517b0596-85be-45cb-a1b2-e600e2b5904b" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "925" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 586, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"oauth2Scopes\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1578580064992,\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1773426680314,\"name\":\"oauth2Scopes\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"]}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/oauth2Scopes" + }, + "response": { + "bodySize": 904, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 904, + "text": "{\"creationDate\":1578580064992,\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedDate\":1775580536407,\"editable\":true,\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"saveIndex\":null,\"searchIndex\":null,\"resourceComparator\":null,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"]}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:48:56 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "904" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1775580536407\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 631, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:48:56.860Z", + "time": 16, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 16 + } + }, + { + "_id": "633da07901928e4c0e9fc37971aefbb5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 889, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-517b0596-85be-45cb-a1b2-e600e2b5904b" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "889" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 590, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"test_id\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"IdmUser\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":1774279445225,\"description\":null,\"displayName\":\"test policy\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1774279445225,\"name\":\"test_id\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/?_action=create" + }, + "response": { + "bodySize": 71, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 71, + "text": "{\"code\":409,\"reason\":\"Conflict\",\"message\":\"Application already exists\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:48:56 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "71" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 609, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2026-04-07T16:48:56.882Z", + "time": 16, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 16 + } + }, + { + "_id": "1803852e546fae4cc666dc8843a5b4ce", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 889, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-517b0596-85be-45cb-a1b2-e600e2b5904b" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "889" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 581, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"test_id\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"IdmUser\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":1774279445225,\"description\":null,\"displayName\":\"test policy\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1774279445225,\"name\":\"test_id\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"]}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/test_id" + }, + "response": { + "bodySize": 873, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 873, + "text": "{\"creationDate\":1774279445225,\"name\":\"test_id\",\"displayName\":\"test policy\",\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"IdmUser\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"description\":null,\"attributeNames\":[],\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"],\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedDate\":1775580536449,\"editable\":true,\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"saveIndex\":null,\"searchIndex\":null,\"resourceComparator\":null,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"]}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:48:56 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "873" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1775580536449\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 633, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:48:56.903Z", + "time": 15, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 15 + } + }, + { + "_id": "216b1e7b665f889210a505340bfd17eb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 435, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-517b0596-85be-45cb-a1b2-e600e2b5904b" + }, + { + "name": "accept-api-version", + "value": "resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "435" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 569, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"test value\",\"_rev\":\"1774279459670\",\"actionValues\":{},\"active\":true,\"applicationName\":\"test_id\",\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":\"2026-03-23T15:24:19.670Z\",\"description\":\"\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":\"2026-03-23T15:24:19.670Z\",\"name\":\"test value\",\"resourceTypeUuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"resources\":[\"*://*:*/*\"],\"subject\":{\"type\":\"NONE\"}}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/policies/test%20value" + }, + "response": { + "bodySize": 435, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 435, + "text": "{\"_id\":\"test value\",\"_rev\":\"1775580536476\",\"name\":\"test value\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/*\"],\"applicationName\":\"test_id\",\"actionValues\":{},\"subject\":{\"type\":\"NONE\"},\"resourceTypeUuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":\"2026-04-07T16:48:56.476Z\",\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":\"2026-04-07T16:08:30.500Z\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:48:56 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "435" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1775580536476\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 631, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:48:56.924Z", + "time": 33, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 33 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_D_m_314327836/oauth2_393036114/recording.har b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_D_m_314327836/oauth2_393036114/recording.har new file mode 100644 index 000000000..b72d91f9a --- /dev/null +++ b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_D_m_314327836/oauth2_393036114/recording.har @@ -0,0 +1,289 @@ +{ + "log": { + "_recordingName": "config-manager/push/authz-policies/0_D_m/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "a684e2f67fd67a4263878c3124af167a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 365, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-517b0596-85be-45cb-a1b2-e600e2b5904b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "365" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 565, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "redirect_uri=https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html&scope=fr:idm:* openid&response_type=code&client_id=idm-admin-ui&csrf=d5qLNpKEcW0zydZZz7iWwn2qmQU.*AAJTSQACMDIAAlNLABw2bHZFWWV3aXZRN1h4NGdRSGpwVzRkNUVDQ0E9AAR0eXBlAANDVFMAAlMxAAIwMQ..*&decision=allow&code_challenge=AQUISWVM5xyrnMAAQnIZwjd1UUtShwGYlQPwrRA_eeE&code_challenge_method=S256" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/oauth2/authorize" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + }, + { + "expires": "1970-01-01T00:00:00.000Z", + "httpOnly": true, + "name": "OAUTH_REQUEST_ATTRIBUTES", + "path": "/", + "sameSite": "none", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:48:56 GMT" + }, + { + "name": "content-length", + "value": "0" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "OAUTH_REQUEST_ATTRIBUTES=; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Secure; HttpOnly; SameSite=none" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "location", + "value": "https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html?code=cF5mdp28HJcwVGSKkHeysfQ8a-I&iss=https%3A%2F%2Fplatform.dev.trivir.com%2Fam%2Foauth2&client_id=idm-admin-ui" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 673, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html?code=cF5mdp28HJcwVGSKkHeysfQ8a-I&iss=https%3A%2F%2Fplatform.dev.trivir.com%2Fam%2Foauth2&client_id=idm-admin-ui", + "status": 302, + "statusText": "Found" + }, + "startedDateTime": "2026-04-07T16:48:56.752Z", + "time": 17, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 17 + } + }, + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 224, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-517b0596-85be-45cb-a1b2-e600e2b5904b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "224" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 424, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "client_id=idm-admin-ui&redirect_uri=https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html&grant_type=authorization_code&code=cF5mdp28HJcwVGSKkHeysfQ8a-I&code_verifier=j37RzRmBZzrU27AyqoI9a7yh71Z89DXstZKnCm1Il1w" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/oauth2/access_token" + }, + "response": { + "bodySize": 1249, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1249, + "text": "{\"access_token\":\"\",\"scope\":\"openid fr:idm:*\",\"id_token\":\"\",\"token_type\":\"Bearer\",\"expires_in\":239}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:48:56 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1249" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 405, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:48:56.777Z", + "time": 41, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 41 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_n_r_D_m_664392500/am_1076162899/recording.har b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_n_r_D_m_664392500/am_1076162899/recording.har new file mode 100644 index 000000000..8633a0d45 --- /dev/null +++ b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_n_r_D_m_664392500/am_1076162899/recording.har @@ -0,0 +1,1418 @@ +{ + "log": { + "_recordingName": "config-manager/push/authz-policies/0_n_r_D_m/am", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccd7a5defd0fdeaa986a2b54642d911a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-7c06c27b-294e-4314-8491-9f69d33addf6" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 370, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 587, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 587, + "text": "{\"_id\":\"*\",\"_rev\":\"2075994313\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"iPlanetDirectoryPro\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[],\"nodeDesignerXuiEnabled\":true}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:27 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "587" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2075994313\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 631, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:27.932Z", + "time": 11, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 11 + } + }, + { + "_id": "9f5671275c36a1c0090d0df26ce0e93f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-7c06c27b-294e-4314-8491-9f69d33addf6" + }, + { + "name": "accept-api-version", + "value": "resource=2.0, protocol=1.0" + }, + { + "name": "x-openam-username", + "value": "amadmin" + }, + { + "name": "x-openam-password", + "value": "41ghjnKpNFAFU/HXw82HbFbitYNOOJ0g" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 497, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/authenticate" + }, + "response": { + "bodySize": 167, + "content": { + "mimeType": "application/json", + "size": 167, + "text": "{\"tokenId\":\"\",\"successUrl\":\"/am/console\",\"realm\":\"/\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + }, + { + "httpOnly": true, + "name": "iPlanetDirectoryPro", + "path": "/", + "sameSite": "none", + "secure": true, + "value": "" + }, + { + "httpOnly": true, + "name": "amlbcookie", + "path": "/", + "sameSite": "none", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:27 GMT" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "content-length", + "value": "167" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "iPlanetDirectoryPro=; Path=/; Secure; HttpOnly; SameSite=none" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "amlbcookie=; Path=/; Secure; HttpOnly; SameSite=none" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 693, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:27.949Z", + "time": 21, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 21 + } + }, + { + "_id": "7a2803b95b7b030f104baf5a89ef50c3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 128, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-7c06c27b-294e-4314-8491-9f69d33addf6" + }, + { + "name": "accept-api-version", + "value": "resource=4.0" + }, + { + "name": "content-length", + "value": "128" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 437, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"tokenId\":\"\"}" + }, + "queryString": [ + { + "name": "_action", + "value": "getSessionInfo" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/sessions/?_action=getSessionInfo" + }, + "response": { + "bodySize": 291, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 291, + "text": "{\"username\":\"amadmin\",\"universalId\":\"id=amadmin,ou=user,ou=am-config\",\"realm\":\"/\",\"latestAccessTime\":\"2026-04-07T16:49:27Z\",\"maxIdleExpirationTime\":\"2026-04-07T17:19:27Z\",\"maxSessionExpirationTime\":\"2026-04-07T18:49:26Z\",\"properties\":{\"AMCtxId\":\"49b4c99f-b20b-49e9-b4d3-06af5ece0fb0-25766\"}}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:27 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "291" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=4.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 610, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:27.977Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "6125d0328ad0dcaee55f73fd8b22ca14", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-7c06c27b-294e-4314-8491-9f69d33addf6" + }, + { + "name": "accept-api-version", + "value": "resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 520, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 257, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 257, + "text": "{\"_id\":\"version\",\"_rev\":\"-466575464\",\"version\":\"8.0.1\",\"fullVersion\":\"ForgeRock Access Management 8.0.1 Build b59bc0908346197b0c33afcb9e733d0400feeea1 (2025-April-15 11:37)\",\"revision\":\"b59bc0908346197b0c33afcb9e733d0400feeea1\",\"date\":\"2025-April-15 11:37\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:27 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "257" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-466575464\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 630, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:27.989Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "82b8cbc35dc155b85beadb9372c44a9a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 925, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-7c06c27b-294e-4314-8491-9f69d33addf6" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "925" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 590, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"oauth2Scopes\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1578580064992,\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1773426680314,\"name\":\"oauth2Scopes\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/?_action=create" + }, + "response": { + "bodySize": 71, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 71, + "text": "{\"code\":409,\"reason\":\"Conflict\",\"message\":\"Application already exists\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:27 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "71" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 608, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2026-04-07T16:49:28.068Z", + "time": 21, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 21 + } + }, + { + "_id": "dfe6bc402771f7f7c2ebec04444d0029", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 925, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-7c06c27b-294e-4314-8491-9f69d33addf6" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "925" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 586, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"oauth2Scopes\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1578580064992,\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1773426680314,\"name\":\"oauth2Scopes\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"]}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/oauth2Scopes" + }, + "response": { + "bodySize": 904, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 904, + "text": "{\"creationDate\":1578580064992,\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedDate\":1775580567642,\"editable\":true,\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"saveIndex\":null,\"searchIndex\":null,\"resourceComparator\":null,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"]}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:27 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "904" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1775580567642\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 633, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:28.095Z", + "time": 16, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 16 + } + }, + { + "_id": "633da07901928e4c0e9fc37971aefbb5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 889, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-7c06c27b-294e-4314-8491-9f69d33addf6" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "889" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 590, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"test_id\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"IdmUser\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":1774279445225,\"description\":null,\"displayName\":\"test policy\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1774279445225,\"name\":\"test_id\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/?_action=create" + }, + "response": { + "bodySize": 71, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 71, + "text": "{\"code\":409,\"reason\":\"Conflict\",\"message\":\"Application already exists\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:27 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "71" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 609, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2026-04-07T16:49:28.118Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "1803852e546fae4cc666dc8843a5b4ce", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 889, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-7c06c27b-294e-4314-8491-9f69d33addf6" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "889" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 581, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"test_id\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"IdmUser\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":1774279445225,\"description\":null,\"displayName\":\"test policy\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1774279445225,\"name\":\"test_id\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"]}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/test_id" + }, + "response": { + "bodySize": 873, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 873, + "text": "{\"creationDate\":1774279445225,\"name\":\"test_id\",\"displayName\":\"test policy\",\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"IdmUser\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"description\":null,\"attributeNames\":[],\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"],\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedDate\":1775580567679,\"editable\":true,\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"saveIndex\":null,\"searchIndex\":null,\"resourceComparator\":null,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"]}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:27 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "873" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1775580567679\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 633, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:28.134Z", + "time": 14, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 14 + } + }, + { + "_id": "216b1e7b665f889210a505340bfd17eb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 435, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-7c06c27b-294e-4314-8491-9f69d33addf6" + }, + { + "name": "accept-api-version", + "value": "resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "435" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 569, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"test value\",\"_rev\":\"1774279459670\",\"actionValues\":{},\"active\":true,\"applicationName\":\"test_id\",\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":\"2026-03-23T15:24:19.670Z\",\"description\":\"\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":\"2026-03-23T15:24:19.670Z\",\"name\":\"test value\",\"resourceTypeUuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"resources\":[\"*://*:*/*\"],\"subject\":{\"type\":\"NONE\"}}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/policies/test%20value" + }, + "response": { + "bodySize": 435, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 435, + "text": "{\"_id\":\"test value\",\"_rev\":\"1775580567705\",\"name\":\"test value\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/*\"],\"applicationName\":\"test_id\",\"actionValues\":{},\"subject\":{\"type\":\"NONE\"},\"resourceTypeUuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":\"2026-04-07T16:49:27.705Z\",\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":\"2026-04-07T16:08:30.500Z\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:27 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "435" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1775580567705\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 633, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:28.153Z", + "time": 35, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 35 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_n_r_D_m_664392500/oauth2_393036114/recording.har b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_n_r_D_m_664392500/oauth2_393036114/recording.har new file mode 100644 index 000000000..8b06aea69 --- /dev/null +++ b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_n_r_D_m_664392500/oauth2_393036114/recording.har @@ -0,0 +1,289 @@ +{ + "log": { + "_recordingName": "config-manager/push/authz-policies/0_n_r_D_m/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "a684e2f67fd67a4263878c3124af167a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 365, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-7c06c27b-294e-4314-8491-9f69d33addf6" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "365" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 565, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "redirect_uri=https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html&scope=fr:idm:* openid&response_type=code&client_id=idm-admin-ui&csrf=3orSV19p06hru6ev7uYzNr2I0fA.*AAJTSQACMDIAAlNLABxnZDhxc2V4OWNoUW8vVWtyUXMrQW9HYkVycUk9AAR0eXBlAANDVFMAAlMxAAIwMQ..*&decision=allow&code_challenge=ccddrd8lH4dtH60kirBg-C8rOdpMFqLfYF648NtWTXg&code_challenge_method=S256" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/oauth2/authorize" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + }, + { + "expires": "1970-01-01T00:00:00.000Z", + "httpOnly": true, + "name": "OAUTH_REQUEST_ATTRIBUTES", + "path": "/", + "sameSite": "none", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:27 GMT" + }, + { + "name": "content-length", + "value": "0" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "OAUTH_REQUEST_ATTRIBUTES=; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Secure; HttpOnly; SameSite=none" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "location", + "value": "https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html?code=jkEgyfGSPAGt_t3Qhb03ZUzmjig&iss=https%3A%2F%2Fplatform.dev.trivir.com%2Fam%2Foauth2&client_id=idm-admin-ui" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 672, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html?code=jkEgyfGSPAGt_t3Qhb03ZUzmjig&iss=https%3A%2F%2Fplatform.dev.trivir.com%2Fam%2Foauth2&client_id=idm-admin-ui", + "status": 302, + "statusText": "Found" + }, + "startedDateTime": "2026-04-07T16:49:28.001Z", + "time": 14, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 14 + } + }, + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 224, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-7c06c27b-294e-4314-8491-9f69d33addf6" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "224" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 424, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "client_id=idm-admin-ui&redirect_uri=https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html&grant_type=authorization_code&code=jkEgyfGSPAGt_t3Qhb03ZUzmjig&code_verifier=XOtdwugxtq11QgZOlwvh4JV6VQYq0jzDO7S2siLxSBE" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/oauth2/access_token" + }, + "response": { + "bodySize": 1249, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1249, + "text": "{\"access_token\":\"\",\"scope\":\"openid fr:idm:*\",\"id_token\":\"\",\"token_type\":\"Bearer\",\"expires_in\":239}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:27 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1249" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 405, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:28.022Z", + "time": 36, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 36 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_r_D_m_3443305505/am_1076162899/recording.har b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_r_D_m_3443305505/am_1076162899/recording.har new file mode 100644 index 000000000..524d0aa54 --- /dev/null +++ b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_r_D_m_3443305505/am_1076162899/recording.har @@ -0,0 +1,1418 @@ +{ + "log": { + "_recordingName": "config-manager/push/authz-policies/0_r_D_m/am", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "ccd7a5defd0fdeaa986a2b54642d911a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5fe39d08-15d9-4f5a-894b-ba64618b5e93" + }, + { + "name": "accept-api-version", + "value": "resource=1.1" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 370, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/serverinfo/*" + }, + "response": { + "bodySize": 587, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 587, + "text": "{\"_id\":\"*\",\"_rev\":\"2075994313\",\"domains\":[],\"protectedUserAttributes\":[\"telephoneNumber\",\"mail\"],\"cookieName\":\"iPlanetDirectoryPro\",\"secureCookie\":true,\"forgotPassword\":\"false\",\"forgotUsername\":\"false\",\"kbaEnabled\":\"false\",\"selfRegistration\":\"false\",\"lang\":\"en-US\",\"successfulUserRegistrationDestination\":\"default\",\"socialImplementations\":[],\"referralsEnabled\":\"false\",\"zeroPageLogin\":{\"enabled\":false,\"refererWhitelist\":[],\"allowedWithoutReferer\":true},\"realm\":\"/\",\"xuiUserSessionValidationEnabled\":true,\"fileBasedConfiguration\":true,\"userIdAttributes\":[],\"nodeDesignerXuiEnabled\":true}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:59 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "587" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"2075994313\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 631, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:59.797Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "9f5671275c36a1c0090d0df26ce0e93f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 2, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5fe39d08-15d9-4f5a-894b-ba64618b5e93" + }, + { + "name": "accept-api-version", + "value": "resource=2.0, protocol=1.0" + }, + { + "name": "x-openam-username", + "value": "amadmin" + }, + { + "name": "x-openam-password", + "value": "41ghjnKpNFAFU/HXw82HbFbitYNOOJ0g" + }, + { + "name": "content-length", + "value": "2" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 497, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/authenticate" + }, + "response": { + "bodySize": 167, + "content": { + "mimeType": "application/json", + "size": 167, + "text": "{\"tokenId\":\"\",\"successUrl\":\"/am/console\",\"realm\":\"/\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + }, + { + "httpOnly": true, + "name": "iPlanetDirectoryPro", + "path": "/", + "sameSite": "none", + "secure": true, + "value": "" + }, + { + "httpOnly": true, + "name": "amlbcookie", + "path": "/", + "sameSite": "none", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:59 GMT" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "content-length", + "value": "167" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "iPlanetDirectoryPro=; Path=/; Secure; HttpOnly; SameSite=none" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "amlbcookie=; Path=/; Secure; HttpOnly; SameSite=none" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 693, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:59.814Z", + "time": 21, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 21 + } + }, + { + "_id": "7a2803b95b7b030f104baf5a89ef50c3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 128, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5fe39d08-15d9-4f5a-894b-ba64618b5e93" + }, + { + "name": "accept-api-version", + "value": "resource=4.0" + }, + { + "name": "content-length", + "value": "128" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 437, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"tokenId\":\"\"}" + }, + "queryString": [ + { + "name": "_action", + "value": "getSessionInfo" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/sessions/?_action=getSessionInfo" + }, + "response": { + "bodySize": 291, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 291, + "text": "{\"username\":\"amadmin\",\"universalId\":\"id=amadmin,ou=user,ou=am-config\",\"realm\":\"/\",\"latestAccessTime\":\"2026-04-07T16:49:59Z\",\"maxIdleExpirationTime\":\"2026-04-07T17:19:59Z\",\"maxSessionExpirationTime\":\"2026-04-07T18:49:58Z\",\"properties\":{\"AMCtxId\":\"49b4c99f-b20b-49e9-b4d3-06af5ece0fb0-25871\"}}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:59 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "291" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=4.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 610, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:59.842Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "6125d0328ad0dcaee55f73fd8b22ca14", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5fe39d08-15d9-4f5a-894b-ba64618b5e93" + }, + { + "name": "accept-api-version", + "value": "resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 520, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/serverinfo/version" + }, + "response": { + "bodySize": 257, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 257, + "text": "{\"_id\":\"version\",\"_rev\":\"-466575464\",\"version\":\"8.0.1\",\"fullVersion\":\"ForgeRock Access Management 8.0.1 Build b59bc0908346197b0c33afcb9e733d0400feeea1 (2025-April-15 11:37)\",\"revision\":\"b59bc0908346197b0c33afcb9e733d0400feeea1\",\"date\":\"2025-April-15 11:37\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:59 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "257" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "content-api-version", + "value": "resource=1.0" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"-466575464\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 631, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:59.858Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_id": "82b8cbc35dc155b85beadb9372c44a9a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 925, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5fe39d08-15d9-4f5a-894b-ba64618b5e93" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "925" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 590, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"oauth2Scopes\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1578580064992,\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1773426680314,\"name\":\"oauth2Scopes\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/?_action=create" + }, + "response": { + "bodySize": 71, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 71, + "text": "{\"code\":409,\"reason\":\"Conflict\",\"message\":\"Application already exists\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:59 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "71" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 609, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2026-04-07T16:49:59.932Z", + "time": 27, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 27 + } + }, + { + "_id": "dfe6bc402771f7f7c2ebec04444d0029", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 925, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5fe39d08-15d9-4f5a-894b-ba64618b5e93" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "925" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 586, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"oauth2Scopes\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"creationDate\":1578580064992,\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1773426680314,\"name\":\"oauth2Scopes\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"]}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/oauth2Scopes" + }, + "response": { + "bodySize": 904, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 904, + "text": "{\"creationDate\":1578580064992,\"name\":\"oauth2Scopes\",\"displayName\":\"Default OAuth2 Scopes Policy Set\",\"conditions\":[\"Script\",\"AMIdentityMembership\",\"IPv6\",\"SimpleTime\",\"IPv4\",\"LEAuthLevel\",\"LDAPFilter\",\"AuthScheme\",\"Session\",\"AND\",\"AuthenticateToRealm\",\"ResourceEnvIP\",\"SessionProperty\",\"OAuth2Scope\",\"OR\",\"Transaction\",\"NOT\",\"AuthLevel\",\"AuthenticateToService\"],\"description\":\"The built-in Application used by the OAuth2 scope authorization process.\",\"attributeNames\":[],\"createdBy\":\"id=dsameuser,ou=user,ou=am-config\",\"subjects\":[\"AuthenticatedUsers\",\"NOT\",\"Identity\",\"OR\",\"AND\",\"NONE\",\"JwtClaim\"],\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedDate\":1775580599509,\"editable\":true,\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"saveIndex\":null,\"searchIndex\":null,\"resourceComparator\":null,\"resourceTypeUuids\":[\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"]}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:59 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "904" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1775580599509\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 633, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:59.963Z", + "time": 15, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 15 + } + }, + { + "_id": "633da07901928e4c0e9fc37971aefbb5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 889, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5fe39d08-15d9-4f5a-894b-ba64618b5e93" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "889" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 590, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"test_id\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"IdmUser\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":1774279445225,\"description\":null,\"displayName\":\"test policy\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1774279445225,\"name\":\"test_id\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/?_action=create" + }, + "response": { + "bodySize": 71, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 71, + "text": "{\"code\":409,\"reason\":\"Conflict\",\"message\":\"Application already exists\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:59 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "71" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 609, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2026-04-07T16:49:59.986Z", + "time": 19, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 19 + } + }, + { + "_id": "1803852e546fae4cc666dc8843a5b4ce", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 889, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5fe39d08-15d9-4f5a-894b-ba64618b5e93" + }, + { + "name": "accept-api-version", + "value": "protocol=1.0,resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "889" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 581, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"test_id\",\"applicationType\":\"iPlanetAMWebAgentService\",\"attributeNames\":[],\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"IdmUser\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":1774279445225,\"description\":null,\"displayName\":\"test policy\",\"editable\":true,\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":1774279445225,\"name\":\"test_id\",\"resourceComparator\":null,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"],\"saveIndex\":null,\"searchIndex\":null,\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"]}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/applications/test_id" + }, + "response": { + "bodySize": 873, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 873, + "text": "{\"creationDate\":1774279445225,\"name\":\"test_id\",\"displayName\":\"test policy\",\"conditions\":[\"AMIdentityMembership\",\"AND\",\"AuthLevel\",\"AuthScheme\",\"AuthenticateToRealm\",\"AuthenticateToService\",\"IPv4\",\"IPv6\",\"IdmUser\",\"LDAPFilter\",\"LEAuthLevel\",\"NOT\",\"OAuth2Scope\",\"OR\",\"Policy\",\"ResourceEnvIP\",\"Script\",\"Session\",\"SessionProperty\",\"SimpleTime\",\"Transaction\"],\"description\":null,\"attributeNames\":[],\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"subjects\":[\"AND\",\"AuthenticatedUsers\",\"Identity\",\"JwtClaim\",\"NONE\",\"NOT\",\"OR\",\"Policy\"],\"applicationType\":\"iPlanetAMWebAgentService\",\"entitlementCombiner\":\"DenyOverride\",\"lastModifiedDate\":1775580599559,\"editable\":true,\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"saveIndex\":null,\"searchIndex\":null,\"resourceComparator\":null,\"resourceTypeUuids\":[\"76656a38-5f8e-401b-83aa-4ccb74ce88d2\",\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\"]}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:59 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "873" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1775580599559\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 632, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:50:00.011Z", + "time": 17, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 17 + } + }, + { + "_id": "216b1e7b665f889210a505340bfd17eb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 435, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5fe39d08-15d9-4f5a-894b-ba64618b5e93" + }, + { + "name": "accept-api-version", + "value": "resource=2.1" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "435" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 569, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"test value\",\"_rev\":\"1774279459670\",\"actionValues\":{},\"active\":true,\"applicationName\":\"test_id\",\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":\"2026-03-23T15:24:19.670Z\",\"description\":\"\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":\"2026-03-23T15:24:19.670Z\",\"name\":\"test value\",\"resourceTypeUuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"resources\":[\"*://*:*/*\"],\"subject\":{\"type\":\"NONE\"}}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/policies/test%20value" + }, + "response": { + "bodySize": 435, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 435, + "text": "{\"_id\":\"test value\",\"_rev\":\"1775580599588\",\"name\":\"test value\",\"active\":true,\"description\":\"\",\"resources\":[\"*://*:*/*\"],\"applicationName\":\"test_id\",\"actionValues\":{},\"subject\":{\"type\":\"NONE\"},\"resourceTypeUuid\":\"d60b7a71-1dc6-44a5-8e48-e4b9d92dee8b\",\"lastModifiedBy\":\"id=amadmin,ou=user,ou=am-config\",\"lastModifiedDate\":\"2026-04-07T16:49:59.588Z\",\"createdBy\":\"id=amadmin,ou=user,ou=am-config\",\"creationDate\":\"2026-04-07T16:08:30.500Z\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:59 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "435" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "content-api-version", + "value": "resource=2.1" + }, + { + "name": "content-security-policy", + "value": "default-src 'none';frame-ancestors 'none';sandbox" + }, + { + "name": "cross-origin-opener-policy", + "value": "same-origin" + }, + { + "name": "cross-origin-resource-policy", + "value": "same-origin" + }, + { + "name": "etag", + "value": "\"1775580599588\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 633, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:50:00.037Z", + "time": 42, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 42 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_r_D_m_3443305505/oauth2_393036114/recording.har b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_r_D_m_3443305505/oauth2_393036114/recording.har new file mode 100644 index 000000000..5ccac792f --- /dev/null +++ b/test/e2e/mocks/config-manager_4167095917/push_2272264157/authz-policies_3151337724/0_r_D_m_3443305505/oauth2_393036114/recording.har @@ -0,0 +1,289 @@ +{ + "log": { + "_recordingName": "config-manager/push/authz-policies/0_r_D_m/oauth2", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "a684e2f67fd67a4263878c3124af167a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 365, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5fe39d08-15d9-4f5a-894b-ba64618b5e93" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "365" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 565, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "redirect_uri=https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html&scope=fr:idm:* openid&response_type=code&client_id=idm-admin-ui&csrf=tUaeYj6eB5tHSFN2kLB-qAQf4V0.*AAJTSQACMDIAAlNLABxDMjg4bmhyRjROVWtMaWdBWDNScDQ0aytnVjA9AAR0eXBlAANDVFMAAlMxAAIwMQ..*&decision=allow&code_challenge=lXeFp67ThzMS0OUzFsespINvmfiVnXmEmOWEMxZCGQc&code_challenge_method=S256" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/oauth2/authorize" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + }, + { + "expires": "1970-01-01T00:00:00.000Z", + "httpOnly": true, + "name": "OAUTH_REQUEST_ATTRIBUTES", + "path": "/", + "sameSite": "none", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:59 GMT" + }, + { + "name": "content-length", + "value": "0" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "OAUTH_REQUEST_ATTRIBUTES=; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Secure; HttpOnly; SameSite=none" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "location", + "value": "https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html?code=8tciTgYOxkpawRVTh7-REaMJ844&iss=https%3A%2F%2Fplatform.dev.trivir.com%2Fam%2Foauth2&client_id=idm-admin-ui" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 673, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html?code=8tciTgYOxkpawRVTh7-REaMJ844&iss=https%3A%2F%2Fplatform.dev.trivir.com%2Fam%2Foauth2&client_id=idm-admin-ui", + "status": 302, + "statusText": "Found" + }, + "startedDateTime": "2026-04-07T16:49:59.870Z", + "time": 13, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 13 + } + }, + { + "_id": "ff75519a93ccab829f8ee8cf5e92b49f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 224, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/4.0.0-34" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-5fe39d08-15d9-4f5a-894b-ba64618b5e93" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "content-length", + "value": "224" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 424, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "client_id=idm-admin-ui&redirect_uri=https://platform.dev.trivir.com/platform/appAuthHelperRedirect.html&grant_type=authorization_code&code=8tciTgYOxkpawRVTh7-REaMJ844&code_verifier=t___k864F7bbd4gkhiO7-AYJPVuYnyQ91jqqWd3lpBI" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/oauth2/access_token" + }, + "response": { + "bodySize": 1249, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1249, + "text": "{\"access_token\":\"\",\"scope\":\"openid fr:idm:*\",\"id_token\":\"\",\"token_type\":\"Bearer\",\"expires_in\":239}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Tue, 07 Apr 2026 16:49:59 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1249" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "route=; Path=/am; Secure; HttpOnly" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "cache-control", + "value": "no-store" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 405, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-07T16:49:59.890Z", + "time": 34, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 34 + } + } + ], + "pages": [], + "version": "1.2" + } +}