From 69afd9124c2f09101f225a2f9aac6081a18e34b7 Mon Sep 17 00:00:00 2001 From: Dallin Sevy Date: Tue, 7 Apr 2026 12:53:34 -0600 Subject: [PATCH] feat: Add config-manager push saml command --- .../config-manager-push-saml.ts | 53 + .../config-manager-push.ts | 3 +- src/configManagerOps/FrConfigSamlOps.ts | 90 +- .../config-manager-push-saml.test.js.snap | 25 + .../config-manager-push.test.js.snap | 1 + .../en/config-manager-push-saml.test.js | 10 + .../config-manager-push-saml.e2e.test.js.snap | 3 + test/e2e/config-manager-push-saml.e2e.test.js | 72 + .../alpha/realm-config/saml/COT/FR_COT.json | 15 + .../realm-config/saml/hosted/test-IDP.json | 295 +++ .../saml/remote/microsoftOnline.json | 182 ++ .../am_1076162899/recording.har | 1865 +++++++++++++++++ .../oauth2_393036114/recording.har | 289 +++ test/e2e/mocks/github_584874290/recording.har | 2 +- test/e2e/mocks/npmjs_1455397529/recording.har | 2 +- 15 files changed, 2902 insertions(+), 5 deletions(-) create mode 100644 src/cli/config-manager/config-manager-push/config-manager-push-saml.ts create mode 100644 test/client_cli/en/__snapshots__/config-manager-push-saml.test.js.snap create mode 100644 test/client_cli/en/config-manager-push-saml.test.js create mode 100644 test/e2e/__snapshots__/config-manager-push-saml.e2e.test.js.snap create mode 100644 test/e2e/config-manager-push-saml.e2e.test.js create mode 100644 test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/COT/FR_COT.json create mode 100644 test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/hosted/test-IDP.json create mode 100644 test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/remote/microsoftOnline.json create mode 100644 test/e2e/mocks/config-manager_4167095917/push_2272264157/saml_3289136144/0_D_m_314327836/am_1076162899/recording.har create mode 100644 test/e2e/mocks/config-manager_4167095917/push_2272264157/saml_3289136144/0_D_m_314327836/oauth2_393036114/recording.har diff --git a/src/cli/config-manager/config-manager-push/config-manager-push-saml.ts b/src/cli/config-manager/config-manager-push/config-manager-push-saml.ts new file mode 100644 index 000000000..d4cf796af --- /dev/null +++ b/src/cli/config-manager/config-manager-push/config-manager-push-saml.ts @@ -0,0 +1,53 @@ +import { frodo } from '@rockcarver/frodo-lib'; + +import { configManagerImportSaml } from '../../../configManagerOps/FrConfigSamlOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } 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 saml', + [], + deploymentTypes + ); + + program + .description('Import saml configuration.') + + .action(async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + + if (await getTokens(false, true, deploymentTypes)) { + verboseMessage('Exporting config entity saml'); + const outcome = await configManagerImportSaml(); + if (!outcome) process.exitCode = 1; + } + // unrecognized combination of options or no options + 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 0e9c55345..c9cbea06a 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 @@ -11,6 +11,7 @@ import Locales from './config-manager-push-locales'; import ManagedObjects from './config-manager-push-managed-objects'; import OrgPrivileges from './config-manager-push-org-privileges'; import PasswordPolicy from './config-manager-push-password-policy'; +import Saml from './config-manager-push-saml'; import Schedules from './config-manager-push-schedules'; import ServiceObjects from './config-manager-push-service-objects'; import TermsAndConditions from './config-manager-push-terms-and-conditions'; @@ -39,6 +40,6 @@ export default function setup() { program.addCommand(CookieDomains().name('cookie-domains')); program.addCommand(ServiceObjects().name('service-objects')); program.addCommand(UiConfig().name('ui-config')); - + program.addCommand(Saml().name('saml')); return program; } diff --git a/src/configManagerOps/FrConfigSamlOps.ts b/src/configManagerOps/FrConfigSamlOps.ts index 312311f73..f070ea6b9 100644 --- a/src/configManagerOps/FrConfigSamlOps.ts +++ b/src/configManagerOps/FrConfigSamlOps.ts @@ -1,4 +1,6 @@ import { frodo, state } from '@rockcarver/frodo-lib'; +import { CirclesOfTrustExportInterface } from '@rockcarver/frodo-lib/types/ops/CirclesOfTrustOps'; +import { Saml2ExportInterface } from '@rockcarver/frodo-lib/types/ops/Saml2Ops'; import fs from 'fs'; import { printError } from '../utils/Console'; @@ -9,8 +11,10 @@ import { } from '../utils/FrConfig'; const { getFilePath, saveJsonToFile } = frodo.utils; -const { exportSaml2Provider } = frodo.saml2.entityProvider; -const { exportCircleOfTrust } = frodo.saml2.circlesOfTrust; +const { exportSaml2Provider, importSaml2Providers } = + frodo.saml2.entityProvider; +const { exportCircleOfTrust, importCirclesOfTrust } = + frodo.saml2.circlesOfTrust; /** * Export an IDM configuration object in the fr-config-manager format. * @param {string} envFile File that defines environment specific variables for replacement during configuration export/import @@ -98,3 +102,85 @@ export async function configManagerExportSaml(file): Promise { } return false; } + +/** + * Import all SAML entity providers from all *.saml.json files in the current directory + * @returns {Promise} true if successful, false otherwise + */ + +export async function configManagerImportSaml(): Promise { + try { + const realmsDir = getFilePath('realms/'); + const realmsToProcess = fs + .readdirSync(realmsDir, { withFileTypes: true }) + .filter((entry) => entry.isDirectory()) + .map((entry) => entry.name); + + for (const realm of realmsToProcess) { + state.setRealm(realm); + if (state.getRealm() === '/') continue; + const samlDir = getFilePath(`realms/${realm}/realm-config/saml`); + + const hostedDir = `${samlDir}/hosted`; + const remoteDir = `${samlDir}/remote`; + const cotDir = `${samlDir}/COT`; + + const hosted: Record = {}; + const remote: Record = {}; + const metadata: Record = {}; + const cot: Record = {}; + + if (fs.existsSync(hostedDir)) { + for (const file of fs.readdirSync(hostedDir)) { + if (file.endsWith('.json')) { + const hostedData = JSON.parse( + fs.readFileSync(`${hostedDir}/${file}`, 'utf8') + ); + hosted[hostedData.config.entityId] = hostedData.config; + metadata[hostedData.config.entityId] = [hostedData.metadata]; + } + } + } + + if (fs.existsSync(remoteDir)) { + for (const file of fs.readdirSync(remoteDir)) { + if (file.endsWith('.json')) { + const remoteData = JSON.parse( + fs.readFileSync(`${remoteDir}/${file}`, 'utf8') + ); + remote[remoteData.config.entityId] = remoteData.config; + metadata[remoteData.config.entityId] = [remoteData.metadata]; + } + } + } + + if (fs.existsSync(cotDir)) { + for (const file of fs.readdirSync(cotDir)) { + if (file.endsWith('.json')) { + const cotData = JSON.parse( + fs.readFileSync(`${cotDir}/${file}`, 'utf8') + ); + cot[cotData._id] = cotData; + } + } + } + const samlImportData: Saml2ExportInterface = { + script: {}, + saml: { hosted, remote, metadata }, + }; + + const cotImportData: CirclesOfTrustExportInterface = { + script: {}, + saml: { hosted: {}, remote: {}, metadata: {}, cot }, + }; + + await importSaml2Providers(samlImportData, { deps: true }); + await importCirclesOfTrust(cotImportData); + } + + return true; + } catch (error) { + printError(error); + } + return false; +} diff --git a/test/client_cli/en/__snapshots__/config-manager-push-saml.test.js.snap b/test/client_cli/en/__snapshots__/config-manager-push-saml.test.js.snap new file mode 100644 index 000000000..bcf55fea1 --- /dev/null +++ b/test/client_cli/en/__snapshots__/config-manager-push-saml.test.js.snap @@ -0,0 +1,25 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'config-manager push saml' should be expected english 1`] = ` +"Usage: frodo config-manager push saml [options] [host] [realm] [username] [password] + +[Experimental] Import saml configuration. + +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: + -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 0bba29ad7..9e1e4b646 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 @@ -26,6 +26,7 @@ Commands: managed-objects [Experimental] Import managed objects. org-privileges [Experimental] Import organization privileges config. password-policy [Experimental] Import password-policy objects. + saml [Experimental] Import saml configuration. schedules [Experimental] Import schedules. service-objects [Experimental] Import service objects. terms-and-conditions [Experimental] Import terms and conditions. diff --git a/test/client_cli/en/config-manager-push-saml.test.js b/test/client_cli/en/config-manager-push-saml.test.js new file mode 100644 index 000000000..2ed4d5a7d --- /dev/null +++ b/test/client_cli/en/config-manager-push-saml.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 saml --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'config-manager push saml' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/e2e/__snapshots__/config-manager-push-saml.e2e.test.js.snap b/test/e2e/__snapshots__/config-manager-push-saml.e2e.test.js.snap new file mode 100644 index 000000000..950ee06f4 --- /dev/null +++ b/test/e2e/__snapshots__/config-manager-push-saml.e2e.test.js.snap @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo config-manager push saml "frodo config-manager push saml -D test/e2e/exports/fr-config-manager/forgeops -m forgeops": should import the saml into forgeops" 1`] = `""`; diff --git a/test/e2e/config-manager-push-saml.e2e.test.js b/test/e2e/config-manager-push-saml.e2e.test.js new file mode 100644 index 000000000..04c553731 --- /dev/null +++ b/test/e2e/config-manager-push-saml.e2e.test.js @@ -0,0 +1,72 @@ +/** + * 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 saml -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 saml', () => { + test(`"frodo config-manager push saml -D ${allDirectory} -m forgeops": should import the saml into forgeops"`, async () => { + const CMD = `frodo config-manager push saml -D ${allDirectory} -m forgeops`; + const { stdout } = await exec(CMD, forgeopsEnv); + expect(removeAnsiEscapeCodes(stdout)).toMatchSnapshot(); + }); +}); diff --git a/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/COT/FR_COT.json b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/COT/FR_COT.json new file mode 100644 index 000000000..dfec2feb3 --- /dev/null +++ b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/COT/FR_COT.json @@ -0,0 +1,15 @@ +{ + "_id": "FR_COT", + "_rev": "641713822", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust" + }, + "description": "testCircle", + "status": "active", + "trustedProviders": [ + "ForgeopsTest|saml2", + "test-IDP|saml2" + ] +} diff --git a/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/hosted/test-IDP.json b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/hosted/test-IDP.json new file mode 100644 index 000000000..786a7aa8b --- /dev/null +++ b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/hosted/test-IDP.json @@ -0,0 +1,295 @@ +{ + "config": { + "_id": "dGVzdC1JRFA", + "_rev": "-553083492", + "entityId": "test-IDP", + "identityProvider": { + "advanced": { + "ecpConfiguration": { + "idpSessionMapper": "com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper" + }, + "idpAdapter": { + "idpAdapterScript": "[Empty]" + }, + "idpFinderImplementation": {}, + "relayStateUrlList": {}, + "saeConfiguration": { + "idpUrl": "https://platform.dev.trivir.com/am/idpsaehandler/metaAlias/test" + }, + "sessionSynchronization": {} + }, + "assertionContent": { + "assertionCache": {}, + "assertionTime": { + "effectiveTime": 600, + "notBeforeTimeSkew": 600 + }, + "authenticationContext": { + "authContextItems": [ + { + "contextReference": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", + "level": 0 + } + ], + "authenticationContextMapper": "com.sun.identity.saml2.plugins.DefaultIDPAuthnContextMapper" + }, + "basicAuthentication": {}, + "nameIdFormat": { + "nameIdFormatList": [ + "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", + "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", + "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", + "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", + "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName", + "urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos", + "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName" + ], + "nameIdValueMap": [ + { + "binary": false, + "key": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", + "value": "mail" + }, + { + "binary": false, + "key": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified ", + "value": "mail" + } + ] + }, + "signingAndEncryption": { + "encryption": { + "nameIdEncryption": false + }, + "requestResponseSigning": { + "artifactResolve": true, + "authenticationRequest": true, + "logoutRequest": false, + "logoutResponse": false, + "manageNameIdRequest": false, + "manageNameIdResponse": false + }, + "secretIdAndAlgorithms": { + "digestAlgorithm": [ + "http://www.w3.org/2001/04/xmlenc#sha256" + ], + "encryptionAlgorithm": [ + "http://www.w3.org/2009/xmlenc11#rsa-oaep" + ], + "signingAlgorithm": [] + } + } + }, + "assertionProcessing": { + "accountMapper": { + "accountMapper": "com.sun.identity.saml2.plugins.DefaultIDPAccountMapper" + }, + "attributeMapper": { + "attributeMap": [ + { + "binary": false, + "localAttribute": "mail", + "samlAttribute": "SSOID" + }, + { + "binary": false, + "localAttribute": "mail", + "samlAttribute": "User.Email" + }, + { + "binary": false, + "localAttribute": "\"Standard User\"", + "samlAttribute": "User.ProfileID" + }, + { + "binary": false, + "localAttribute": "sn", + "samlAttribute": "User.LastName" + }, + { + "binary": false, + "localAttribute": "mail", + "samlAttribute": "User.Username" + } + ], + "attributeMapper": "com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper", + "attributeMapperScript": "[Empty]" + }, + "localConfiguration": {} + }, + "services": { + "assertionIdRequest": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://platform.dev.trivir.com/am/AIDReqSoap/IDPRole/metaAlias/test" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:URI", + "location": "https://platform.dev.trivir.com/am/AIDReqUri/IDPRole/metaAlias/test" + } + ], + "metaAlias": "/test", + "nameIdMapping": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://platform.dev.trivir.com/am/NIMSoap/metaAlias/test" + } + ], + "serviceAttributes": { + "artifactResolutionService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://platform.dev.trivir.com/am/ArtifactResolver/metaAlias/test" + } + ], + "nameIdService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://platform.dev.trivir.com/am/IDPMniPOST/metaAlias/test", + "responseLocation": "https://platform.dev.trivir.com/am/IDPMniPOST/metaAlias/test" + } + ], + "singleLogoutService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://platform.dev.trivir.com/am/IDPSloPOST/metaAlias/test", + "responseLocation": "https://platform.dev.trivir.com/am/IDPSloPOST/metaAlias/test" + } + ], + "singleSignOnService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://platform.dev.trivir.com/am/SSOPOST/metaAlias/test" + } + ] + } + } + }, + "serviceProvider": { + "advanced": { + "ecpConfiguration": { + "ecpRequestIdpListFinderImpl": "com.sun.identity.saml2.plugins.ECPIDPFinder" + }, + "idpProxy": {}, + "relayStateUrlList": {}, + "saeConfiguration": { + "spUrl": "https://platform.dev.trivir.com/am/spsaehandler/metaAlias/sp" + } + }, + "assertionContent": { + "assertionTimeSkew": 300, + "authenticationContext": { + "authContextItems": [ + { + "contextReference": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", + "defaultItem": true, + "level": 0 + } + ], + "authenticationComparisonType": "Exact", + "authenticationContextMapper": "com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper", + "includeRequestedAuthenticationContext": true + }, + "basicAuthentication": {}, + "clientAuthentication": {}, + "nameIdFormat": { + "nameIdFormatList": [ + "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", + "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", + "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", + "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", + "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName", + "urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos", + "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName" + ] + }, + "signingAndEncryption": { + "encryption": {}, + "requestResponseSigning": {}, + "secretIdAndAlgorithms": {} + } + }, + "assertionProcessing": { + "accountMapping": { + "spAccountMapper": "com.sun.identity.saml2.plugins.DefaultSPAccountMapper" + }, + "adapter": { + "spAdapterScript": "[Empty]" + }, + "attributeMapper": { + "attributeMap": [ + { + "key": "*", + "value": "*" + } + ], + "attributeMapper": "com.sun.identity.saml2.plugins.DefaultSPAttributeMapper" + }, + "autoFederation": {}, + "responseArtifactMessageEncoding": { + "encoding": "URI" + }, + "url": {} + }, + "services": { + "metaAlias": "/sp", + "serviceAttributes": { + "assertionConsumerService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact", + "index": 0, + "isDefault": true, + "location": "https://platform.dev.trivir.com/am/Consumer/metaAlias/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "index": 1, + "isDefault": false, + "location": "https://platform.dev.trivir.com/am/Consumer/metaAlias/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:PAOS", + "index": 2, + "isDefault": false, + "location": "https://platform.dev.trivir.com/am/Consumer/ECP/metaAlias/sp" + } + ], + "nameIdService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "location": "https://platform.dev.trivir.com/am/SPMniRedirect/metaAlias/sp", + "responseLocation": "https://platform.dev.trivir.com/am/SPMniRedirect/metaAlias/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://platform.dev.trivir.com/am/SPMniPOST/metaAlias/sp", + "responseLocation": "https://platform.dev.trivir.com/am/SPMniPOST/metaAlias/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://platform.dev.trivir.com/am/SPMniSoap/metaAlias/sp", + "responseLocation": "https://platform.dev.trivir.com/am/SPMniSoap/metaAlias/sp" + } + ], + "singleLogoutService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "location": "https://platform.dev.trivir.com/am/SPSloRedirect/metaAlias/sp", + "responseLocation": "https://platform.dev.trivir.com/am/SPSloRedirect/metaAlias/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://platform.dev.trivir.com/am/SPSloPOST/metaAlias/sp", + "responseLocation": "https://platform.dev.trivir.com/am/SPSloPOST/metaAlias/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://platform.dev.trivir.com/am/SPSloSoap/metaAlias/sp" + } + ] + } + } + } + }, + "metadata": "\n\n \n \n \n \n \n \n \n \nMIIDYzCCAkugAwIBAgIILQnyOU1PHIEwDQYJKoZIhvcNAQELBQAwYDELMAkGA1UEBhMCVUsxEDAO\nBgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZvcmdlUm9jazEZMBcG\nA1UEAxMQcnNhand0c2lnbmluZ2tleTAeFw0yNjAyMDYxNDMzMzdaFw0zNjAyMDQxNDMzMzdaMGAx\nCzAJBgNVBAYTAlVLMRAwDgYDVQQIEwdCcmlzdG9sMRAwDgYDVQQHEwdCcmlzdG9sMRIwEAYDVQQK\nEwlGb3JnZVJvY2sxGTAXBgNVBAMTEHJzYWp3dHNpZ25pbmdrZXkwggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQCrX9/hFscSTuI0g2tZ1jlqPM8vrYtqG0hauiewNmE0MNSSEIoskZaENiRU\nUNkUlXHKQCWUflagqT0DkCyozCEB7XF/2Q8j4fPaSWA4Mefj0eecRVUaulCy1E8tJ0CzWZrqYTdn\nlcB+gN5c2kJiSCRjJ38gzT4AQU9oJGLanKFpHvk+SMuqpnZiFUN3vTwWqMNhGxMDkYFmPtBzO71C\n2mZrN+INd0DyrZzRNn8Qh5qo2tgVOJWzcbxtxtgh1ZAt/Q8oIQXmd6yoKguiQD+FGHV8tZRkFDIW\nl0VCwH5PD0wY18E4SO+gsARMudN+rQ34y2O12Mirfl56GlgnRDYSbPRbAgMBAAGjITAfMB0GA1Ud\nDgQWBBSklqDq7HRCjutHDVPh5XrRu5pfzTANBgkqhkiG9w0BAQsFAAOCAQEAOC5pivjGDgkQ/OFo\nK4vl3iaQzewogHyTPcQj79Knj/Rg/GBwgEnMMRZiYIgksMrsdnmihotW4AniB1wpFi9mBBG6bF/s\ne3VWST4VnpXs3Ex+uLPjegOW+NYYJWSbOwRRnS9ysHAcx/3jQKrXpn9/ZfMpuHqHkytniKsBwwrL\nU6bT/0hH5L1sJRcS2utbvt3DO15jTMOhamJuvAoelSmdMlnudO8y0kR7AlgA2x50tvwAMlEEHPxo\nN4+dZU1npbI/ao7KDS6AtQXaqXx2kXmovm2wMCHake9jOOVsphgiviGevSwGHhjet5D40+7URF1W\nFaALI74mSNuSqqnloSB2YQ==\n \n \n \n \n \n \n \n \nMIIDSzCCAjOgAwIBAgIIOsZo5CJTcc0wDQYJKoZIhvcNAQELBQAwVDELMAkGA1UEBhMCVUsxEDAO\nBgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZvcmdlUm9jazENMAsG\nA1UEAxMEdGVzdDAeFw0yNjAyMDYxNDMzMzlaFw0zNjAyMDQxNDMzMzlaMFQxCzAJBgNVBAYTAlVL\nMRAwDgYDVQQIEwdCcmlzdG9sMRAwDgYDVQQHEwdCcmlzdG9sMRIwEAYDVQQKEwlGb3JnZVJvY2sx\nDTALBgNVBAMTBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTBNilrFnQVprn\n31AK9n1HOnFzTIQIu/ZzukYcYxMPTZV8rq4D2HHhwCGPK5VYyu9KC4zq/xOm71mpr4XiH9+ovubl\n15pHek/2iwpbZzgdAHOCUuMT1WkKHz5jXFBI3JmSWyZLpQSbrnRzDoZgEMpn64K11It491dZ3En2\n9QsRrcQQ7O3T7J25lQV4KpYHov8+gP4yvDZkALHNyBOxkuWvcFrjyx4jUrsEuDUi8vb8hZpEtcHQ\nZPllJzVsVu3obcEfLnlPu25VQn9xiL01DzeF8VEK/qtboRabNH6wfk19nNAmZu1UUW8TmBBe1AgD\nG+uFxnv9W3Lm2ztUkH/Ltg+bAgMBAAGjITAfMB0GA1UdDgQWBBQarfWE+OACGmbhARDZtZNfDKiz\n+zANBgkqhkiG9w0BAQsFAAOCAQEAxUvSU3HH90dPRryZ3V5wnkvGGvv3MTPr0NvrG2SiSFmXaG8o\n08zUNYhhQkhpJst8Dxf4akZDmQ7vlpUXFcBCEKBWry0Ft16HthAV43+9R4m/goYMoPnCt6sesiz/\nX8bt3VrSz2skkgt3c/G1ZnmGdTIaUIS+zmV9KJtvV14NGD0F5E/LdHh6Y8Z6tCfPCyXPq2E5HsOl\nq3eA03YAMCTKOfjuR8AEj3UJnjnS1cD4csqoIzs2iauP48P/D43WjbhyhBuky8/NXP6pVKwPbp1m\nNG958CoDkA9noVkolGk8pHAF+1iS76Pl4MIRFevGilNV5TphpKvxT8appm783Rk5ig==\n \n \n \n \n \n \n \n \n 128\n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n \n \n \n \n \n \nMIIDYzCCAkugAwIBAgIILQnyOU1PHIEwDQYJKoZIhvcNAQELBQAwYDELMAkGA1UEBhMCVUsxEDAO\nBgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZvcmdlUm9jazEZMBcG\nA1UEAxMQcnNhand0c2lnbmluZ2tleTAeFw0yNjAyMDYxNDMzMzdaFw0zNjAyMDQxNDMzMzdaMGAx\nCzAJBgNVBAYTAlVLMRAwDgYDVQQIEwdCcmlzdG9sMRAwDgYDVQQHEwdCcmlzdG9sMRIwEAYDVQQK\nEwlGb3JnZVJvY2sxGTAXBgNVBAMTEHJzYWp3dHNpZ25pbmdrZXkwggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQCrX9/hFscSTuI0g2tZ1jlqPM8vrYtqG0hauiewNmE0MNSSEIoskZaENiRU\nUNkUlXHKQCWUflagqT0DkCyozCEB7XF/2Q8j4fPaSWA4Mefj0eecRVUaulCy1E8tJ0CzWZrqYTdn\nlcB+gN5c2kJiSCRjJ38gzT4AQU9oJGLanKFpHvk+SMuqpnZiFUN3vTwWqMNhGxMDkYFmPtBzO71C\n2mZrN+INd0DyrZzRNn8Qh5qo2tgVOJWzcbxtxtgh1ZAt/Q8oIQXmd6yoKguiQD+FGHV8tZRkFDIW\nl0VCwH5PD0wY18E4SO+gsARMudN+rQ34y2O12Mirfl56GlgnRDYSbPRbAgMBAAGjITAfMB0GA1Ud\nDgQWBBSklqDq7HRCjutHDVPh5XrRu5pfzTANBgkqhkiG9w0BAQsFAAOCAQEAOC5pivjGDgkQ/OFo\nK4vl3iaQzewogHyTPcQj79Knj/Rg/GBwgEnMMRZiYIgksMrsdnmihotW4AniB1wpFi9mBBG6bF/s\ne3VWST4VnpXs3Ex+uLPjegOW+NYYJWSbOwRRnS9ysHAcx/3jQKrXpn9/ZfMpuHqHkytniKsBwwrL\nU6bT/0hH5L1sJRcS2utbvt3DO15jTMOhamJuvAoelSmdMlnudO8y0kR7AlgA2x50tvwAMlEEHPxo\nN4+dZU1npbI/ao7KDS6AtQXaqXx2kXmovm2wMCHake9jOOVsphgiviGevSwGHhjet5D40+7URF1W\nFaALI74mSNuSqqnloSB2YQ==\n \n \n \n \n \n \n \n \nMIIDSzCCAjOgAwIBAgIIOsZo5CJTcc0wDQYJKoZIhvcNAQELBQAwVDELMAkGA1UEBhMCVUsxEDAO\nBgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZvcmdlUm9jazENMAsG\nA1UEAxMEdGVzdDAeFw0yNjAyMDYxNDMzMzlaFw0zNjAyMDQxNDMzMzlaMFQxCzAJBgNVBAYTAlVL\nMRAwDgYDVQQIEwdCcmlzdG9sMRAwDgYDVQQHEwdCcmlzdG9sMRIwEAYDVQQKEwlGb3JnZVJvY2sx\nDTALBgNVBAMTBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTBNilrFnQVprn\n31AK9n1HOnFzTIQIu/ZzukYcYxMPTZV8rq4D2HHhwCGPK5VYyu9KC4zq/xOm71mpr4XiH9+ovubl\n15pHek/2iwpbZzgdAHOCUuMT1WkKHz5jXFBI3JmSWyZLpQSbrnRzDoZgEMpn64K11It491dZ3En2\n9QsRrcQQ7O3T7J25lQV4KpYHov8+gP4yvDZkALHNyBOxkuWvcFrjyx4jUrsEuDUi8vb8hZpEtcHQ\nZPllJzVsVu3obcEfLnlPu25VQn9xiL01DzeF8VEK/qtboRabNH6wfk19nNAmZu1UUW8TmBBe1AgD\nG+uFxnv9W3Lm2ztUkH/Ltg+bAgMBAAGjITAfMB0GA1UdDgQWBBQarfWE+OACGmbhARDZtZNfDKiz\n+zANBgkqhkiG9w0BAQsFAAOCAQEAxUvSU3HH90dPRryZ3V5wnkvGGvv3MTPr0NvrG2SiSFmXaG8o\n08zUNYhhQkhpJst8Dxf4akZDmQ7vlpUXFcBCEKBWry0Ft16HthAV43+9R4m/goYMoPnCt6sesiz/\nX8bt3VrSz2skkgt3c/G1ZnmGdTIaUIS+zmV9KJtvV14NGD0F5E/LdHh6Y8Z6tCfPCyXPq2E5HsOl\nq3eA03YAMCTKOfjuR8AEj3UJnjnS1cD4csqoIzs2iauP48P/D43WjbhyhBuky8/NXP6pVKwPbp1m\nNG958CoDkA9noVkolGk8pHAF+1iS76Pl4MIRFevGilNV5TphpKvxT8appm783Rk5ig==\n \n \n \n \n \n \n \n 128\n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n\n\n" +} diff --git a/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/remote/microsoftOnline.json b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/remote/microsoftOnline.json new file mode 100644 index 000000000..33d4cc7a1 --- /dev/null +++ b/test/e2e/exports/fr-config-manager/forgeops/realms/alpha/realm-config/saml/remote/microsoftOnline.json @@ -0,0 +1,182 @@ +{ + "config": { + "_id": "Rm9yZ2VvcHNUZXN0", + "_rev": "-376377749", + "entityId": "ForgeopsTest", + "identityProvider": { + "assertionContent": { + "basicAuthentication": {}, + "clientAuthentication": {}, + "nameIdFormat": { + "nameIdFormatList": [ + "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", + "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", + "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", + "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", + "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName", + "urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos", + "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName" + ] + }, + "secrets": {}, + "signingAndEncryption": { + "encryption": {}, + "requestResponseSigning": {}, + "secretIdAndAlgorithms": {} + } + }, + "services": { + "nameIdMapping": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://openam-frodo-dev.forgeblocks.com/am/NIMSoap/metaAlias/alpha/idp" + } + ], + "serviceAttributes": { + "artifactResolutionService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://openam-frodo-dev.forgeblocks.com/am/ArtifactResolver/metaAlias/alpha/idp" + } + ], + "nameIdService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "location": "https://openam-frodo-dev.forgeblocks.com/am/IDPMniRedirect/metaAlias/alpha/idp", + "responseLocation": "https://openam-frodo-dev.forgeblocks.com/am/IDPMniRedirect/metaAlias/alpha/idp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-frodo-dev.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/idp", + "responseLocation": "https://openam-frodo-dev.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/idp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://openam-frodo-dev.forgeblocks.com/am/IDPMniSoap/metaAlias/alpha/idp" + } + ], + "singleLogoutService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "location": "https://openam-frodo-dev.forgeblocks.com/am/IDPSloRedirect/metaAlias/alpha/idp", + "responseLocation": "https://openam-frodo-dev.forgeblocks.com/am/IDPSloRedirect/metaAlias/alpha/idp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-frodo-dev.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/idp", + "responseLocation": "https://openam-frodo-dev.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/idp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://openam-frodo-dev.forgeblocks.com/am/IDPSloSoap/metaAlias/alpha/idp" + } + ], + "singleSignOnService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "location": "https://openam-frodo-dev.forgeblocks.com/am/SSORedirect/metaAlias/alpha/idp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-frodo-dev.forgeblocks.com/am/SSOPOST/metaAlias/alpha/idp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://openam-frodo-dev.forgeblocks.com/am/SSOSoap/metaAlias/alpha/idp" + } + ] + } + } + }, + "serviceProvider": { + "advanced": { + "idpProxy": {}, + "saeConfiguration": {}, + "treeConfiguration": {} + }, + "assertionContent": { + "basicAuthentication": {}, + "nameIdFormat": { + "nameIdFormatList": [ + "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", + "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", + "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", + "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", + "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName", + "urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos", + "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName" + ] + }, + "secrets": {}, + "signingAndEncryption": { + "encryption": {}, + "requestResponseSigning": {}, + "secretIdAndAlgorithms": {} + } + }, + "assertionProcessing": { + "accountMapper": {}, + "attributeMapper": {}, + "responseArtifactMessageEncoding": {} + }, + "services": { + "serviceAttributes": { + "assertionConsumerService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact", + "index": 0, + "isDefault": true, + "location": "https://openam-frodo-dev.forgeblocks.com/am/Consumer/metaAlias/alpha/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "index": 1, + "isDefault": false, + "location": "https://openam-frodo-dev.forgeblocks.com/am/Consumer/metaAlias/alpha/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:PAOS", + "index": 2, + "isDefault": false, + "location": "https://openam-frodo-dev.forgeblocks.com/am/Consumer/ECP/metaAlias/alpha/sp" + } + ], + "nameIdService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "location": "https://openam-frodo-dev.forgeblocks.com/am/SPMniRedirect/metaAlias/alpha/sp", + "responseLocation": "https://openam-frodo-dev.forgeblocks.com/am/SPMniRedirect/metaAlias/alpha/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-frodo-dev.forgeblocks.com/am/SPMniPOST/metaAlias/alpha/sp", + "responseLocation": "https://openam-frodo-dev.forgeblocks.com/am/SPMniPOST/metaAlias/alpha/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://openam-frodo-dev.forgeblocks.com/am/SPMniSoap/metaAlias/alpha/sp", + "responseLocation": "https://openam-frodo-dev.forgeblocks.com/am/SPMniSoap/metaAlias/alpha/sp" + } + ], + "singleLogoutService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "location": "https://openam-frodo-dev.forgeblocks.com/am/SPSloRedirect/metaAlias/alpha/sp", + "responseLocation": "https://openam-frodo-dev.forgeblocks.com/am/SPSloRedirect/metaAlias/alpha/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-frodo-dev.forgeblocks.com/am/SPSloPOST/metaAlias/alpha/sp", + "responseLocation": "https://openam-frodo-dev.forgeblocks.com/am/SPSloPOST/metaAlias/alpha/sp" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://openam-frodo-dev.forgeblocks.com/am/SPSloSoap/metaAlias/alpha/sp" + } + ] + } + } + } + }, + "metadata": "\n\n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\n urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\n urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\n \n \n \n \n\n\n" +} diff --git a/test/e2e/mocks/config-manager_4167095917/push_2272264157/saml_3289136144/0_D_m_314327836/am_1076162899/recording.har b/test/e2e/mocks/config-manager_4167095917/push_2272264157/saml_3289136144/0_D_m_314327836/am_1076162899/recording.har new file mode 100644 index 000000000..7feb6abba --- /dev/null +++ b/test/e2e/mocks/config-manager_4167095917/push_2272264157/saml_3289136144/0_D_m_314327836/am_1076162899/recording.har @@ -0,0 +1,1865 @@ +{ + "log": { + "_recordingName": "config-manager/push/saml/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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "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": "Wed, 08 Apr 2026 14:40:42 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-08T14:40:42.775Z", + "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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "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": "Wed, 08 Apr 2026 14:40:42 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-08T14:40:42.804Z", + "time": 20, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 20 + } + }, + { + "_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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "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-08T14:40:42Z\",\"maxIdleExpirationTime\":\"2026-04-08T15:10:42Z\",\"maxSessionExpirationTime\":\"2026-04-08T16:40:41Z\",\"properties\":{\"AMCtxId\":\"49b4c99f-b20b-49e9-b4d3-06af5ece0fb0-51238\"}}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Wed, 08 Apr 2026 14:40:42 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-08T14:40:42.832Z", + "time": 6, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 6 + } + }, + { + "_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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "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": "Wed, 08 Apr 2026 14:40:42 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": 629, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-08T14:40:42.846Z", + "time": 5, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 5 + } + }, + { + "_id": "ed1878450ec2c9dd355789e4fda710ef", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 7222, + "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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "7222" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 604, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"dGVzdC1JRFA\",\"_rev\":\"-553083492\",\"entityId\":\"test-IDP\",\"identityProvider\":{\"advanced\":{\"ecpConfiguration\":{\"idpSessionMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper\"},\"idpAdapter\":{\"idpAdapterScript\":\"[Empty]\"},\"idpFinderImplementation\":{},\"relayStateUrlList\":{},\"saeConfiguration\":{\"idpUrl\":\"https://platform.dev.trivir.com/am/idpsaehandler/metaAlias/test\"},\"sessionSynchronization\":{}},\"assertionContent\":{\"assertionCache\":{},\"assertionTime\":{\"effectiveTime\":600,\"notBeforeTimeSkew\":600},\"authenticationContext\":{\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0}],\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAuthnContextMapper\"},\"basicAuthentication\":{},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"],\"nameIdValueMap\":[{\"binary\":false,\"key\":\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"value\":\"mail\"},{\"binary\":false,\"key\":\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified \",\"value\":\"mail\"}]},\"signingAndEncryption\":{\"encryption\":{\"nameIdEncryption\":false},\"requestResponseSigning\":{\"artifactResolve\":true,\"authenticationRequest\":true,\"logoutRequest\":false,\"logoutResponse\":false,\"manageNameIdRequest\":false,\"manageNameIdResponse\":false},\"secretIdAndAlgorithms\":{\"digestAlgorithm\":[\"http://www.w3.org/2001/04/xmlenc#sha256\"],\"encryptionAlgorithm\":[\"http://www.w3.org/2009/xmlenc11#rsa-oaep\"],\"signingAlgorithm\":[]}}},\"assertionProcessing\":{\"accountMapper\":{\"accountMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAccountMapper\"},\"attributeMapper\":{\"attributeMap\":[{\"binary\":false,\"localAttribute\":\"mail\",\"samlAttribute\":\"SSOID\"},{\"binary\":false,\"localAttribute\":\"mail\",\"samlAttribute\":\"User.Email\"},{\"binary\":false,\"localAttribute\":\"\\\"Standard User\\\"\",\"samlAttribute\":\"User.ProfileID\"},{\"binary\":false,\"localAttribute\":\"sn\",\"samlAttribute\":\"User.LastName\"},{\"binary\":false,\"localAttribute\":\"mail\",\"samlAttribute\":\"User.Username\"}],\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper\",\"attributeMapperScript\":\"[Empty]\"},\"localConfiguration\":{}},\"services\":{\"assertionIdRequest\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/AIDReqSoap/IDPRole/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:URI\",\"location\":\"https://platform.dev.trivir.com/am/AIDReqUri/IDPRole/metaAlias/test\"}],\"metaAlias\":\"/test\",\"nameIdMapping\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/NIMSoap/metaAlias/test\"}],\"serviceAttributes\":{\"artifactResolutionService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/ArtifactResolver/metaAlias/test\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/IDPMniPOST/metaAlias/test\",\"responseLocation\":\"https://platform.dev.trivir.com/am/IDPMniPOST/metaAlias/test\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/IDPSloPOST/metaAlias/test\",\"responseLocation\":\"https://platform.dev.trivir.com/am/IDPSloPOST/metaAlias/test\"}],\"singleSignOnService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/SSOPOST/metaAlias/test\"}]}}},\"serviceProvider\":{\"advanced\":{\"ecpConfiguration\":{\"ecpRequestIdpListFinderImpl\":\"com.sun.identity.saml2.plugins.ECPIDPFinder\"},\"idpProxy\":{},\"relayStateUrlList\":{},\"saeConfiguration\":{\"spUrl\":\"https://platform.dev.trivir.com/am/spsaehandler/metaAlias/sp\"}},\"assertionContent\":{\"assertionTimeSkew\":300,\"authenticationContext\":{\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"defaultItem\":true,\"level\":0}],\"authenticationComparisonType\":\"Exact\",\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper\",\"includeRequestedAuthenticationContext\":true},\"basicAuthentication\":{},\"clientAuthentication\":{},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"signingAndEncryption\":{\"encryption\":{},\"requestResponseSigning\":{},\"secretIdAndAlgorithms\":{}}},\"assertionProcessing\":{\"accountMapping\":{\"spAccountMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAccountMapper\"},\"adapter\":{\"spAdapterScript\":\"[Empty]\"},\"attributeMapper\":{\"attributeMap\":[{\"key\":\"*\",\"value\":\"*\"}],\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAttributeMapper\"},\"autoFederation\":{},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"},\"url\":{}},\"services\":{\"metaAlias\":\"/sp\",\"serviceAttributes\":{\"assertionConsumerService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"index\":0,\"isDefault\":true,\"location\":\"https://platform.dev.trivir.com/am/Consumer/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"index\":1,\"isDefault\":false,\"location\":\"https://platform.dev.trivir.com/am/Consumer/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"index\":2,\"isDefault\":false,\"location\":\"https://platform.dev.trivir.com/am/Consumer/ECP/metaAlias/sp\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://platform.dev.trivir.com/am/SPMniRedirect/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPMniRedirect/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/SPMniPOST/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPMniPOST/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/SPMniSoap/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPMniSoap/metaAlias/sp\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://platform.dev.trivir.com/am/SPSloRedirect/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPSloRedirect/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/SPSloPOST/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPSloPOST/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/SPSloSoap/metaAlias/sp\"}]}}}}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/realm-config/saml2/hosted/?_action=create" + }, + "response": { + "bodySize": 118, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 118, + "text": "{\"code\":400,\"reason\":\"Bad Request\",\"message\":\"The Meta Alias \\\"/test\\t/sp\\t\\\" already exists under realm \\\"/alpha\\\".\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Wed, 08 Apr 2026 14:40:42 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "118" + }, + { + "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=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": "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": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2026-04-08T14:40:42.921Z", + "time": 16, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 16 + } + }, + { + "_id": "0e8dcc383c33506e3013f36262a276e2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 7222, + "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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "7222" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 599, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"dGVzdC1JRFA\",\"_rev\":\"-553083492\",\"entityId\":\"test-IDP\",\"identityProvider\":{\"advanced\":{\"ecpConfiguration\":{\"idpSessionMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper\"},\"idpAdapter\":{\"idpAdapterScript\":\"[Empty]\"},\"idpFinderImplementation\":{},\"relayStateUrlList\":{},\"saeConfiguration\":{\"idpUrl\":\"https://platform.dev.trivir.com/am/idpsaehandler/metaAlias/test\"},\"sessionSynchronization\":{}},\"assertionContent\":{\"assertionCache\":{},\"assertionTime\":{\"effectiveTime\":600,\"notBeforeTimeSkew\":600},\"authenticationContext\":{\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0}],\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAuthnContextMapper\"},\"basicAuthentication\":{},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"],\"nameIdValueMap\":[{\"binary\":false,\"key\":\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"value\":\"mail\"},{\"binary\":false,\"key\":\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified \",\"value\":\"mail\"}]},\"signingAndEncryption\":{\"encryption\":{\"nameIdEncryption\":false},\"requestResponseSigning\":{\"artifactResolve\":true,\"authenticationRequest\":true,\"logoutRequest\":false,\"logoutResponse\":false,\"manageNameIdRequest\":false,\"manageNameIdResponse\":false},\"secretIdAndAlgorithms\":{\"digestAlgorithm\":[\"http://www.w3.org/2001/04/xmlenc#sha256\"],\"encryptionAlgorithm\":[\"http://www.w3.org/2009/xmlenc11#rsa-oaep\"],\"signingAlgorithm\":[]}}},\"assertionProcessing\":{\"accountMapper\":{\"accountMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAccountMapper\"},\"attributeMapper\":{\"attributeMap\":[{\"binary\":false,\"localAttribute\":\"mail\",\"samlAttribute\":\"SSOID\"},{\"binary\":false,\"localAttribute\":\"mail\",\"samlAttribute\":\"User.Email\"},{\"binary\":false,\"localAttribute\":\"\\\"Standard User\\\"\",\"samlAttribute\":\"User.ProfileID\"},{\"binary\":false,\"localAttribute\":\"sn\",\"samlAttribute\":\"User.LastName\"},{\"binary\":false,\"localAttribute\":\"mail\",\"samlAttribute\":\"User.Username\"}],\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper\",\"attributeMapperScript\":\"[Empty]\"},\"localConfiguration\":{}},\"services\":{\"assertionIdRequest\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/AIDReqSoap/IDPRole/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:URI\",\"location\":\"https://platform.dev.trivir.com/am/AIDReqUri/IDPRole/metaAlias/test\"}],\"metaAlias\":\"/test\",\"nameIdMapping\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/NIMSoap/metaAlias/test\"}],\"serviceAttributes\":{\"artifactResolutionService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/ArtifactResolver/metaAlias/test\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/IDPMniPOST/metaAlias/test\",\"responseLocation\":\"https://platform.dev.trivir.com/am/IDPMniPOST/metaAlias/test\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/IDPSloPOST/metaAlias/test\",\"responseLocation\":\"https://platform.dev.trivir.com/am/IDPSloPOST/metaAlias/test\"}],\"singleSignOnService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/SSOPOST/metaAlias/test\"}]}}},\"serviceProvider\":{\"advanced\":{\"ecpConfiguration\":{\"ecpRequestIdpListFinderImpl\":\"com.sun.identity.saml2.plugins.ECPIDPFinder\"},\"idpProxy\":{},\"relayStateUrlList\":{},\"saeConfiguration\":{\"spUrl\":\"https://platform.dev.trivir.com/am/spsaehandler/metaAlias/sp\"}},\"assertionContent\":{\"assertionTimeSkew\":300,\"authenticationContext\":{\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"defaultItem\":true,\"level\":0}],\"authenticationComparisonType\":\"Exact\",\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper\",\"includeRequestedAuthenticationContext\":true},\"basicAuthentication\":{},\"clientAuthentication\":{},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"signingAndEncryption\":{\"encryption\":{},\"requestResponseSigning\":{},\"secretIdAndAlgorithms\":{}}},\"assertionProcessing\":{\"accountMapping\":{\"spAccountMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAccountMapper\"},\"adapter\":{\"spAdapterScript\":\"[Empty]\"},\"attributeMapper\":{\"attributeMap\":[{\"key\":\"*\",\"value\":\"*\"}],\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAttributeMapper\"},\"autoFederation\":{},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"},\"url\":{}},\"services\":{\"metaAlias\":\"/sp\",\"serviceAttributes\":{\"assertionConsumerService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"index\":0,\"isDefault\":true,\"location\":\"https://platform.dev.trivir.com/am/Consumer/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"index\":1,\"isDefault\":false,\"location\":\"https://platform.dev.trivir.com/am/Consumer/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"index\":2,\"isDefault\":false,\"location\":\"https://platform.dev.trivir.com/am/Consumer/ECP/metaAlias/sp\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://platform.dev.trivir.com/am/SPMniRedirect/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPMniRedirect/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/SPMniPOST/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPMniPOST/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/SPMniSoap/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPMniSoap/metaAlias/sp\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://platform.dev.trivir.com/am/SPSloRedirect/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPSloRedirect/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/SPSloPOST/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPSloPOST/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/SPSloSoap/metaAlias/sp\"}]}}}}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/realm-config/saml2/hosted/dGVzdC1JRFA" + }, + "response": { + "bodySize": 7222, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 7222, + "text": "{\"_id\":\"dGVzdC1JRFA\",\"_rev\":\"-553083492\",\"entityId\":\"test-IDP\",\"identityProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{\"authenticationRequest\":true,\"artifactResolve\":true,\"logoutRequest\":false,\"logoutResponse\":false,\"manageNameIdRequest\":false,\"manageNameIdResponse\":false},\"encryption\":{\"nameIdEncryption\":false},\"secretIdAndAlgorithms\":{\"signingAlgorithm\":[],\"digestAlgorithm\":[\"http://www.w3.org/2001/04/xmlenc#sha256\"],\"encryptionAlgorithm\":[\"http://www.w3.org/2009/xmlenc11#rsa-oaep\"]}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"],\"nameIdValueMap\":[{\"key\":\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"value\":\"mail\",\"binary\":false},{\"key\":\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified \",\"value\":\"mail\",\"binary\":false}]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0}]},\"assertionTime\":{\"notBeforeTimeSkew\":600,\"effectiveTime\":600},\"basicAuthentication\":{},\"assertionCache\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper\",\"attributeMapperScript\":\"[Empty]\",\"attributeMap\":[{\"samlAttribute\":\"SSOID\",\"localAttribute\":\"mail\",\"binary\":false},{\"samlAttribute\":\"User.Email\",\"localAttribute\":\"mail\",\"binary\":false},{\"samlAttribute\":\"User.ProfileID\",\"localAttribute\":\"\\\"Standard User\\\"\",\"binary\":false},{\"samlAttribute\":\"User.LastName\",\"localAttribute\":\"sn\",\"binary\":false},{\"samlAttribute\":\"User.Username\",\"localAttribute\":\"mail\",\"binary\":false}]},\"accountMapper\":{\"accountMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPAccountMapper\"},\"localConfiguration\":{}},\"services\":{\"metaAlias\":\"/test\",\"serviceAttributes\":{\"artifactResolutionService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/ArtifactResolver/metaAlias/test\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/IDPSloPOST/metaAlias/test\",\"responseLocation\":\"https://platform.dev.trivir.com/am/IDPSloPOST/metaAlias/test\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/IDPMniPOST/metaAlias/test\",\"responseLocation\":\"https://platform.dev.trivir.com/am/IDPMniPOST/metaAlias/test\"}],\"singleSignOnService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/SSOPOST/metaAlias/test\"}]},\"nameIdMapping\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/NIMSoap/metaAlias/test\"}],\"assertionIdRequest\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/AIDReqSoap/IDPRole/metaAlias/test\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:URI\",\"location\":\"https://platform.dev.trivir.com/am/AIDReqUri/IDPRole/metaAlias/test\"}]},\"advanced\":{\"saeConfiguration\":{\"idpUrl\":\"https://platform.dev.trivir.com/am/idpsaehandler/metaAlias/test\"},\"ecpConfiguration\":{\"idpSessionMapper\":\"com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper\"},\"sessionSynchronization\":{},\"idpFinderImplementation\":{},\"relayStateUrlList\":{},\"idpAdapter\":{\"idpAdapterScript\":\"[Empty]\"}}},\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"authenticationContext\":{\"authenticationContextMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAuthnContextMapper\",\"authContextItems\":[{\"contextReference\":\"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\",\"level\":0,\"defaultItem\":true}],\"authenticationComparisonType\":\"Exact\",\"includeRequestedAuthenticationContext\":true},\"assertionTimeSkew\":300,\"basicAuthentication\":{},\"clientAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{\"attributeMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAttributeMapper\",\"attributeMap\":[{\"key\":\"*\",\"value\":\"*\"}]},\"autoFederation\":{},\"accountMapping\":{\"spAccountMapper\":\"com.sun.identity.saml2.plugins.DefaultSPAccountMapper\"},\"responseArtifactMessageEncoding\":{\"encoding\":\"URI\"},\"url\":{},\"adapter\":{\"spAdapterScript\":\"[Empty]\"}},\"services\":{\"metaAlias\":\"/sp\",\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://platform.dev.trivir.com/am/SPSloRedirect/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPSloRedirect/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/SPSloPOST/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPSloPOST/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/SPSloSoap/metaAlias/sp\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://platform.dev.trivir.com/am/SPMniRedirect/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPMniRedirect/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/SPMniPOST/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPMniPOST/metaAlias/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://platform.dev.trivir.com/am/SPMniSoap/metaAlias/sp\",\"responseLocation\":\"https://platform.dev.trivir.com/am/SPMniSoap/metaAlias/sp\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"location\":\"https://platform.dev.trivir.com/am/Consumer/metaAlias/sp\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://platform.dev.trivir.com/am/Consumer/metaAlias/sp\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"https://platform.dev.trivir.com/am/Consumer/ECP/metaAlias/sp\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{\"spUrl\":\"https://platform.dev.trivir.com/am/spsaehandler/metaAlias/sp\"},\"ecpConfiguration\":{\"ecpRequestIdpListFinderImpl\":\"com.sun.identity.saml2.plugins.ECPIDPFinder\"},\"idpProxy\":{},\"relayStateUrlList\":{}}}}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Wed, 08 Apr 2026 14:40:42 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "7222" + }, + { + "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=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": "\"-553083492\"" + }, + { + "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-08T14:40:42.950Z", + "time": 42, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 42 + } + }, + { + "_id": "5aff9ee95b306486b0a1ebabab65a28c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 9231, + "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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "9231" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 610, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"standardMetadata\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI_Pgo8RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iRm9yZ2VvcHNUZXN0IiB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOm1ldGFkYXRhIiB4bWxuczpxdWVyeT0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6bWV0YWRhdGE6ZXh0OnF1ZXJ5IiB4bWxuczptZGF0dHI9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOm1ldGFkYXRhOmF0dHJpYnV0ZSIgeG1sbnM6c2FtbD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFzc2VydGlvbiIgeG1sbnM6eGVuYz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjIiB4bWxuczp4ZW5jMTE9Imh0dHA6Ly93d3cudzMub3JnLzIwMDkveG1sZW5jMTEjIiB4bWxuczphbGc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOm1ldGFkYXRhOmFsZ3N1cHBvcnQiIHhtbG5zOng1MDlxcnk9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOm1ldGFkYXRhOlg1MDk6cXVlcnkiIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj4KICAgIDxJRFBTU09EZXNjcmlwdG9yIHByb3RvY29sU3VwcG9ydEVudW1lcmF0aW9uPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6cHJvdG9jb2wiPgogICAgICAgIDxBcnRpZmFjdFJlc29sdXRpb25TZXJ2aWNlIGluZGV4PSIwIiBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6U09BUCIgTG9jYXRpb249Imh0dHBzOi8vb3BlbmFtLWZyb2RvLWRldi5mb3JnZWJsb2Nrcy5jb20vYW0vQXJ0aWZhY3RSZXNvbHZlci9tZXRhQWxpYXMvYWxwaGEvaWRwIi8-CiAgICAgICAgPFNpbmdsZUxvZ291dFNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUmVkaXJlY3QiIExvY2F0aW9uPSJodHRwczovL29wZW5hbS1mcm9kby1kZXYuZm9yZ2VibG9ja3MuY29tL2FtL0lEUFNsb1JlZGlyZWN0L21ldGFBbGlhcy9hbHBoYS9pZHAiIFJlc3BvbnNlTG9jYXRpb249Imh0dHBzOi8vb3BlbmFtLWZyb2RvLWRldi5mb3JnZWJsb2Nrcy5jb20vYW0vSURQU2xvUmVkaXJlY3QvbWV0YUFsaWFzL2FscGhhL2lkcCIvPgogICAgICAgIDxTaW5nbGVMb2dvdXRTZXJ2aWNlIEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpIVFRQLVBPU1QiIExvY2F0aW9uPSJodHRwczovL29wZW5hbS1mcm9kby1kZXYuZm9yZ2VibG9ja3MuY29tL2FtL0lEUFNsb1BPU1QvbWV0YUFsaWFzL2FscGhhL2lkcCIgUmVzcG9uc2VMb2NhdGlvbj0iaHR0cHM6Ly9vcGVuYW0tZnJvZG8tZGV2LmZvcmdlYmxvY2tzLmNvbS9hbS9JRFBTbG9QT1NUL21ldGFBbGlhcy9hbHBoYS9pZHAiLz4KICAgICAgICA8U2luZ2xlTG9nb3V0U2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6U09BUCIgTG9jYXRpb249Imh0dHBzOi8vb3BlbmFtLWZyb2RvLWRldi5mb3JnZWJsb2Nrcy5jb20vYW0vSURQU2xvU29hcC9tZXRhQWxpYXMvYWxwaGEvaWRwIi8-CiAgICAgICAgPE1hbmFnZU5hbWVJRFNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUmVkaXJlY3QiIExvY2F0aW9uPSJodHRwczovL29wZW5hbS1mcm9kby1kZXYuZm9yZ2VibG9ja3MuY29tL2FtL0lEUE1uaVJlZGlyZWN0L21ldGFBbGlhcy9hbHBoYS9pZHAiIFJlc3BvbnNlTG9jYXRpb249Imh0dHBzOi8vb3BlbmFtLWZyb2RvLWRldi5mb3JnZWJsb2Nrcy5jb20vYW0vSURQTW5pUmVkaXJlY3QvbWV0YUFsaWFzL2FscGhhL2lkcCIvPgogICAgICAgIDxNYW5hZ2VOYW1lSURTZXJ2aWNlIEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpIVFRQLVBPU1QiIExvY2F0aW9uPSJodHRwczovL29wZW5hbS1mcm9kby1kZXYuZm9yZ2VibG9ja3MuY29tL2FtL0lEUE1uaVBPU1QvbWV0YUFsaWFzL2FscGhhL2lkcCIgUmVzcG9uc2VMb2NhdGlvbj0iaHR0cHM6Ly9vcGVuYW0tZnJvZG8tZGV2LmZvcmdlYmxvY2tzLmNvbS9hbS9JRFBNbmlQT1NUL21ldGFBbGlhcy9hbHBoYS9pZHAiLz4KICAgICAgICA8TWFuYWdlTmFtZUlEU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6U09BUCIgTG9jYXRpb249Imh0dHBzOi8vb3BlbmFtLWZyb2RvLWRldi5mb3JnZWJsb2Nrcy5jb20vYW0vSURQTW5pU29hcC9tZXRhQWxpYXMvYWxwaGEvaWRwIi8-CiAgICAgICAgPE5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9OYW1lSURGb3JtYXQ-CiAgICAgICAgPE5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDp0cmFuc2llbnQ8L05hbWVJREZvcm1hdD4KICAgICAgICA8TmFtZUlERm9ybWF0PnVybjpvYXNpczpuYW1lczp0YzpTQU1MOjEuMTpuYW1laWQtZm9ybWF0OmVtYWlsQWRkcmVzczwvTmFtZUlERm9ybWF0PgogICAgICAgIDxOYW1lSURGb3JtYXQ-dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6dW5zcGVjaWZpZWQ8L05hbWVJREZvcm1hdD4KICAgICAgICA8TmFtZUlERm9ybWF0PnVybjpvYXNpczpuYW1lczp0YzpTQU1MOjEuMTpuYW1laWQtZm9ybWF0OldpbmRvd3NEb21haW5RdWFsaWZpZWROYW1lPC9OYW1lSURGb3JtYXQ-CiAgICAgICAgPE5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDprZXJiZXJvczwvTmFtZUlERm9ybWF0PgogICAgICAgIDxOYW1lSURGb3JtYXQ-dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6WDUwOVN1YmplY3ROYW1lPC9OYW1lSURGb3JtYXQ-CiAgICAgICAgPFNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUmVkaXJlY3QiIExvY2F0aW9uPSJodHRwczovL29wZW5hbS1mcm9kby1kZXYuZm9yZ2VibG9ja3MuY29tL2FtL1NTT1JlZGlyZWN0L21ldGFBbGlhcy9hbHBoYS9pZHAiLz4KICAgICAgICA8U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1QT1NUIiBMb2NhdGlvbj0iaHR0cHM6Ly9vcGVuYW0tZnJvZG8tZGV2LmZvcmdlYmxvY2tzLmNvbS9hbS9TU09QT1NUL21ldGFBbGlhcy9hbHBoYS9pZHAiLz4KICAgICAgICA8U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6U09BUCIgTG9jYXRpb249Imh0dHBzOi8vb3BlbmFtLWZyb2RvLWRldi5mb3JnZWJsb2Nrcy5jb20vYW0vU1NPU29hcC9tZXRhQWxpYXMvYWxwaGEvaWRwIi8-CiAgICAgICAgPE5hbWVJRE1hcHBpbmdTZXJ2aWNlIEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpTT0FQIiBMb2NhdGlvbj0iaHR0cHM6Ly9vcGVuYW0tZnJvZG8tZGV2LmZvcmdlYmxvY2tzLmNvbS9hbS9OSU1Tb2FwL21ldGFBbGlhcy9hbHBoYS9pZHAiLz4KICAgICAgICA8QXNzZXJ0aW9uSURSZXF1ZXN0U2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6U09BUCIgTG9jYXRpb249Imh0dHBzOi8vb3BlbmFtLWZyb2RvLWRldi5mb3JnZWJsb2Nrcy5jb20vYW0vQUlEUmVxU29hcC9JRFBSb2xlL21ldGFBbGlhcy9hbHBoYS9pZHAiLz4KICAgICAgICA8QXNzZXJ0aW9uSURSZXF1ZXN0U2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6VVJJIiBMb2NhdGlvbj0iaHR0cHM6Ly9vcGVuYW0tZnJvZG8tZGV2LmZvcmdlYmxvY2tzLmNvbS9hbS9BSURSZXFVcmkvSURQUm9sZS9tZXRhQWxpYXMvYWxwaGEvaWRwIi8-CiAgICA8L0lEUFNTT0Rlc2NyaXB0b3I-CiAgICA8U1BTU09EZXNjcmlwdG9yIHByb3RvY29sU3VwcG9ydEVudW1lcmF0aW9uPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6cHJvdG9jb2wiPgogICAgICAgIDxTaW5nbGVMb2dvdXRTZXJ2aWNlIEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpIVFRQLVJlZGlyZWN0IiBMb2NhdGlvbj0iaHR0cHM6Ly9vcGVuYW0tZnJvZG8tZGV2LmZvcmdlYmxvY2tzLmNvbS9hbS9TUFNsb1JlZGlyZWN0L21ldGFBbGlhcy9hbHBoYS9zcCIgUmVzcG9uc2VMb2NhdGlvbj0iaHR0cHM6Ly9vcGVuYW0tZnJvZG8tZGV2LmZvcmdlYmxvY2tzLmNvbS9hbS9TUFNsb1JlZGlyZWN0L21ldGFBbGlhcy9hbHBoYS9zcCIvPgogICAgICAgIDxTaW5nbGVMb2dvdXRTZXJ2aWNlIEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpIVFRQLVBPU1QiIExvY2F0aW9uPSJodHRwczovL29wZW5hbS1mcm9kby1kZXYuZm9yZ2VibG9ja3MuY29tL2FtL1NQU2xvUE9TVC9tZXRhQWxpYXMvYWxwaGEvc3AiIFJlc3BvbnNlTG9jYXRpb249Imh0dHBzOi8vb3BlbmFtLWZyb2RvLWRldi5mb3JnZWJsb2Nrcy5jb20vYW0vU1BTbG9QT1NUL21ldGFBbGlhcy9hbHBoYS9zcCIvPgogICAgICAgIDxTaW5nbGVMb2dvdXRTZXJ2aWNlIEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpTT0FQIiBMb2NhdGlvbj0iaHR0cHM6Ly9vcGVuYW0tZnJvZG8tZGV2LmZvcmdlYmxvY2tzLmNvbS9hbS9TUFNsb1NvYXAvbWV0YUFsaWFzL2FscGhhL3NwIi8-CiAgICAgICAgPE1hbmFnZU5hbWVJRFNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUmVkaXJlY3QiIExvY2F0aW9uPSJodHRwczovL29wZW5hbS1mcm9kby1kZXYuZm9yZ2VibG9ja3MuY29tL2FtL1NQTW5pUmVkaXJlY3QvbWV0YUFsaWFzL2FscGhhL3NwIiBSZXNwb25zZUxvY2F0aW9uPSJodHRwczovL29wZW5hbS1mcm9kby1kZXYuZm9yZ2VibG9ja3MuY29tL2FtL1NQTW5pUmVkaXJlY3QvbWV0YUFsaWFzL2FscGhhL3NwIi8-CiAgICAgICAgPE1hbmFnZU5hbWVJRFNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHBzOi8vb3BlbmFtLWZyb2RvLWRldi5mb3JnZWJsb2Nrcy5jb20vYW0vU1BNbmlQT1NUL21ldGFBbGlhcy9hbHBoYS9zcCIgUmVzcG9uc2VMb2NhdGlvbj0iaHR0cHM6Ly9vcGVuYW0tZnJvZG8tZGV2LmZvcmdlYmxvY2tzLmNvbS9hbS9TUE1uaVBPU1QvbWV0YUFsaWFzL2FscGhhL3NwIi8-CiAgICAgICAgPE1hbmFnZU5hbWVJRFNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOlNPQVAiIExvY2F0aW9uPSJodHRwczovL29wZW5hbS1mcm9kby1kZXYuZm9yZ2VibG9ja3MuY29tL2FtL1NQTW5pU29hcC9tZXRhQWxpYXMvYWxwaGEvc3AiIFJlc3BvbnNlTG9jYXRpb249Imh0dHBzOi8vb3BlbmFtLWZyb2RvLWRldi5mb3JnZWJsb2Nrcy5jb20vYW0vU1BNbmlTb2FwL21ldGFBbGlhcy9hbHBoYS9zcCIvPgogICAgICAgIDxOYW1lSURGb3JtYXQ-dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOm5hbWVpZC1mb3JtYXQ6cGVyc2lzdGVudDwvTmFtZUlERm9ybWF0PgogICAgICAgIDxOYW1lSURGb3JtYXQ-dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOm5hbWVpZC1mb3JtYXQ6dHJhbnNpZW50PC9OYW1lSURGb3JtYXQ-CiAgICAgICAgPE5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoxLjE6bmFtZWlkLWZvcm1hdDplbWFpbEFkZHJlc3M8L05hbWVJREZvcm1hdD4KICAgICAgICA8TmFtZUlERm9ybWF0PnVybjpvYXNpczpuYW1lczp0YzpTQU1MOjEuMTpuYW1laWQtZm9ybWF0OnVuc3BlY2lmaWVkPC9OYW1lSURGb3JtYXQ-CiAgICAgICAgPE5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoxLjE6bmFtZWlkLWZvcm1hdDpXaW5kb3dzRG9tYWluUXVhbGlmaWVkTmFtZTwvTmFtZUlERm9ybWF0PgogICAgICAgIDxOYW1lSURGb3JtYXQ-dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOm5hbWVpZC1mb3JtYXQ6a2VyYmVyb3M8L05hbWVJREZvcm1hdD4KICAgICAgICA8TmFtZUlERm9ybWF0PnVybjpvYXNpczpuYW1lczp0YzpTQU1MOjEuMTpuYW1laWQtZm9ybWF0Olg1MDlTdWJqZWN0TmFtZTwvTmFtZUlERm9ybWF0PgogICAgICAgIDxBc3NlcnRpb25Db25zdW1lclNlcnZpY2UgaW5kZXg9IjAiIGlzRGVmYXVsdD0idHJ1ZSIgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtQXJ0aWZhY3QiIExvY2F0aW9uPSJodHRwczovL29wZW5hbS1mcm9kby1kZXYuZm9yZ2VibG9ja3MuY29tL2FtL0NvbnN1bWVyL21ldGFBbGlhcy9hbHBoYS9zcCIvPgogICAgICAgIDxBc3NlcnRpb25Db25zdW1lclNlcnZpY2UgaW5kZXg9IjEiIGlzRGVmYXVsdD0iZmFsc2UiIEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpIVFRQLVBPU1QiIExvY2F0aW9uPSJodHRwczovL29wZW5hbS1mcm9kby1kZXYuZm9yZ2VibG9ja3MuY29tL2FtL0NvbnN1bWVyL21ldGFBbGlhcy9hbHBoYS9zcCIvPgogICAgICAgIDxBc3NlcnRpb25Db25zdW1lclNlcnZpY2UgaW5kZXg9IjIiIGlzRGVmYXVsdD0iZmFsc2UiIEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpQQU9TIiBMb2NhdGlvbj0iaHR0cHM6Ly9vcGVuYW0tZnJvZG8tZGV2LmZvcmdlYmxvY2tzLmNvbS9hbS9Db25zdW1lci9FQ1AvbWV0YUFsaWFzL2FscGhhL3NwIi8-CiAgICA8L1NQU1NPRGVzY3JpcHRvcj4KPC9FbnRpdHlEZXNjcmlwdG9yPgoK\"}" + }, + "queryString": [ + { + "name": "_action", + "value": "importEntity" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/realm-config/saml2/remote/?_action=importEntity" + }, + "response": { + "bodySize": 96, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 96, + "text": "{\"code\":500,\"reason\":\"Internal Server Error\",\"message\":\"Unable to import SAML2 entity provider\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Wed, 08 Apr 2026 14:40:42 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "96" + }, + { + "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=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": "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": 500, + "statusText": "Internal Server Error" + }, + "startedDateTime": "2026-04-08T14:40:43.019Z", + "time": 9, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 9 + } + }, + { + "_id": "75885c86772b5e29a343ee0083fffd40", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 5679, + "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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "5679" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 604, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"Rm9yZ2VvcHNUZXN0\",\"_rev\":\"-376377749\",\"entityId\":\"ForgeopsTest\",\"identityProvider\":{\"assertionContent\":{\"basicAuthentication\":{},\"clientAuthentication\":{},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"secrets\":{},\"signingAndEncryption\":{\"encryption\":{},\"requestResponseSigning\":{},\"secretIdAndAlgorithms\":{}}},\"services\":{\"nameIdMapping\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/NIMSoap/metaAlias/alpha/idp\"}],\"serviceAttributes\":{\"artifactResolutionService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/ArtifactResolver/metaAlias/alpha/idp\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPMniRedirect/metaAlias/alpha/idp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPMniRedirect/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/idp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPMniSoap/metaAlias/alpha/idp\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPSloRedirect/metaAlias/alpha/idp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPSloRedirect/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/idp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPSloSoap/metaAlias/alpha/idp\"}],\"singleSignOnService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SSORedirect/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SSOPOST/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SSOSoap/metaAlias/alpha/idp\"}]}}},\"serviceProvider\":{\"advanced\":{\"idpProxy\":{},\"saeConfiguration\":{},\"treeConfiguration\":{}},\"assertionContent\":{\"basicAuthentication\":{},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"secrets\":{},\"signingAndEncryption\":{\"encryption\":{},\"requestResponseSigning\":{},\"secretIdAndAlgorithms\":{}}},\"assertionProcessing\":{\"accountMapper\":{},\"attributeMapper\":{},\"responseArtifactMessageEncoding\":{}},\"services\":{\"serviceAttributes\":{\"assertionConsumerService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"index\":0,\"isDefault\":true,\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/Consumer/metaAlias/alpha/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"index\":1,\"isDefault\":false,\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/Consumer/metaAlias/alpha/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"index\":2,\"isDefault\":false,\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/Consumer/ECP/metaAlias/alpha/sp\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniRedirect/metaAlias/alpha/sp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniRedirect/metaAlias/alpha/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniPOST/metaAlias/alpha/sp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniPOST/metaAlias/alpha/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniSoap/metaAlias/alpha/sp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniSoap/metaAlias/alpha/sp\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPSloRedirect/metaAlias/alpha/sp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/SPSloRedirect/metaAlias/alpha/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPSloPOST/metaAlias/alpha/sp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/SPSloPOST/metaAlias/alpha/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPSloSoap/metaAlias/alpha/sp\"}]}}}}" + }, + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/realm-config/saml2/remote/Rm9yZ2VvcHNUZXN0" + }, + "response": { + "bodySize": 5679, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 5679, + "text": "{\"_id\":\"Rm9yZ2VvcHNUZXN0\",\"_rev\":\"-376377749\",\"entityId\":\"ForgeopsTest\",\"identityProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"secrets\":{},\"basicAuthentication\":{},\"clientAuthentication\":{}},\"services\":{\"serviceAttributes\":{\"artifactResolutionService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/ArtifactResolver/metaAlias/alpha/idp\"}],\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPSloRedirect/metaAlias/alpha/idp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPSloRedirect/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/idp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPSloSoap/metaAlias/alpha/idp\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPMniRedirect/metaAlias/alpha/idp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPMniRedirect/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/idp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/IDPMniSoap/metaAlias/alpha/idp\"}],\"singleSignOnService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SSORedirect/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SSOPOST/metaAlias/alpha/idp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SSOSoap/metaAlias/alpha/idp\"}]},\"nameIdMapping\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/NIMSoap/metaAlias/alpha/idp\"}]}},\"serviceProvider\":{\"assertionContent\":{\"signingAndEncryption\":{\"requestResponseSigning\":{},\"encryption\":{},\"secretIdAndAlgorithms\":{}},\"nameIdFormat\":{\"nameIdFormatList\":[\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName\",\"urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos\",\"urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName\"]},\"secrets\":{},\"basicAuthentication\":{}},\"assertionProcessing\":{\"attributeMapper\":{},\"accountMapper\":{},\"responseArtifactMessageEncoding\":{}},\"services\":{\"serviceAttributes\":{\"singleLogoutService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPSloRedirect/metaAlias/alpha/sp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/SPSloRedirect/metaAlias/alpha/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPSloPOST/metaAlias/alpha/sp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/SPSloPOST/metaAlias/alpha/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPSloSoap/metaAlias/alpha/sp\"}],\"nameIdService\":[{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniRedirect/metaAlias/alpha/sp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniRedirect/metaAlias/alpha/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniPOST/metaAlias/alpha/sp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniPOST/metaAlias/alpha/sp\"},{\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniSoap/metaAlias/alpha/sp\",\"responseLocation\":\"https://openam-frodo-dev.forgeblocks.com/am/SPMniSoap/metaAlias/alpha/sp\"}],\"assertionConsumerService\":[{\"isDefault\":true,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/Consumer/metaAlias/alpha/sp\",\"index\":0},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/Consumer/metaAlias/alpha/sp\",\"index\":1},{\"isDefault\":false,\"binding\":\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\",\"location\":\"https://openam-frodo-dev.forgeblocks.com/am/Consumer/ECP/metaAlias/alpha/sp\",\"index\":2}]}},\"advanced\":{\"saeConfiguration\":{},\"idpProxy\":{},\"treeConfiguration\":{}}}}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Wed, 08 Apr 2026 14:40:42 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "5679" + }, + { + "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=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": "\"-376377749\"" + }, + { + "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-08T14:40:43.038Z", + "time": 29, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 29 + } + }, + { + "_id": "eb07c39a2f03451c75c1549e43dd0b24", + "_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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 576, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 410, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 410, + "text": "{\"result\":[{\"_id\":\"Rm9yZ2VvcHNUZXN0\",\"_rev\":\"-1740333408\",\"entityId\":\"ForgeopsTest\",\"location\":\"remote\",\"roles\":[\"identityProvider\",\"serviceProvider\"]},{\"_id\":\"dGVzdC1JRFA\",\"_rev\":\"-1662497649\",\"entityId\":\"test-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\",\"serviceProvider\"]}],\"resultCount\":2,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":2,\"remainingPagedResults\":-1}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Wed, 08 Apr 2026 14:40:42 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "410" + }, + { + "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": "protocol=2.1,resource=1.0, 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": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 637, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-08T14:40:43.079Z", + "time": 7, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 7 + } + }, + { + "_id": "4caab86aeb9f48d1c67ec886d1cbe9c9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 196, + "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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "content-length", + "value": "196" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 616, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"FR_COT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"description\":\"testCircle\",\"status\":\"active\",\"trustedProviders\":[\"ForgeopsTest|saml2\",\"test-IDP|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 90, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 90, + "text": "{\"code\":409,\"reason\":\"Conflict\",\"message\":\"Unable to save config: Service already exists\"}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Wed, 08 Apr 2026 14:40:42 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "90" + }, + { + "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=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": "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-08T14:40:43.094Z", + "time": 10, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 10 + } + }, + { + "_id": "02baf2afd0ab10c1b7b4d25811f102c6", + "_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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 585, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT" + }, + "response": { + "bodySize": 215, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 215, + "text": "{\"_id\":\"FR_COT\",\"_rev\":\"641713822\",\"trustedProviders\":[\"ForgeopsTest|saml2\",\"test-IDP|saml2\"],\"description\":\"testCircle\",\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Wed, 08 Apr 2026 14:40:42 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "215" + }, + { + "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=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": "\"641713822\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "headersSize": 628, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-08T14:40:43.109Z", + "time": 7, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 7 + } + }, + { + "_id": "38c469464bdb5600f5a32eab5a4dfe19", + "_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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "cookie", + "value": "iPlanetDirectoryPro=" + }, + { + "name": "accept-encoding", + "value": "gzip, compress, deflate, br" + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 576, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://platform.dev.trivir.com/am/json/realms/root/realms/bravo/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 138, + "text": "{\"result\":[],\"resultCount\":0,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":0,\"remainingPagedResults\":-1}" + }, + "cookies": [ + { + "httpOnly": true, + "name": "route", + "path": "/am", + "secure": true, + "value": "" + } + ], + "headers": [ + { + "name": "date", + "value": "Wed, 08 Apr 2026 14:40:42 GMT" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "138" + }, + { + "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=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": "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-08T14:40:43.121Z", + "time": 12, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 12 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/config-manager_4167095917/push_2272264157/saml_3289136144/0_D_m_314327836/oauth2_393036114/recording.har b/test/e2e/mocks/config-manager_4167095917/push_2272264157/saml_3289136144/0_D_m_314327836/oauth2_393036114/recording.har new file mode 100644 index 000000000..a2ad5fea2 --- /dev/null +++ b/test/e2e/mocks/config-manager_4167095917/push_2272264157/saml_3289136144/0_D_m_314327836/oauth2_393036114/recording.har @@ -0,0 +1,289 @@ +{ + "log": { + "_recordingName": "config-manager/push/saml/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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "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=ULGBEKhAS-UC2czbqDiDNFvoU1U.*AAJTSQACMDIAAlNLABxodTVqU1ROZis3T3huSWQ3VG15NHRIMkdpZmM9AAR0eXBlAANDVFMAAlMxAAIwMQ..*&decision=allow&code_challenge=yWb_3pQr4bQhKtDUEueBO4NurRp_xcanhy5tf2FSIxk&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": "Wed, 08 Apr 2026 14:40:42 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=UYgoRjiRBfmnutNOhS_Tekw45Cc&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=UYgoRjiRBfmnutNOhS_Tekw45Cc&iss=https%3A%2F%2Fplatform.dev.trivir.com%2Fam%2Foauth2&client_id=idm-admin-ui", + "status": 302, + "statusText": "Found" + }, + "startedDateTime": "2026-04-08T14:40:42.859Z", + "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-c2f0858c-bed7-45e7-ad87-7ac70705acc9" + }, + { + "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=UYgoRjiRBfmnutNOhS_Tekw45Cc&code_verifier=oEL3MAiVuWu9WiWPCVp5G9HV9Q740SIFcJA5Aa2d6ZE" + }, + "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": "Wed, 08 Apr 2026 14:40:42 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": 404, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-04-08T14:40:42.878Z", + "time": 31, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 31 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/e2e/mocks/github_584874290/recording.har b/test/e2e/mocks/github_584874290/recording.har index 8ae803013..1052bf035 100644 --- a/test/e2e/mocks/github_584874290/recording.har +++ b/test/e2e/mocks/github_584874290/recording.har @@ -179,4 +179,4 @@ "pages": [], "version": "1.2" } -} +} \ No newline at end of file diff --git a/test/e2e/mocks/npmjs_1455397529/recording.har b/test/e2e/mocks/npmjs_1455397529/recording.har index 9fb7d6b38..62f3f6363 100644 --- a/test/e2e/mocks/npmjs_1455397529/recording.har +++ b/test/e2e/mocks/npmjs_1455397529/recording.har @@ -142,4 +142,4 @@ "pages": [], "version": "1.2" } -} +} \ No newline at end of file