diff --git a/src/ops/CirclesOfTrustOps.test.ts b/src/ops/CirclesOfTrustOps.test.ts new file mode 100644 index 000000000..59666adbe --- /dev/null +++ b/src/ops/CirclesOfTrustOps.test.ts @@ -0,0 +1,587 @@ +/** + * To record and update snapshots, you must perform 3 steps in order: + * + * 1. Record API responses + * + * This step breaks down into multiple phases to allow the staging of test + * data for each phase. + * + * To record API responses, you must call the test:record script and + * override all the connection state variables required to connect to the + * env to record from and also indicate the phase: + * + * FRODO_DEBUG=1 FRODO_RECORD_PHASE=1 FRODO_HOST=frodo-dev npm run test:record CirclesOfTrustOps + * FRODO_DEBUG=1 FRODO_RECORD_PHASE=2 FRODO_HOST=frodo-dev npm run test:record CirclesOfTrustOps + * FRODO_DEBUG=1 FRODO_RECORD_PHASE=3 FRODO_HOST=frodo-dev npm run test:record CirclesOfTrustOps + * FRODO_DEBUG=1 FRODO_RECORD_PHASE=4 FRODO_HOST=frodo-dev npm run test:record CirclesOfTrustOps + * FRODO_DEBUG=1 FRODO_RECORD_PHASE=5 FRODO_HOST=frodo-dev npm run test:record CirclesOfTrustOps + * FRODO_DEBUG=1 FRODO_RECORD_PHASE=6 FRODO_HOST=frodo-dev npm run test:record CirclesOfTrustOps + * FRODO_DEBUG=1 FRODO_RECORD_PHASE=7 FRODO_HOST=frodo-dev npm run test:record CirclesOfTrustOps + * FRODO_DEBUG=1 FRODO_RECORD_PHASE=8 FRODO_HOST=frodo-dev npm run test:record CirclesOfTrustOps + * FRODO_DEBUG=1 FRODO_RECORD_PHASE=9 FRODO_HOST=frodo-dev npm run test:record CirclesOfTrustOps + * FRODO_DEBUG=1 FRODO_RECORD_PHASE=10 FRODO_HOST=frodo-dev npm run test:record CirclesOfTrustOps + * FRODO_DEBUG=1 FRODO_RECORD_PHASE=11 FRODO_HOST=frodo-dev npm run test:record CirclesOfTrustOps + * + * The above command assumes that you have a connection profile for + * 'frodo-dev' on your development machine. + * + * 2. Update snapshots + * + * After recording API responses, you must manually update/create snapshots + * by running: + * + * npm run test:update CirclesOfTrustOps + * + * 3. Test your changes + * + * If 1 and 2 didn't produce any errors, you are ready to run the tests in + * replay mode and make sure they all succeed as well: + * + * npm run test:only CirclesOfTrustOps + * + * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output + * in case things don't function as expected + */ +import { state } from '../index'; +import * as CirclesOfTrustOps from './CirclesOfTrustOps'; +import * as Saml2Ops from './Saml2Ops'; +import Constants from '../shared/Constants'; +import { Saml2ProiderLocation } from '../api/Saml2Api'; +import { + getCircleOfTrustRawData, + getCirclesOfTrustImportData, + getSaml2ProviderImportData, + getSaml2ProvidersImportData, +} from '../test/mocks/ForgeRockApiMockEngine'; +import { encodeBase64Url } from '../utils/Base64Utils'; +import { autoSetupPolly, filterRecording } from '../utils/AutoSetupPolly'; +import { CircleOfTrustSkeleton } from '../api/CirclesOfTrustApi'; +import { getCircleOfTrustImportData } from '../test/mocks/ForgeRockApiMockEngine'; + +const ctx = autoSetupPolly(); + +state.setDeploymentType(Constants.CLOUD_DEPLOYMENT_TYPE_KEY); + +async function stageProviders(create = true) { + // delete if exists, then create + try { + await Saml2Ops.deleteSaml2Providers({ state }); + } catch (error) { + if (error.isAxiosError) { + console.log(`Error deleting providers: ${error.message}`); + console.dir(error.response?.data); + } + } finally { + if (create) { + try { + await Saml2Ops.importSaml2Providers({ + importData: getSaml2ProvidersImportData('cotTestProviders.saml.json'), + state, + }); + } catch (error) { + console.log(`Error importing providers: ${error.message}`); + console.dir(error.response?.data); + } + } + } +} + +async function stageCircleOfTrust(cotId, create = true) { + // delete if exists, then create + try { + await CirclesOfTrustOps.readCircleOfTrust({ cotId, state }); + await CirclesOfTrustOps.deleteCircleOfTrust({ cotId, state }); + } catch (error) { + if (error.isAxiosError) { + console.log( + `Error deleting circle of trust '${cotId}': ${error.message}` + ); + console.dir(error.response?.data); + } + } finally { + if (create) { + try { + await CirclesOfTrustOps.importCircleOfTrust({ + cotId, + importData: getCircleOfTrustImportData(cotId), + state, + }); + } catch (error) { + console.log( + `Error importing circle of trust '${cotId}': ${error.message}` + ); + console.dir(error.response?.data); + } + } + } +} + +describe('CirclesOfTrustOps', () => { + const cot1 = 'AzureCOT'; + const cot2 = 'FR_COT'; + const cot3 = '2f04818d-561e-4f8a-82e8-af2426112138'; + // in recording mode, setup test data before recording + beforeAll(async () => { + if ( + process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '1' + ) { + await stageProviders(true); + await stageCircleOfTrust(cot1, false); + await stageCircleOfTrust(cot2, true); + await stageCircleOfTrust(cot3, true); + } else if ( + process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '2' + ) { + await stageProviders(true); + await stageCircleOfTrust(cot1, false); + await stageCircleOfTrust(cot2, true); + await stageCircleOfTrust(cot3, false); + } + // Phase 3 - deleteCirclesOfTrust all + else if ( + process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '3' + ) { + await stageProviders(true); + await stageCircleOfTrust(cot1, true); + await stageCircleOfTrust(cot2, true); + await stageCircleOfTrust(cot3, true); + } + // Phase 4 - deleteCirclesOfTrust all filtered + else if ( + process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '4' + ) { + await stageProviders(true); + await stageCircleOfTrust(cot1, true); + await stageCircleOfTrust(cot2, true); + await stageCircleOfTrust(cot3, true); + } + // Phase 5 - importCirclesOfTrust all new + else if ( + process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '5' + ) { + await stageProviders(true); + await stageCircleOfTrust(cot1, false); + await stageCircleOfTrust(cot2, false); + await stageCircleOfTrust(cot3, false); + } + // Phase 6 - importCirclesOfTrust all new filtered + else if ( + process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '6' + ) { + await stageProviders(true); + await stageCircleOfTrust(cot1, false); + await stageCircleOfTrust(cot2, false); + await stageCircleOfTrust(cot3, false); + } + // Phase 7 - importCirclesOfTrust existing and new filtered + else if ( + process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '7' + ) { + await stageProviders(true); + await stageCircleOfTrust(cot1, true); + await stageCircleOfTrust(cot2, true); + await stageCircleOfTrust(cot3, false); + } + // Phase 8 - importCircleOfTrust new + else if ( + process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '8' + ) { + await stageProviders(true); + await stageCircleOfTrust(cot1, false); + await stageCircleOfTrust(cot2, false); + await stageCircleOfTrust(cot3, false); + } + // Phase 9 - importCircleOfTrust existing + else if ( + process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '9' + ) { + await stageProviders(true); + await stageCircleOfTrust(cot1, false); + await stageCircleOfTrust(cot2, true); + await stageCircleOfTrust(cot3, false); + } + // Phase 10 - importFirstCircleOfTrust new + else if ( + process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '10' + ) { + await stageProviders(true); + await stageCircleOfTrust(cot1, false); + await stageCircleOfTrust(cot2, false); + await stageCircleOfTrust(cot3, false); + } + // Phase 11 - importFirstCircleOfTrust existing + else if ( + process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '11' + ) { + await stageProviders(true); + await stageCircleOfTrust(cot1, false); + await stageCircleOfTrust(cot2, false); + await stageCircleOfTrust(cot3, true); + } + }); + // in recording mode, remove test data after recording + afterAll(async () => { + if (process.env.FRODO_POLLY_MODE === 'record') { + // leave behind the providers such as to not have an empty frodo-dev + await stageProviders(true); + await stageCircleOfTrust(cot1, true); + await stageCircleOfTrust(cot2, true); + await stageCircleOfTrust(cot3, true); + } + }); + beforeEach(async () => { + if (process.env.FRODO_POLLY_MODE === 'record') { + ctx.polly.server.any().on('beforePersist', (_req, recording) => { + filterRecording(recording); + }); + } + }); + + // Phase 1 + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '1') + ) { + describe('createCirclesOfTrustExportTemplate()', () => { + test('0: Method is implemented', () => { + expect( + CirclesOfTrustOps.createCirclesOfTrustExportTemplate + ).toBeDefined(); + }); + + test('1: Create circles of trust export template', () => { + const response = CirclesOfTrustOps.createCirclesOfTrustExportTemplate({ + state, + }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); + }); + + describe('createCircleOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.createCircleOfTrust).toBeDefined(); + }); + + test(`1: Create circle of trust '${cot1}'`, async () => { + const response = await CirclesOfTrustOps.createCircleOfTrust({ + cotId: cot1, + cotData: getCircleOfTrustRawData(cot1), + state, + }); + expect(response).toMatchSnapshot(); + }); + }); + + describe('readCirclesOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.readCirclesOfTrust).toBeDefined(); + }); + + test('1: Read all circles of trust', async () => { + const response = await CirclesOfTrustOps.readCirclesOfTrust({ state }); + expect(response).toMatchSnapshot(); + expect(response.length).toBe(3); + }); + + test('2: Read circles of trust (filtered by entity providers)', async () => { + const response = await CirclesOfTrustOps.readCirclesOfTrust({ + entityProviders: ['urn:federation:MicrosoftOnline'], + state, + }); + expect(response).toMatchSnapshot(); + expect(response.length).toBe(1); + }); + }); + + describe('readCircleOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.readCircleOfTrust).toBeDefined(); + }); + + test(`1: Read circle of trust '${cot2}'`, async () => { + const response = await CirclesOfTrustOps.readCircleOfTrust({ + cotId: cot2, + state, + }); + expect(response).toMatchSnapshot(); + }); + }); + + describe('updateCircleOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.updateCircleOfTrust).toBeDefined(); + }); + + test(`1: Update circle of trust '${cot3}'`, async () => { + const response = await CirclesOfTrustOps.updateCircleOfTrust({ + cotId: cot3, + cotData: getCircleOfTrustRawData(cot3), + state, + }); + expect(response).toMatchSnapshot(); + }); + }); + + describe('exportCirclesOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.exportCirclesOfTrust).toBeDefined(); + }); + + test('1: Export all circles of trust', async () => { + const response = await CirclesOfTrustOps.exportCirclesOfTrust({ + state, + }); + expect(Object.keys(response.saml.cot).length).toBe(3); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); + + test('2: Export circles of trust (filtered by entity providers)', async () => { + const response = await CirclesOfTrustOps.exportCirclesOfTrust({ + entityProviders: ['urn:federation:MicrosoftOnline'], + state, + }); + expect(Object.keys(response.saml.cot).length).toBe(1); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); + }); + + describe('exportCircleOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.exportCircleOfTrust).toBeDefined(); + }); + + test(`1: Export circle of trust '${cot2}'`, async () => { + const response = await CirclesOfTrustOps.exportCircleOfTrust({ + cotId: cot2, + state, + }); + expect(response).toMatchSnapshot({ + meta: expect.any(Object), + }); + }); + }); + } + + // Phase 2 + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '2') + ) { + describe('importCircleOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.importCircleOfTrust).toBeDefined(); + }); + + test(`1: Import circle of trust '${cot1}'`, async () => { + const response = await CirclesOfTrustOps.importCircleOfTrust({ + cotId: cot1, + importData: getCircleOfTrustImportData(cot1), + state, + }); + expect(response).toMatchSnapshot(); + }); + }); + + describe('deleteCircleOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.deleteCircleOfTrust).toBeDefined(); + }); + + test(`1: Delete circle of trust '${cot2}'`, async () => { + const response = await CirclesOfTrustOps.deleteCircleOfTrust({ + cotId: cot2, + state, + }); + expect(response).toMatchSnapshot(); + }); + }); + } + + describe('deleteCirclesOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.deleteCirclesOfTrust).toBeDefined(); + }); + + // Phase 3 - deleteCirclesOfTrust all + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '3') + ) { + test(`1: Delete all circles of trust`, async () => { + const response = await CirclesOfTrustOps.deleteCirclesOfTrust({ + state, + }); + expect(response.length).toBe(3); + expect(response).toMatchSnapshot(); + }); + } + + // Phase 4 - deleteCirclesOfTrust all filtered + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '4') + ) { + test(`2: Delete circles of trust (filtered by entity providers)`, async () => { + const response = await CirclesOfTrustOps.deleteCirclesOfTrust({ + entityProviders: ['urn:federation:MicrosoftOnline'], + state, + }); + expect(response).toMatchSnapshot(); + expect(response.length).toBe(1); + }); + } + }); + + describe('importCirclesOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.importCirclesOfTrust).toBeDefined(); + }); + + // Phase 5 - importCirclesOfTrust all new + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '5') + ) { + test('1: Import all new circles of trust', async () => { + const response = await CirclesOfTrustOps.importCirclesOfTrust({ + importData: getCirclesOfTrustImportData(), + state, + }); + expect(response).toMatchSnapshot(); + expect(response.length).toBe(3); + }); + } + + // Phase 6 - all new filtered + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '6') + ) { + test('2: Import all new circles of trust (filtered by entity providers)', async () => { + const response = await CirclesOfTrustOps.importCirclesOfTrust({ + entityProviders: ['urn:federation:MicrosoftOnline'], + importData: getCirclesOfTrustImportData(), + state, + }); + expect(response).toMatchSnapshot(); + expect(response.length).toBe(1); + }); + } + + // Phase 7 - existing and new filtered + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '7') + ) { + test('3: Import existing and new circles of trust (filtered by entity providers)', async () => { + const response = await CirclesOfTrustOps.importCirclesOfTrust({ + entityProviders: ['urn:federation:MicrosoftOnline'], + importData: getCirclesOfTrustImportData(), + state, + }); + expect(response).toMatchSnapshot(); + expect(response.length).toBe(0); + }); + } + }); + + describe('importCircleOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.importCircleOfTrust).toBeDefined(); + }); + + // Phase 8 - importCircleOfTrust new + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '8') + ) { + test('1: Import new circle of trust', async () => { + const response = await CirclesOfTrustOps.importCircleOfTrust({ + cotId: cot2, + importData: getCirclesOfTrustImportData(), + state, + }); + expect(response).toMatchSnapshot(); + }); + } + + // Phase 9 - importCircleOfTrust existing + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '9') + ) { + test('2: Import existing circle of trust', async () => { + const response = await CirclesOfTrustOps.importCircleOfTrust({ + cotId: cot2, + importData: getCirclesOfTrustImportData(), + state, + }); + expect(response).toMatchSnapshot(); + expect(response).toBeFalsy(); + }); + } + }); + + describe('importFirstCircleOfTrust()', () => { + test('0: Method is implemented', async () => { + expect(CirclesOfTrustOps.importFirstCircleOfTrust).toBeDefined(); + }); + + // Phase 10 - importFirstCircleOfTrust new + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '10') + ) { + test('1: Import new circle of trust', async () => { + const response = await CirclesOfTrustOps.importFirstCircleOfTrust({ + importData: getCirclesOfTrustImportData(), + state, + }); + expect(response).toMatchSnapshot(); + }); + } + + // Phase 11 - importFirstCircleOfTrust existing + if ( + !process.env.FRODO_POLLY_MODE || + (process.env.FRODO_POLLY_MODE === 'record' && + process.env.FRODO_RECORD_PHASE === '11') + ) { + test('2: Import existing circle of trust', async () => { + const response = await CirclesOfTrustOps.importFirstCircleOfTrust({ + importData: getCirclesOfTrustImportData(), + state, + }); + expect(response).toMatchSnapshot(); + expect(response).toBeFalsy(); + }); + } + }); +}); diff --git a/src/ops/CirclesOfTrustOps.ts b/src/ops/CirclesOfTrustOps.ts index 475febd79..86f85fada 100644 --- a/src/ops/CirclesOfTrustOps.ts +++ b/src/ops/CirclesOfTrustOps.ts @@ -12,6 +12,7 @@ import { State } from '../shared/State'; import { debugMessage } from '../utils/Console'; import { getMetadata } from '../utils/ExportImportUtils'; import { type ExportMetaData } from './OpsTypes'; +import { readSaml2EntityIds } from './Saml2Ops'; export type CirclesOfTrust = { /** @@ -21,8 +22,11 @@ export type CirclesOfTrust = { createCirclesOfTrustExportTemplate(): CirclesOfTrustExportInterface; /** * Read all circles of trust + * @param {string[]} entityProviders filter by entity providers */ - readCirclesOfTrust(): Promise; + readCirclesOfTrust( + entityProviders?: string[] + ): Promise; /** * Read circle of trust * @param {string} cotId circle of trust id/name @@ -51,6 +55,13 @@ export type CirclesOfTrust = { * @param {string} cotId circle of trust id/name */ deleteCircleOfTrust(cotId: string): Promise; + /** + * Delete circles of trust + * @param {string[]} entityProviders filter by entity providers + */ + deleteCirclesOfTrust( + entityProviders?: string[] + ): Promise; /** * Export circle of trust * @param {string} cotId circle of trust id/name @@ -58,12 +69,16 @@ export type CirclesOfTrust = { exportCircleOfTrust(cotId: string): Promise; /** * Export all circles of trust + * @param {string[]} entityProviders filter by entity providers */ - exportCirclesOfTrust(): Promise; + exportCirclesOfTrust( + entityProviders?: string[] + ): Promise; /** * Import a circle of trust by id/name from file * @param {string} cotId Circle of trust id/name * @param {CirclesOfTrustExportInterface} importData Import data + * @returns {Promise} a promise resolving to the circle of trust object that was created or updated. Note: If the circle of trust already exists and does not need updating, null is returned. */ importCircleOfTrust( cotId: string, @@ -72,16 +87,20 @@ export type CirclesOfTrust = { /** * Import first circle of trust * @param {CirclesOfTrustExportInterface} importData Import data + * @returns {Promise} a promise resolving to the circle of trust object that was created or updated. Note: If the circle of trust already exists and does not need updating, null is returned. */ importFirstCircleOfTrust( importData: CirclesOfTrustExportInterface ): Promise; /** * Import all circles of trust - * @param {CirclesOfTrustExportInterface} importData Import file name + * @param {string[]} entityProviders filter by entity providers + * @param {CirclesOfTrustExportInterface} importData Import data + * @returns {Promise} a promise resolving to an array of circle of trust objects that were created or updated. Note: If a circle of trust already exists and does not need updating, it is omitted from the response array. */ importCirclesOfTrust( - importData: CirclesOfTrustExportInterface + importData: CirclesOfTrustExportInterface, + entityProviders?: string[] ): Promise; // Deprecated @@ -114,8 +133,8 @@ export default (state: State): CirclesOfTrust => { createCirclesOfTrustExportTemplate() { return createCirclesOfTrustExportTemplate({ state }); }, - async readCirclesOfTrust() { - return readCirclesOfTrust({ state }); + async readCirclesOfTrust(entityProviders: string[] = []) { + return readCirclesOfTrust({ entityProviders, state }); }, async readCircleOfTrust(cotId: string) { return readCircleOfTrust({ cotId, state }); @@ -129,11 +148,16 @@ export default (state: State): CirclesOfTrust => { async deleteCircleOfTrust(cotId: string) { return deleteCircleOfTrust({ cotId, state }); }, + async deleteCirclesOfTrust( + entityProviders: string[] = [] + ): Promise { + return deleteCirclesOfTrust({ entityProviders, state }); + }, async exportCircleOfTrust(cotId: string) { return exportCircleOfTrust({ cotId, state }); }, - async exportCirclesOfTrust() { - return exportCirclesOfTrust({ state }); + async exportCirclesOfTrust(entityProviders: string[] = []) { + return exportCirclesOfTrust({ entityProviders, state }); }, async importCircleOfTrust( cotId: string, @@ -144,8 +168,11 @@ export default (state: State): CirclesOfTrust => { async importFirstCircleOfTrust(importData: CirclesOfTrustExportInterface) { return importFirstCircleOfTrust({ importData, state }); }, - async importCirclesOfTrust(importData: CirclesOfTrustExportInterface) { - return importCirclesOfTrust({ importData, state }); + async importCirclesOfTrust( + importData: CirclesOfTrustExportInterface, + entityProviders: string[] = [] + ) { + return importCirclesOfTrust({ importData, entityProviders, state }); }, // Deprecated @@ -206,7 +233,7 @@ export async function readCirclesOfTrust({ state, }); let { result } = await _getCirclesOfTrust({ state }); - if (entityProviders.length > 0) { + if (entityProviders.length) { debugMessage({ message: `CirclesOfTrustOps.getCirclesOfTrust: filtering results to entity providers: ${entityProviders}`, state, @@ -260,7 +287,21 @@ export async function createCircleOfTrust({ state: State; }): Promise { if (cotId) cotData._id = cotId; - return _createCircleOfTrust({ cotData, state }); + try { + const response = await _createCircleOfTrust({ cotData, state }); + return response; + } catch (error) { + if ( + error.response?.data?.code === 500 && + error.response?.data?.message === + "Unable to update entity provider's circle of trust" + ) { + const response = await _updateCircleOfTrust({ cotId, cotData, state }); + return response; + } else { + throw error; + } + } } /** @@ -278,7 +319,23 @@ export async function updateCircleOfTrust({ cotData: CircleOfTrustSkeleton; state: State; }): Promise { - return _updateCircleOfTrust({ cotId, cotData, state }); + try { + const response = await _updateCircleOfTrust({ cotId, cotData, state }); + return response; + } catch (error) { + if ( + error.response?.data?.code === 500 && + (error.response?.data?.message === + "Unable to update entity provider's circle of trust" || + error.response?.data?.message === + 'An error occurred while updating the COT memberships') + ) { + const response = await _updateCircleOfTrust({ cotId, cotData, state }); + return response; + } else { + throw error; + } + } } /** @@ -314,16 +371,13 @@ export async function deleteCirclesOfTrust({ const deleted: CircleOfTrustSkeleton[] = []; const errors = []; try { - let cots = await readCirclesOfTrust({ entityProviders, state }); - cots = cots.filter((cot) => { - for (const trustedProvider of cot.trustedProviders) { - const entityId = trustedProvider.split('|')[0]; - if (!entityProviders.includes(entityId)) return false; - } - return true; - }); + const cots = await readCirclesOfTrust({ entityProviders, state }); for (const cot of cots) { - deleted.push(await deleteCircleOfTrust({ cotId: cot._id, state })); + try { + deleted.push(await deleteCircleOfTrust({ cotId: cot._id, state })); + } catch (error) { + errors.push(error); + } } } catch (error) { errors.push(error); @@ -441,18 +495,57 @@ export async function importCircleOfTrust({ for (const id of Object.keys(importData.saml.cot)) { if (id === cotId) { try { + const validEntityIds = await readSaml2EntityIds({ state }); + const validProviders = validEntityIds.map((id) => `${id}|saml2`); const cotData = importData.saml.cot[id]; delete cotData._rev; + // only allow adding valid providers + cotData.trustedProviders = validProviders.filter((value) => + cotData.trustedProviders.includes(value) + ); try { - response = await createCircleOfTrust({ cotId: id, cotData, state }); + response = await createCircleOfTrust({ cotId, cotData, state }); } catch (createError) { - if (createError.response?.status === 409) - response = await updateCircleOfTrust({ - cotId: id, - cotData, + if (createError.response?.status === 409) { + debugMessage({ + message: `Circle of trust: ${cotId} already exists, updating...`, + state, + }); + const existingCot = await readCircleOfTrust({ cotId, state }); + debugMessage({ + message: `CirclesOfTrustOps.importCirclesOfTrust: Existing trusted providers for ${cotId}:\n${existingCot.trustedProviders + .map((it) => it.split('|')[0]) + .join('\n')}.`, state, }); - else throw createError; + const providers = [ + ...new Set([ + ...existingCot.trustedProviders, + ...cotData.trustedProviders, + ]), + ]; + debugMessage({ + message: `CirclesOfTrustOps.importCirclesOfTrust: Merged trusted providers for ${cotId}:\n${providers + .map((it) => it.split('|')[0]) + .join('\n')}.`, + state, + }); + if (providers.length > existingCot.trustedProviders.length) { + existingCot.trustedProviders = providers; + response = await updateCircleOfTrust({ + cotId, + cotData: existingCot, + state, + }); + } else { + debugMessage({ + message: `CirclesOfTrustOps.importCirclesOfTrust: No new trusted providers for ${cotId}.`, + state, + }); + } + } else { + throw createError; + } } imported.push(id); } catch (error) { @@ -462,7 +555,7 @@ export async function importCircleOfTrust({ } if (errors.length) { const errorMessages = errors - .map((error) => error.response?.data?.message || error.message) + .map((error) => JSON.stringify(error.response?.data) || error.message) .join('\n'); throw new Error(`Import error:\n${errorMessages}`); } @@ -486,22 +579,61 @@ export async function importFirstCircleOfTrust({ let response = null; const errors = []; const imported = []; - for (const id of Object.keys(importData.saml.cot)) { + for (const cotId of Object.keys(importData.saml.cot)) { try { - const cotData = importData.saml.cot[id]; + const validEntityIds = await readSaml2EntityIds({ state }); + const validProviders = validEntityIds.map((id) => `${id}|saml2`); + const cotData = importData.saml.cot[cotId]; delete cotData._rev; + // only allow adding valid providers + cotData.trustedProviders = validProviders.filter((value) => + cotData.trustedProviders.includes(value) + ); try { - response = await createCircleOfTrust({ cotData, state }); + response = await createCircleOfTrust({ cotId, cotData, state }); } catch (createError) { - if (createError.response?.status === 409) - response = await updateCircleOfTrust({ - cotId: id, - cotData, + if (createError.response?.status === 409) { + debugMessage({ + message: `Circle of trust: ${cotId} already exists, updating...`, + state, + }); + const existingCot = await readCircleOfTrust({ cotId, state }); + debugMessage({ + message: `CirclesOfTrustOps.importCirclesOfTrust: Existing trusted providers for ${cotId}:\n${existingCot.trustedProviders + .map((it) => it.split('|')[0]) + .join('\n')}.`, + state, + }); + const providers = [ + ...new Set([ + ...existingCot.trustedProviders, + ...cotData.trustedProviders, + ]), + ]; + debugMessage({ + message: `CirclesOfTrustOps.importCirclesOfTrust: Merged trusted providers for ${cotId}:\n${providers + .map((it) => it.split('|')[0]) + .join('\n')}.`, state, }); - else throw createError; + if (providers.length > existingCot.trustedProviders.length) { + existingCot.trustedProviders = providers; + response = await updateCircleOfTrust({ + cotId, + cotData: existingCot, + state, + }); + } else { + debugMessage({ + message: `CirclesOfTrustOps.importCirclesOfTrust: No new trusted providers for ${cotId}.`, + state, + }); + } + } else { + throw createError; + } } - imported.push(id); + imported.push(cotId); } catch (error) { errors.push(error); } @@ -531,24 +663,94 @@ export async function importCirclesOfTrust({ entityProviders?: string[]; importData: CirclesOfTrustExportInterface; state: State; -}) { - const response = []; +}): Promise { + const responses = []; const errors = []; const imported = []; entityProviders = entityProviders.map((id) => `${id}|saml2`); + const validEntityIds = await readSaml2EntityIds({ state }); + const validProviders = validEntityIds.map((id) => `${id}|saml2`); for (const cotId of Object.keys(importData.saml.cot)) { try { const cotData: CircleOfTrustSkeleton = importData.saml.cot[cotId]; delete cotData._rev; - let hasEntityId = false; - for (const trustedProvider of cotData.trustedProviders) { - if (!hasEntityId && entityProviders.includes(trustedProvider)) { - hasEntityId = true; + // apply filter and merge logic + if (entityProviders.length) { + // only allow filtering for valid providers + entityProviders = validProviders.filter((value) => + entityProviders.includes(value) + ); + // determine if cot import candidate matches entity providers filter + let hasEntityId = false; + for (const trustedProvider of cotData.trustedProviders) { + if (!hasEntityId && entityProviders.includes(trustedProvider)) { + hasEntityId = true; + } + } + if (hasEntityId) { + try { + const response = await createCircleOfTrust({ + cotId, + cotData, + state, + }); + imported.push(cotId); + responses.push(response); + } catch (createError) { + if (createError.response?.status === 409) { + debugMessage({ + message: `Circle of trust: ${cotId} already exists, updating...`, + state, + }); + const existingCot = await readCircleOfTrust({ cotId, state }); + debugMessage({ + message: `CirclesOfTrustOps.importCirclesOfTrust: Existing trusted providers for ${cotId}:\n${existingCot.trustedProviders + .map((it) => it.split('|')[0]) + .join('\n')}.`, + state, + }); + const providers = [ + ...new Set([ + ...existingCot.trustedProviders, + ...entityProviders, + ]), + ]; + debugMessage({ + message: `CirclesOfTrustOps.importCirclesOfTrust: Updated trusted providers for ${cotId}:\n${providers + .map((it) => it.split('|')[0]) + .join('\n')}.`, + state, + }); + if (providers.length > existingCot.trustedProviders.length) { + existingCot.trustedProviders = providers; + const response = await updateCircleOfTrust({ + cotId, + cotData: existingCot, + state, + }); + imported.push(cotId); + responses.push(response); + } else { + debugMessage({ + message: `CirclesOfTrustOps.importCirclesOfTrust: No new trusted providers for ${cotId}.`, + state, + }); + } + } else { + throw createError; + } + } } } - if (entityProviders.length === 0 || hasEntityId) { + // import unfiltered but merge if existing cot + else { + // only allow adding valid providers + cotData.trustedProviders = validProviders.filter((value) => + cotData.trustedProviders.includes(value) + ); try { - response.push(await createCircleOfTrust({ cotId, cotData, state })); + const response = await createCircleOfTrust({ cotId, cotData, state }); + responses.push(response); } catch (createError) { if (createError.response?.status === 409) { debugMessage({ @@ -563,23 +765,25 @@ export async function importCirclesOfTrust({ state, }); const providers = [ - ...new Set([...existingCot.trustedProviders, ...entityProviders]), + ...new Set([ + ...existingCot.trustedProviders, + ...cotData.trustedProviders, + ]), ]; debugMessage({ - message: `CirclesOfTrustOps.importCirclesOfTrust: Updated trusted providers for ${cotId}:\n${providers + message: `CirclesOfTrustOps.importCirclesOfTrust: Merged trusted providers for ${cotId}:\n${providers .map((it) => it.split('|')[0]) .join('\n')}.`, state, }); if (providers.length > existingCot.trustedProviders.length) { existingCot.trustedProviders = providers; - response.push( - await updateCircleOfTrust({ - cotId, - cotData: existingCot, - state, - }) - ); + const response = await updateCircleOfTrust({ + cotId, + cotData: existingCot, + state, + }); + responses.push(response); } else { debugMessage({ message: `CirclesOfTrustOps.importCirclesOfTrust: No new trusted providers for ${cotId}.`, @@ -591,7 +795,6 @@ export async function importCirclesOfTrust({ } } } - imported.push(cotId); } catch (error) { debugMessage({ message: `Error ${error.response?.status} creating/updating circle of trust: ${error.response?.data?.message}`, @@ -599,6 +802,7 @@ export async function importCirclesOfTrust({ }); errors.push(error); } + imported.push(cotId); } if (errors.length) { const errorMessages = errors @@ -609,5 +813,5 @@ export async function importCirclesOfTrust({ if (0 === imported.length) { throw new Error(`Import error:\nNo circles of trust found in import data!`); } - return response; + return responses; } diff --git a/src/ops/Saml2Ops.ts b/src/ops/Saml2Ops.ts index e9db2039c..b3d7f2dbb 100644 --- a/src/ops/Saml2Ops.ts +++ b/src/ops/Saml2Ops.ts @@ -299,6 +299,20 @@ export async function readSaml2ProviderStubs({ return result; } +/** + * Get all SAML2 entity ids + * @returns {Promise} a promise that resolves to an array of saml2 entity ids + */ +export async function readSaml2EntityIds({ + state, +}: { + state: State; +}): Promise { + const { result } = await _getProviderStubs({ state }); + const entityIds = result.map((stub) => stub.entityId); + return entityIds; +} + /** * Get a SAML2 entity provider's metadata URL by entity id * @param {string} entityId SAML2 entity id diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/createCircleOfTrust_360386657/1-Create-circle-of-trust-AzureCOT_2000485052/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/createCircleOfTrust_360386657/1-Create-circle-of-trust-AzureCOT_2000485052/recording.har new file mode 100644 index 000000000..8d8505d33 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/createCircleOfTrust_360386657/1-Create-circle-of-trust-AzureCOT_2000485052/recording.har @@ -0,0 +1,319 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/createCircleOfTrust()/1: Create circle of trust 'AzureCOT'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "b99c0b053badc3bee559d76455d722b9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 325, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 325 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 108, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 108, + "text": "{\"code\":500,\"reason\":\"Internal Server Error\",\"message\":\"Unable to update entity provider's circle of trust\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "108" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:27 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 746, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 500, + "statusText": "Internal Server Error" + }, + "startedDateTime": "2023-10-21T20:02:28.044Z", + "time": 182, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 182 + } + }, + { + "_id": "29dcbb0bbcfb291f6bfae08d5712cf33", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 325, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 325 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1638, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"]}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT" + }, + "response": { + "bodySize": 345, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 345, + "text": "{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-954827061\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "345" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:27 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:28.233Z", + "time": 84, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 84 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/deleteCircleOfTrust_3855826796/1-Delete-circle-of-trust-FR_COT_3349342083/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/deleteCircleOfTrust_3855826796/1-Delete-circle-of-trust-FR_COT_3349342083/recording.har new file mode 100644 index 000000000..36853c6a1 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/deleteCircleOfTrust_3855826796/1-Delete-circle-of-trust-FR_COT_3349342083/recording.har @@ -0,0 +1,157 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/deleteCircleOfTrust()/1: Delete circle of trust 'FR_COT'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "f775b0962256ae23849f266150a838a2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-bb9ef4e2-aa91-4c06-b219-fa8d4f2e0015" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1618, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT" + }, + "response": { + "bodySize": 234, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 234, + "text": "{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"1191818231\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "234" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:39 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-bb9ef4e2-aa91-4c06-b219-fa8d4f2e0015" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:39.773Z", + "time": 229, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 229 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/deleteCirclesOfTrust_1916062743/1-Delete-all-circles-of-trust_2931977334/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/deleteCirclesOfTrust_1916062743/1-Delete-all-circles-of-trust_2931977334/recording.har new file mode 100644 index 000000000..af6f75454 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/deleteCirclesOfTrust_1916062743/1-Delete-all-circles-of-trust_2931977334/recording.har @@ -0,0 +1,587 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/deleteCirclesOfTrust()/1: Delete all circles of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8b9883d8-6175-417d-ba77-6094f65b0d57" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1626, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 870, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 870, + "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"36617749\",\"trustedProviders\":[\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "870" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8b9883d8-6175-417d-ba77-6094f65b0d57" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:50.109Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + }, + { + "_id": "71d64a1cd4326a2515b208852322129a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8b9883d8-6175-417d-ba77-6094f65b0d57" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1648, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/2f04818d-561e-4f8a-82e8-af2426112138" + }, + "response": { + "bodySize": 219, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 219, + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-222749816\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "219" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8b9883d8-6175-417d-ba77-6094f65b0d57" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:50.179Z", + "time": 201, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 201 + } + }, + { + "_id": "bc6c915e36339043d016c8ca02e5d353", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8b9883d8-6175-417d-ba77-6094f65b0d57" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1620, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT" + }, + "response": { + "bodySize": 277, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 277, + "text": "{\"_id\":\"AzureCOT\",\"_rev\":\"36617749\",\"trustedProviders\":[\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"36617749\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "277" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8b9883d8-6175-417d-ba77-6094f65b0d57" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 764, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:50.386Z", + "time": 203, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 203 + } + }, + { + "_id": "f775b0962256ae23849f266150a838a2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8b9883d8-6175-417d-ba77-6094f65b0d57" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1618, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT" + }, + "response": { + "bodySize": 234, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 234, + "text": "{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"1191818231\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "234" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-8b9883d8-6175-417d-ba77-6094f65b0d57" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:50.594Z", + "time": 216, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 216 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/deleteCirclesOfTrust_1916062743/2-Delete-circles-of-trust-filtered-by-entity-providers_1252580944/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/deleteCirclesOfTrust_1916062743/2-Delete-circles-of-trust-filtered-by-entity-providers_1252580944/recording.har new file mode 100644 index 000000000..75f392096 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/deleteCirclesOfTrust_1916062743/2-Delete-circles-of-trust-filtered-by-entity-providers_1252580944/recording.har @@ -0,0 +1,301 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/deleteCirclesOfTrust()/2: Delete circles of trust (filtered by entity providers)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-3b432c19-6946-4cd9-a2b2-4f8e314f188c" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1626, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 870, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 870, + "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"36617749\",\"trustedProviders\":[\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "870" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:59 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-3b432c19-6946-4cd9-a2b2-4f8e314f188c" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:03:00.452Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "bc6c915e36339043d016c8ca02e5d353", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-3b432c19-6946-4cd9-a2b2-4f8e314f188c" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1620, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT" + }, + "response": { + "bodySize": 277, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 277, + "text": "{\"_id\":\"AzureCOT\",\"_rev\":\"36617749\",\"trustedProviders\":[\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"36617749\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "277" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:59 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-3b432c19-6946-4cd9-a2b2-4f8e314f188c" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 764, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:03:00.526Z", + "time": 218, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 218 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCircleOfTrust_2568021999/1-Export-circle-of-trust-FR_COT_2081524020/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCircleOfTrust_2568021999/1-Export-circle-of-trust-FR_COT_2081524020/recording.har new file mode 100644 index 000000000..faf002893 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCircleOfTrust_2568021999/1-Export-circle-of-trust-FR_COT_2081524020/recording.har @@ -0,0 +1,157 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/exportCircleOfTrust()/1: Export circle of trust 'FR_COT'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "01d359a4cc3bb24796703c3e0a149a42", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1615, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT" + }, + "response": { + "bodySize": 234, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 234, + "text": "{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"1191818231\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "234" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:28 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:28.772Z", + "time": 50, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 50 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCirclesOfTrust_2264112398/1-Export-all-circles-of-trust_4010089273/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCirclesOfTrust_2264112398/1-Export-all-circles-of-trust_4010089273/recording.har new file mode 100644 index 000000000..8a0c89f77 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCirclesOfTrust_2264112398/1-Export-all-circles-of-trust_4010089273/recording.har @@ -0,0 +1,158 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/exportCirclesOfTrust()/1: Export all circles of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1626, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 938, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 938, + "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "938" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:27 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:28.623Z", + "time": 64, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 64 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCirclesOfTrust_2264112398/1-Export-circles-of-trust_926744720/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCirclesOfTrust_2264112398/1-Export-circles-of-trust_926744720/recording.har new file mode 100644 index 000000000..50f347fcf --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCirclesOfTrust_2264112398/1-Export-circles-of-trust_926744720/recording.har @@ -0,0 +1,158 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/exportCirclesOfTrust()/1: Export circles of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ce1b5c1f-13b7-411c-a806-d596ecdda54a" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1626, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 1236, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1236, + "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"FR_COT\",\"_rev\":\"-1494750593\",\"trustedProviders\":[\"engineering-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/company/saml|saml2\",\"company-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/roles/saml|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/sales/saml|saml2\",\"sales-IDP|saml2\",\"benefits-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/benefits/saml|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1236" + }, + { + "name": "date", + "value": "Fri, 20 Oct 2023 22:49:37 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ce1b5c1f-13b7-411c-a806-d596ecdda54a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 774, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-20T22:49:38.462Z", + "time": 53, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 53 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCirclesOfTrust_2264112398/2-Export-circles-of-trust-filtered-by-entity-providers_4180161653/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCirclesOfTrust_2264112398/2-Export-circles-of-trust-filtered-by-entity-providers_4180161653/recording.har new file mode 100644 index 000000000..7fcb25840 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/exportCirclesOfTrust_2264112398/2-Export-circles-of-trust-filtered-by-entity-providers_4180161653/recording.har @@ -0,0 +1,158 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/exportCirclesOfTrust()/2: Export circles of trust (filtered by entity providers)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1626, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 938, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 938, + "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "938" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:28 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:28.698Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCircleOfTrust_3537515998/1-Import-circle-of-trust-AzureCOT_3242322251/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCircleOfTrust_3537515998/1-Import-circle-of-trust-AzureCOT_3242322251/recording.har new file mode 100644 index 000000000..8c7da00f0 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCircleOfTrust_3537515998/1-Import-circle-of-trust-AzureCOT_3242322251/recording.har @@ -0,0 +1,319 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/importCircleOfTrust()/1: Import circle of trust 'AzureCOT'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "54c5959fa697111ab81bada4a7f8294e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-bb9ef4e2-aa91-4c06-b219-fa8d4f2e0015" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1606, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 1133, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1133, + "text": "{\"result\":[{\"_id\":\"c2FsZXMtSURQ\",\"_rev\":\"1148132743\",\"entityId\":\"sales-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"ZW5naW5lZXJpbmctSURQ\",\"_rev\":\"824626824\",\"entityId\":\"engineering-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw\",\"_rev\":\"761336767\",\"entityId\":\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/\",\"location\":\"remote\",\"roles\":[\"identityProvider\"]},{\"_id\":\"Y29tcGFueS1JRFA\",\"_rev\":\"920033637\",\"entityId\":\"company-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"YmVuZWZpdHMtSURQ\",\"_rev\":\"1104456615\",\"entityId\":\"benefits-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1133" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:38 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-bb9ef4e2-aa91-4c06-b219-fa8d4f2e0015" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 774, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:39.476Z", + "time": 68, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 68 + } + }, + { + "_id": "a8721ec12fdc9ac7bc3dee2ed2d000de", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 259, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-bb9ef4e2-aa91-4c06-b219-fa8d4f2e0015" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 259 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 277, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 277, + "text": "{\"_id\":\"AzureCOT\",\"_rev\":\"36617749\",\"trustedProviders\":[\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"36617749\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "277" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:39 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-bb9ef4e2-aa91-4c06-b219-fa8d4f2e0015" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 897, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2023-10-21T20:02:39.553Z", + "time": 204, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 204 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCircleOfTrust_3537515998/1-Import-new-circle-of-trust_3046184106/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCircleOfTrust_3537515998/1-Import-new-circle-of-trust_3046184106/recording.har new file mode 100644 index 000000000..20ca1d2c6 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCircleOfTrust_3537515998/1-Import-new-circle-of-trust_3046184106/recording.har @@ -0,0 +1,319 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/importCircleOfTrust()/1: Import new circle of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "54c5959fa697111ab81bada4a7f8294e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4340bac9-2cd5-4356-824d-3d48e38ae8b5" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1606, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 1133, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1133, + "text": "{\"result\":[{\"_id\":\"c2FsZXMtSURQ\",\"_rev\":\"1148132743\",\"entityId\":\"sales-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"ZW5naW5lZXJpbmctSURQ\",\"_rev\":\"824626824\",\"entityId\":\"engineering-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw\",\"_rev\":\"761336767\",\"entityId\":\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/\",\"location\":\"remote\",\"roles\":[\"identityProvider\"]},{\"_id\":\"Y29tcGFueS1JRFA\",\"_rev\":\"920033637\",\"entityId\":\"company-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"YmVuZWZpdHMtSURQ\",\"_rev\":\"1104456615\",\"entityId\":\"benefits-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1133" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:40 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4340bac9-2cd5-4356-824d-3d48e38ae8b5" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 774, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:03:41.026Z", + "time": 78, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 78 + } + }, + { + "_id": "464a93340d17d7917c378586247f2a8d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 214, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4340bac9-2cd5-4356-824d-3d48e38ae8b5" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 214 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"FR_COT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 234, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 234, + "text": "{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"1191818231\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "234" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:40 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-4340bac9-2cd5-4356-824d-3d48e38ae8b5" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 897, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2023-10-21T20:03:41.113Z", + "time": 228, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 228 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCircleOfTrust_3537515998/2-Import-existing-circle-of-trust_2735975244/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCircleOfTrust_3537515998/2-Import-existing-circle-of-trust_2735975244/recording.har new file mode 100644 index 000000000..bb08bf60c --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCircleOfTrust_3537515998/2-Import-existing-circle-of-trust_2735975244/recording.har @@ -0,0 +1,454 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/importCircleOfTrust()/2: Import existing circle of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "54c5959fa697111ab81bada4a7f8294e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab0fd844-c231-44ad-a3f1-575a87988ef8" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1606, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 1133, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1133, + "text": "{\"result\":[{\"_id\":\"c2FsZXMtSURQ\",\"_rev\":\"1148132743\",\"entityId\":\"sales-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"ZW5naW5lZXJpbmctSURQ\",\"_rev\":\"824626824\",\"entityId\":\"engineering-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw\",\"_rev\":\"761336767\",\"entityId\":\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/\",\"location\":\"remote\",\"roles\":[\"identityProvider\"]},{\"_id\":\"Y29tcGFueS1JRFA\",\"_rev\":\"920033637\",\"entityId\":\"company-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"YmVuZWZpdHMtSURQ\",\"_rev\":\"1104456615\",\"entityId\":\"benefits-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1133" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab0fd844-c231-44ad-a3f1-575a87988ef8" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 774, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:03:50.408Z", + "time": 63, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 63 + } + }, + { + "_id": "464a93340d17d7917c378586247f2a8d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 214, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab0fd844-c231-44ad-a3f1-575a87988ef8" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 214 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"FR_COT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.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": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "90" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab0fd844-c231-44ad-a3f1-575a87988ef8" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 745, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2023-10-21T20:03:50.479Z", + "time": 60, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 60 + } + }, + { + "_id": "01d359a4cc3bb24796703c3e0a149a42", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab0fd844-c231-44ad-a3f1-575a87988ef8" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1615, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT" + }, + "response": { + "bodySize": 234, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 234, + "text": "{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"1191818231\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "234" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:49 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab0fd844-c231-44ad-a3f1-575a87988ef8" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:03:50.551Z", + "time": 54, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 54 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/1-Import-all-circles-of-trust_3246675468/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/1-Import-all-circles-of-trust_3246675468/recording.har new file mode 100644 index 000000000..be9e0bbc2 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/1-Import-all-circles-of-trust_3246675468/recording.har @@ -0,0 +1,785 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/importCirclesOfTrust()/1: Import all circles of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "10400d1997b31087d725e9cf65ab5dd8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 162, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 162 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 183, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 183, + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-1164170555\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-1164170555\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/2f04818d-561e-4f8a-82e8-af2426112138" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "183" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 03:18:24 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 928, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/2f04818d-561e-4f8a-82e8-af2426112138", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2023-10-21T03:18:24.877Z", + "time": 169, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 169 + } + }, + { + "_id": "b99c0b053badc3bee559d76455d722b9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 325, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 325 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 108, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 108, + "text": "{\"code\":500,\"reason\":\"Internal Server Error\",\"message\":\"Unable to update entity provider's circle of trust\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "108" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 03:18:24 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 746, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 500, + "statusText": "Internal Server Error" + }, + "startedDateTime": "2023-10-21T03:18:25.056Z", + "time": 178, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 178 + } + }, + { + "_id": "29dcbb0bbcfb291f6bfae08d5712cf33", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 325, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 325 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1638, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"]}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT" + }, + "response": { + "bodySize": 345, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 345, + "text": "{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-954827061\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "345" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 03:18:24 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T03:18:25.240Z", + "time": 70, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 70 + } + }, + { + "_id": "acf510dc601e0408661416efaae9452d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 511, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 511 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"FR_COT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"engineering-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/company/saml|saml2\",\"company-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/roles/saml|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/sales/saml|saml2\",\"sales-IDP|saml2\",\"benefits-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/benefits/saml|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 108, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 108, + "text": "{\"code\":500,\"reason\":\"Internal Server Error\",\"message\":\"Unable to update entity provider's circle of trust\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "108" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 03:18:25 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 746, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 500, + "statusText": "Internal Server Error" + }, + "startedDateTime": "2023-10-21T03:18:25.316Z", + "time": 170, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 170 + } + }, + { + "_id": "da41501bef39953130b58837f46f9924", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 511, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 511 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1636, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"FR_COT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"engineering-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/company/saml|saml2\",\"company-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/roles/saml|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/sales/saml|saml2\",\"sales-IDP|saml2\",\"benefits-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/benefits/saml|saml2\"]}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT" + }, + "response": { + "bodySize": 532, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 532, + "text": "{\"_id\":\"FR_COT\",\"_rev\":\"-1494750593\",\"trustedProviders\":[\"engineering-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/company/saml|saml2\",\"company-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/roles/saml|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/sales/saml|saml2\",\"sales-IDP|saml2\",\"benefits-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/benefits/saml|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-1494750593\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "532" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 03:18:25 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T03:18:25.492Z", + "time": 64, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 64 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/1-Import-all-new-circles-of-trust_2229250790/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/1-Import-all-new-circles-of-trust_2229250790/recording.har new file mode 100644 index 000000000..c1a844c44 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/1-Import-all-new-circles-of-trust_2229250790/recording.har @@ -0,0 +1,641 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/importCirclesOfTrust()/1: Import all new circles of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "54c5959fa697111ab81bada4a7f8294e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35a0e1b4-2015-4142-8ce1-83b3af69bfee" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1606, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 1133, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1133, + "text": "{\"result\":[{\"_id\":\"c2FsZXMtSURQ\",\"_rev\":\"1148132743\",\"entityId\":\"sales-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"ZW5naW5lZXJpbmctSURQ\",\"_rev\":\"824626824\",\"entityId\":\"engineering-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw\",\"_rev\":\"761336767\",\"entityId\":\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/\",\"location\":\"remote\",\"roles\":[\"identityProvider\"]},{\"_id\":\"Y29tcGFueS1JRFA\",\"_rev\":\"920033637\",\"entityId\":\"company-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"YmVuZWZpdHMtSURQ\",\"_rev\":\"1104456615\",\"entityId\":\"benefits-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1133" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35a0e1b4-2015-4142-8ce1-83b3af69bfee" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 774, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:03:10.168Z", + "time": 72, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 72 + } + }, + { + "_id": "10400d1997b31087d725e9cf65ab5dd8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 162, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35a0e1b4-2015-4142-8ce1-83b3af69bfee" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 162 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 183, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 183, + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-1164170555\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-1164170555\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/2f04818d-561e-4f8a-82e8-af2426112138" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "183" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35a0e1b4-2015-4142-8ce1-83b3af69bfee" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 928, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/2f04818d-561e-4f8a-82e8-af2426112138", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2023-10-21T20:03:10.249Z", + "time": 168, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 168 + } + }, + { + "_id": "a8721ec12fdc9ac7bc3dee2ed2d000de", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 259, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35a0e1b4-2015-4142-8ce1-83b3af69bfee" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 259 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 277, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 277, + "text": "{\"_id\":\"AzureCOT\",\"_rev\":\"36617749\",\"trustedProviders\":[\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"36617749\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "277" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35a0e1b4-2015-4142-8ce1-83b3af69bfee" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 897, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2023-10-21T20:03:10.423Z", + "time": 241, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 241 + } + }, + { + "_id": "464a93340d17d7917c378586247f2a8d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 214, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35a0e1b4-2015-4142-8ce1-83b3af69bfee" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 214 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"FR_COT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 234, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 234, + "text": "{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"1191818231\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "234" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:09 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-35a0e1b4-2015-4142-8ce1-83b3af69bfee" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 897, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2023-10-21T20:03:10.671Z", + "time": 243, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 243 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/1-Import-circles-of-trust_1390064677/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/1-Import-circles-of-trust_1390064677/recording.har new file mode 100644 index 000000000..4cefbeabd --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/1-Import-circles-of-trust_1390064677/recording.har @@ -0,0 +1,785 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/importCirclesOfTrust()/1: Import circles of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "10400d1997b31087d725e9cf65ab5dd8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 162, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d729de9d-ae51-4036-bcf5-024ae96f16f5" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 162 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 183, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 183, + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-1164170555\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-1164170555\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/2f04818d-561e-4f8a-82e8-af2426112138" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "183" + }, + { + "name": "date", + "value": "Fri, 20 Oct 2023 22:52:14 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d729de9d-ae51-4036-bcf5-024ae96f16f5" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 928, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/2f04818d-561e-4f8a-82e8-af2426112138", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2023-10-20T22:52:14.637Z", + "time": 167, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 167 + } + }, + { + "_id": "b99c0b053badc3bee559d76455d722b9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 325, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d729de9d-ae51-4036-bcf5-024ae96f16f5" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 325 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 108, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 108, + "text": "{\"code\":500,\"reason\":\"Internal Server Error\",\"message\":\"Unable to update entity provider's circle of trust\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "108" + }, + { + "name": "date", + "value": "Fri, 20 Oct 2023 22:52:14 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d729de9d-ae51-4036-bcf5-024ae96f16f5" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 746, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 500, + "statusText": "Internal Server Error" + }, + "startedDateTime": "2023-10-20T22:52:14.811Z", + "time": 164, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 164 + } + }, + { + "_id": "29dcbb0bbcfb291f6bfae08d5712cf33", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 325, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d729de9d-ae51-4036-bcf5-024ae96f16f5" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 325 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1638, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"]}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT" + }, + "response": { + "bodySize": 345, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 345, + "text": "{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-954827061\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "345" + }, + { + "name": "date", + "value": "Fri, 20 Oct 2023 22:52:14 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d729de9d-ae51-4036-bcf5-024ae96f16f5" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-20T22:52:14.983Z", + "time": 83, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 83 + } + }, + { + "_id": "acf510dc601e0408661416efaae9452d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 511, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d729de9d-ae51-4036-bcf5-024ae96f16f5" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 511 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"FR_COT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"engineering-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/company/saml|saml2\",\"company-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/roles/saml|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/sales/saml|saml2\",\"sales-IDP|saml2\",\"benefits-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/benefits/saml|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 108, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 108, + "text": "{\"code\":500,\"reason\":\"Internal Server Error\",\"message\":\"Unable to update entity provider's circle of trust\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "108" + }, + { + "name": "date", + "value": "Fri, 20 Oct 2023 22:52:15 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d729de9d-ae51-4036-bcf5-024ae96f16f5" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 746, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 500, + "statusText": "Internal Server Error" + }, + "startedDateTime": "2023-10-20T22:52:15.074Z", + "time": 170, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 170 + } + }, + { + "_id": "da41501bef39953130b58837f46f9924", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 511, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d729de9d-ae51-4036-bcf5-024ae96f16f5" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 511 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1636, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"FR_COT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"engineering-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/company/saml|saml2\",\"company-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/roles/saml|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/sales/saml|saml2\",\"sales-IDP|saml2\",\"benefits-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/benefits/saml|saml2\"]}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT" + }, + "response": { + "bodySize": 532, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 532, + "text": "{\"_id\":\"FR_COT\",\"_rev\":\"-1494750593\",\"trustedProviders\":[\"engineering-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/company/saml|saml2\",\"company-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/roles/saml|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/sales/saml|saml2\",\"sales-IDP|saml2\",\"benefits-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/benefits/saml|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-1494750593\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "532" + }, + { + "name": "date", + "value": "Fri, 20 Oct 2023 22:52:15 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d729de9d-ae51-4036-bcf5-024ae96f16f5" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 767, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-20T22:52:15.250Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/2-Import-all-new-circles-of-trust-filtered-by-entity-providers_3348966359/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/2-Import-all-new-circles-of-trust-filtered-by-entity-providers_3348966359/recording.har new file mode 100644 index 000000000..5e42f2b91 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/2-Import-all-new-circles-of-trust-filtered-by-entity-providers_3348966359/recording.har @@ -0,0 +1,463 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/importCirclesOfTrust()/2: Import all new circles of trust (filtered by entity providers)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "54c5959fa697111ab81bada4a7f8294e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-a68a4397-6b86-43c4-bbae-d4784290a9c4" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1606, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 1133, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1133, + "text": "{\"result\":[{\"_id\":\"c2FsZXMtSURQ\",\"_rev\":\"1148132743\",\"entityId\":\"sales-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"ZW5naW5lZXJpbmctSURQ\",\"_rev\":\"824626824\",\"entityId\":\"engineering-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw\",\"_rev\":\"761336767\",\"entityId\":\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/\",\"location\":\"remote\",\"roles\":[\"identityProvider\"]},{\"_id\":\"Y29tcGFueS1JRFA\",\"_rev\":\"920033637\",\"entityId\":\"company-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"YmVuZWZpdHMtSURQ\",\"_rev\":\"1104456615\",\"entityId\":\"benefits-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1133" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:20 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-a68a4397-6b86-43c4-bbae-d4784290a9c4" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 774, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:03:21.019Z", + "time": 78, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 78 + } + }, + { + "_id": "b99c0b053badc3bee559d76455d722b9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 325, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-a68a4397-6b86-43c4-bbae-d4784290a9c4" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 325 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 108, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 108, + "text": "{\"code\":500,\"reason\":\"Internal Server Error\",\"message\":\"Unable to update entity provider's circle of trust\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "108" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:20 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-a68a4397-6b86-43c4-bbae-d4784290a9c4" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 746, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 500, + "statusText": "Internal Server Error" + }, + "startedDateTime": "2023-10-21T20:03:21.108Z", + "time": 184, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 184 + } + }, + { + "_id": "29dcbb0bbcfb291f6bfae08d5712cf33", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 325, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-a68a4397-6b86-43c4-bbae-d4784290a9c4" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 325 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1638, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"]}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT" + }, + "response": { + "bodySize": 345, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 345, + "text": "{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-954827061\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "345" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:20 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-a68a4397-6b86-43c4-bbae-d4784290a9c4" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:03:21.300Z", + "time": 71, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 71 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/2-Import-circles-of-trust-filtered-by-entity-providers_3318516638/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/2-Import-circles-of-trust-filtered-by-entity-providers_3318516638/recording.har new file mode 100644 index 000000000..6b757e6a6 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/2-Import-circles-of-trust-filtered-by-entity-providers_3318516638/recording.har @@ -0,0 +1,310 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/importCirclesOfTrust()/2: Import circles of trust (filtered by entity providers)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "b99c0b053badc3bee559d76455d722b9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 325, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 325 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.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": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "90" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 03:18:25 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 745, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2023-10-21T03:18:25.573Z", + "time": 55, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 55 + } + }, + { + "_id": "3829f53aac2cdb1f33fa8e7c75105ac6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1617, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT" + }, + "response": { + "bodySize": 345, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 345, + "text": "{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-954827061\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "345" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 03:18:25 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-f3ba360b-a4bf-42f4-8de1-3aafec5f16e6" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T03:18:25.638Z", + "time": 52, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 52 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/3-Import-existing-and-new-circles-of-trust-filtered-by-entity-providers_3649331961/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/3-Import-existing-and-new-circles-of-trust-filtered-by-entity-providers_3649331961/recording.har new file mode 100644 index 000000000..3015e0f70 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importCirclesOfTrust_744678081/3-Import-existing-and-new-circles-of-trust-filtered-by-entity-providers_3649331961/recording.har @@ -0,0 +1,454 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/importCirclesOfTrust()/3: Import existing and new circles of trust (filtered by entity providers)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "54c5959fa697111ab81bada4a7f8294e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab81237f-9cb3-47ad-9284-f3cbd01b9764" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1606, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 1133, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1133, + "text": "{\"result\":[{\"_id\":\"c2FsZXMtSURQ\",\"_rev\":\"1148132743\",\"entityId\":\"sales-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"ZW5naW5lZXJpbmctSURQ\",\"_rev\":\"824626824\",\"entityId\":\"engineering-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw\",\"_rev\":\"761336767\",\"entityId\":\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/\",\"location\":\"remote\",\"roles\":[\"identityProvider\"]},{\"_id\":\"Y29tcGFueS1JRFA\",\"_rev\":\"920033637\",\"entityId\":\"company-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"YmVuZWZpdHMtSURQ\",\"_rev\":\"1104456615\",\"entityId\":\"benefits-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1133" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:31 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab81237f-9cb3-47ad-9284-f3cbd01b9764" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 774, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:03:31.386Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + }, + { + "_id": "b99c0b053badc3bee559d76455d722b9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 325, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab81237f-9cb3-47ad-9284-f3cbd01b9764" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 325 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"AzureCOT\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.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": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "90" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:31 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab81237f-9cb3-47ad-9284-f3cbd01b9764" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 745, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2023-10-21T20:03:31.461Z", + "time": 75, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 75 + } + }, + { + "_id": "3829f53aac2cdb1f33fa8e7c75105ac6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab81237f-9cb3-47ad-9284-f3cbd01b9764" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1617, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/AzureCOT" + }, + "response": { + "bodySize": 277, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 277, + "text": "{\"_id\":\"AzureCOT\",\"_rev\":\"36617749\",\"trustedProviders\":[\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"36617749\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "277" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:31 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ab81237f-9cb3-47ad-9284-f3cbd01b9764" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 764, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:03:31.546Z", + "time": 56, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 56 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importFirstCircleOfTrust_3206986956/1-Import-new-circle-of-trust_3046184106/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importFirstCircleOfTrust_3206986956/1-Import-new-circle-of-trust_3046184106/recording.har new file mode 100644 index 000000000..b64d420dc --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importFirstCircleOfTrust_3206986956/1-Import-new-circle-of-trust_3046184106/recording.har @@ -0,0 +1,319 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/importFirstCircleOfTrust()/1: Import new circle of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "54c5959fa697111ab81bada4a7f8294e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-a3d62eed-28cc-4bac-9dc6-b1e1e486196e" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1606, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 1133, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1133, + "text": "{\"result\":[{\"_id\":\"c2FsZXMtSURQ\",\"_rev\":\"1148132743\",\"entityId\":\"sales-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"ZW5naW5lZXJpbmctSURQ\",\"_rev\":\"824626824\",\"entityId\":\"engineering-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw\",\"_rev\":\"761336767\",\"entityId\":\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/\",\"location\":\"remote\",\"roles\":[\"identityProvider\"]},{\"_id\":\"Y29tcGFueS1JRFA\",\"_rev\":\"920033637\",\"entityId\":\"company-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"YmVuZWZpdHMtSURQ\",\"_rev\":\"1104456615\",\"entityId\":\"benefits-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1133" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:58 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-a3d62eed-28cc-4bac-9dc6-b1e1e486196e" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 774, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:03:59.225Z", + "time": 79, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 79 + } + }, + { + "_id": "10400d1997b31087d725e9cf65ab5dd8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 162, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-a3d62eed-28cc-4bac-9dc6-b1e1e486196e" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 162 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/?_action=create" + }, + "response": { + "bodySize": 183, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 183, + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-1164170555\",\"trustedProviders\":[],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-1164170555\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/2f04818d-561e-4f8a-82e8-af2426112138" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "183" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:03:58 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-a3d62eed-28cc-4bac-9dc6-b1e1e486196e" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 928, + "httpVersion": "HTTP/1.1", + "redirectURL": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/2f04818d-561e-4f8a-82e8-af2426112138", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2023-10-21T20:03:59.313Z", + "time": 171, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 171 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importFirstCircleOfTrust_3206986956/2-Import-existing-circle-of-trust_2735975244/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importFirstCircleOfTrust_3206986956/2-Import-existing-circle-of-trust_2735975244/recording.har new file mode 100644 index 000000000..eb8acbca5 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/importFirstCircleOfTrust_3206986956/2-Import-existing-circle-of-trust_2735975244/recording.har @@ -0,0 +1,454 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/importFirstCircleOfTrust()/2: Import existing circle of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "54c5959fa697111ab81bada4a7f8294e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d7967970-90a8-4f6c-8187-ea5e3a80703b" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1606, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/saml2?_queryFilter=true" + }, + "response": { + "bodySize": 1133, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1133, + "text": "{\"result\":[{\"_id\":\"c2FsZXMtSURQ\",\"_rev\":\"1148132743\",\"entityId\":\"sales-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"ZW5naW5lZXJpbmctSURQ\",\"_rev\":\"824626824\",\"entityId\":\"engineering-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw\",\"_rev\":\"761336767\",\"entityId\":\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/\",\"location\":\"remote\",\"roles\":[\"identityProvider\"]},{\"_id\":\"Y29tcGFueS1JRFA\",\"_rev\":\"920033637\",\"entityId\":\"company-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"YmVuZWZpdHMtSURQ\",\"_rev\":\"1104456615\",\"entityId\":\"benefits-IDP\",\"location\":\"hosted\",\"roles\":[\"identityProvider\"]},{\"_id\":\"aVNQQXp1cmU\",\"_rev\":\"2065843986\",\"entityId\":\"iSPAzure\",\"location\":\"hosted\",\"roles\":[\"serviceProvider\"]},{\"_id\":\"dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l\",\"_rev\":\"-1154647349\",\"entityId\":\"urn:federation:MicrosoftOnline\",\"location\":\"remote\",\"roles\":[\"serviceProvider\"]}],\"resultCount\":7,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"EXACT\",\"totalPagedResults\":7,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1133" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:04:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d7967970-90a8-4f6c-8187-ea5e3a80703b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 774, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:04:08.885Z", + "time": 61, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 61 + } + }, + { + "_id": "10400d1997b31087d725e9cf65ab5dd8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 162, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d7967970-90a8-4f6c-8187-ea5e3a80703b" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 162 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1646, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[]}" + }, + "queryString": [ + { + "name": "_action", + "value": "create" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.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": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "90" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:04:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d7967970-90a8-4f6c-8187-ea5e3a80703b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 745, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2023-10-21T20:04:08.955Z", + "time": 57, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 57 + } + }, + { + "_id": "007f83915ce7239351c5fdc6299e44aa", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d7967970-90a8-4f6c-8187-ea5e3a80703b" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1645, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/2f04818d-561e-4f8a-82e8-af2426112138" + }, + "response": { + "bodySize": 219, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 219, + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-222749816\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "219" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:04:08 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-d7967970-90a8-4f6c-8187-ea5e3a80703b" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:04:09.022Z", + "time": 53, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 53 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCircleOfTrust_3605601097/1-Read-circle-of-trust-FR_COT_2573426778/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCircleOfTrust_3605601097/1-Read-circle-of-trust-FR_COT_2573426778/recording.har new file mode 100644 index 000000000..b5a86416e --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCircleOfTrust_3605601097/1-Read-circle-of-trust-FR_COT_2573426778/recording.har @@ -0,0 +1,157 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/readCircleOfTrust()/1: Read circle of trust 'FR_COT'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "01d359a4cc3bb24796703c3e0a149a42", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1615, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/FR_COT" + }, + "response": { + "bodySize": 234, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 234, + "text": "{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"1191818231\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "234" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:27 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:28.486Z", + "time": 52, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 52 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCirclesOfTrust_2645329384/1-Read-all-circles-of-trust_3732103759/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCirclesOfTrust_2645329384/1-Read-all-circles-of-trust_3732103759/recording.har new file mode 100644 index 000000000..67831fb1b --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCirclesOfTrust_2645329384/1-Read-all-circles-of-trust_3732103759/recording.har @@ -0,0 +1,158 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/readCirclesOfTrust()/1: Read all circles of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1626, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 938, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 938, + "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "938" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:27 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:28.341Z", + "time": 62, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 62 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCirclesOfTrust_2645329384/1-Read-circles-of-trust_2896171790/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCirclesOfTrust_2645329384/1-Read-circles-of-trust_2896171790/recording.har new file mode 100644 index 000000000..4a9f8ba5e --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCirclesOfTrust_2645329384/1-Read-circles-of-trust_2896171790/recording.har @@ -0,0 +1,158 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/readCirclesOfTrust()/1: Read circles of trust", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ce1b5c1f-13b7-411c-a806-d596ecdda54a" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1626, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 1236, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 1236, + "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"FR_COT\",\"_rev\":\"-1494750593\",\"trustedProviders\":[\"engineering-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/company/saml|saml2\",\"company-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/roles/saml|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/sales/saml|saml2\",\"sales-IDP|saml2\",\"benefits-IDP|saml2\",\"https://volker-demo.encore.forgerock.com:443/apps/web/benefits/saml|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "1236" + }, + { + "name": "date", + "value": "Fri, 20 Oct 2023 22:49:37 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-ce1b5c1f-13b7-411c-a806-d596ecdda54a" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 774, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-20T22:49:38.264Z", + "time": 57, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 57 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCirclesOfTrust_2645329384/2-Read-circles-of-trust-filtered-by-entity-providers_2528016071/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCirclesOfTrust_2645329384/2-Read-circles-of-trust-filtered-by-entity-providers_2528016071/recording.har new file mode 100644 index 000000000..2a6d2e8e0 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/readCirclesOfTrust_2645329384/2-Read-circles-of-trust-filtered-by-entity-providers_2528016071/recording.har @@ -0,0 +1,158 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/readCirclesOfTrust()/2: Read circles of trust (filtered by entity providers)", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "3619e2e0ff736d00202fe0ecf819e30b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1626, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "_queryFilter", + "value": "true" + } + ], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust?_queryFilter=true" + }, + "response": { + "bodySize": 938, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 938, + "text": "{\"result\":[{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"AzureCOT\",\"_rev\":\"-954827061\",\"trustedProviders\":[\"iSPAzure|saml2\",\"urn:federation:MicrosoftOnline|saml2\",\"https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2\",\"SPAzure|saml2\",\"https://idc.scheuber.io/am/saml2/IDPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}},{\"_id\":\"FR_COT\",\"_rev\":\"1191818231\",\"trustedProviders\":[\"sales-IDP|saml2\",\"engineering-IDP|saml2\",\"company-IDP|saml2\",\"benefits-IDP|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}],\"resultCount\":3,\"pagedResultsCookie\":null,\"totalPagedResultsPolicy\":\"NONE\",\"totalPagedResults\":-1,\"remainingPagedResults\":-1}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "938" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:27 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 773, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:28.415Z", + "time": 61, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 61 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mock-recordings/CirclesOfTrustOps_1865626685/updateCircleOfTrust_2669836478/1-Update-circle-of-trust-2f04818d-561e-4f8a-82e8-af2426112138_2631786561/recording.har b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/updateCircleOfTrust_2669836478/1-Update-circle-of-trust-2f04818d-561e-4f8a-82e8-af2426112138_2631786561/recording.har new file mode 100644 index 000000000..8dfdb7039 --- /dev/null +++ b/src/test/mock-recordings/CirclesOfTrustOps_1865626685/updateCircleOfTrust_2669836478/1-Update-circle-of-trust-2f04818d-561e-4f8a-82e8-af2426112138_2631786561/recording.har @@ -0,0 +1,166 @@ +{ + "log": { + "_recordingName": "CirclesOfTrustOps/updateCircleOfTrust()/1: Update circle of trust '2f04818d-561e-4f8a-82e8-af2426112138'", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "2577933495f943b8ab41dcbcfc477845", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 199, + "cookies": [], + "headers": [ + { + "name": "accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "user-agent", + "value": "@rockcarver/frodo-lib/2.0.0-43" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "accept-api-version", + "value": "protocol=2.1,resource=1.0" + }, + { + "name": "authorization", + "value": "Bearer " + }, + { + "name": "content-length", + "value": 199 + }, + { + "name": "host", + "value": "openam-frodo-dev.forgeblocks.com" + } + ], + "headersSize": 1666, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_type\":{\"_id\":\"circlesoftrust\",\"collection\":true,\"name\":\"Circle of Trust\"},\"status\":\"active\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"]}" + }, + "queryString": [], + "url": "https://openam-frodo-dev.forgeblocks.com/am/json/realms/root/realms/alpha/realm-config/federation/circlesoftrust/2f04818d-561e-4f8a-82e8-af2426112138" + }, + "response": { + "bodySize": 219, + "content": { + "mimeType": "application/json;charset=UTF-8", + "size": 219, + "text": "{\"_id\":\"2f04818d-561e-4f8a-82e8-af2426112138\",\"_rev\":\"-222749816\",\"trustedProviders\":[\"benefits-IDP|saml2\",\"iSPAzure|saml2\"],\"status\":\"active\",\"_type\":{\"_id\":\"circlesoftrust\",\"name\":\"Circle of Trust\",\"collection\":true}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "content-security-policy-report-only", + "value": "frame-ancestors 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'" + }, + { + "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": "\"-222749816\"" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "content-type", + "value": "application/json;charset=UTF-8" + }, + { + "name": "content-length", + "value": "219" + }, + { + "name": "date", + "value": "Sat, 21 Oct 2023 20:02:27 GMT" + }, + { + "name": "x-forgerock-transactionid", + "value": "frodo-1e60c1eb-7aa7-492d-88d9-925aab33fd54" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload;" + }, + { + "name": "via", + "value": "1.1 google" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + } + ], + "headersSize": 766, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-10-21T20:02:28.547Z", + "time": 65, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 65 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/test/mocks/CirclesOfTrustOps/importCircleOfTrust/2f04818d-561e-4f8a-82e8-af2426112138.cot.saml.json b/src/test/mocks/CirclesOfTrustOps/importCircleOfTrust/2f04818d-561e-4f8a-82e8-af2426112138.cot.saml.json new file mode 100644 index 000000000..bd7c103a3 --- /dev/null +++ b/src/test/mocks/CirclesOfTrustOps/importCircleOfTrust/2f04818d-561e-4f8a-82e8-af2426112138.cot.saml.json @@ -0,0 +1,31 @@ +{ + "meta": { + "exportDate": "2023-10-20T03:38:34.998Z", + "exportTool": "frodo", + "exportToolVersion": "v2.0.0-43 [v20.5.1]", + "exportedBy": "volker.scheuber@forgerock.com", + "origin": "https://openam-frodo-dev.forgeblocks.com/am", + "originAmVersion": "7.4.0" + }, + "saml": { + "cot": { + "2f04818d-561e-4f8a-82e8-af2426112138": { + "_id": "2f04818d-561e-4f8a-82e8-af2426112138", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust" + }, + "status": "active", + "trustedProviders": [ + "benefits-IDP|saml2", + "iSPAzure|saml2" + ] + } + }, + "hosted": {}, + "metadata": {}, + "remote": {} + }, + "script": {} +} \ No newline at end of file diff --git a/src/test/mocks/CirclesOfTrustOps/importCircleOfTrust/AzureCOT.cot.saml.json b/src/test/mocks/CirclesOfTrustOps/importCircleOfTrust/AzureCOT.cot.saml.json new file mode 100644 index 000000000..8236eb3bb --- /dev/null +++ b/src/test/mocks/CirclesOfTrustOps/importCircleOfTrust/AzureCOT.cot.saml.json @@ -0,0 +1,34 @@ +{ + "meta": { + "exportDate": "2023-10-20T03:38:35.062Z", + "exportTool": "frodo", + "exportToolVersion": "v2.0.0-43 [v20.5.1]", + "exportedBy": "volker.scheuber@forgerock.com", + "origin": "https://openam-frodo-dev.forgeblocks.com/am", + "originAmVersion": "7.4.0" + }, + "saml": { + "cot": { + "AzureCOT": { + "_id": "AzureCOT", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust" + }, + "status": "active", + "trustedProviders": [ + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "SPAzure|saml2", + "https://idc.scheuber.io/am/saml2/IDPAzure|saml2" + ] + } + }, + "hosted": {}, + "metadata": {}, + "remote": {} + }, + "script": {} +} \ No newline at end of file diff --git a/src/test/mocks/CirclesOfTrustOps/importCircleOfTrust/FR_COT.cot.saml.json b/src/test/mocks/CirclesOfTrustOps/importCircleOfTrust/FR_COT.cot.saml.json new file mode 100644 index 000000000..7d55ac164 --- /dev/null +++ b/src/test/mocks/CirclesOfTrustOps/importCircleOfTrust/FR_COT.cot.saml.json @@ -0,0 +1,37 @@ +{ + "meta": { + "exportDate": "2023-10-20T03:38:35.128Z", + "exportTool": "frodo", + "exportToolVersion": "v2.0.0-43 [v20.5.1]", + "exportedBy": "volker.scheuber@forgerock.com", + "origin": "https://openam-frodo-dev.forgeblocks.com/am", + "originAmVersion": "7.4.0" + }, + "saml": { + "cot": { + "FR_COT": { + "_id": "FR_COT", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust" + }, + "status": "active", + "trustedProviders": [ + "engineering-IDP|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/company/saml|saml2", + "company-IDP|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/roles/saml|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/sales/saml|saml2", + "sales-IDP|saml2", + "benefits-IDP|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/benefits/saml|saml2" + ] + } + }, + "hosted": {}, + "metadata": {}, + "remote": {} + }, + "script": {} +} \ No newline at end of file diff --git a/src/test/mocks/CirclesOfTrustOps/importCirclesOfTrust/allAlphaCirclesOfTrust.cot.saml.json b/src/test/mocks/CirclesOfTrustOps/importCirclesOfTrust/allAlphaCirclesOfTrust.cot.saml.json new file mode 100644 index 000000000..dc87d8923 --- /dev/null +++ b/src/test/mocks/CirclesOfTrustOps/importCirclesOfTrust/allAlphaCirclesOfTrust.cot.saml.json @@ -0,0 +1,63 @@ +{ + "meta": { + "exportDate": "2023-10-20T02:55:06.636Z", + "exportTool": "frodo", + "exportToolVersion": "v2.0.0-43 [v20.5.1]", + "exportedBy": "volker.scheuber@forgerock.com", + "origin": "https://openam-frodo-dev.forgeblocks.com/am", + "originAmVersion": "7.4.0" + }, + "saml": { + "cot": { + "2f04818d-561e-4f8a-82e8-af2426112138": { + "_id": "2f04818d-561e-4f8a-82e8-af2426112138", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust" + }, + "status": "active", + "trustedProviders": [] + }, + "AzureCOT": { + "_id": "AzureCOT", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust" + }, + "status": "active", + "trustedProviders": [ + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "SPAzure|saml2", + "https://idc.scheuber.io/am/saml2/IDPAzure|saml2" + ] + }, + "FR_COT": { + "_id": "FR_COT", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust" + }, + "status": "active", + "trustedProviders": [ + "engineering-IDP|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/company/saml|saml2", + "company-IDP|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/roles/saml|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/sales/saml|saml2", + "sales-IDP|saml2", + "benefits-IDP|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/benefits/saml|saml2" + ] + } + }, + "hosted": {}, + "metadata": {}, + "remote": {} + }, + "script": {} +} \ No newline at end of file diff --git a/src/test/mocks/CirclesOfTrustOps/raw/2f04818d-561e-4f8a-82e8-af2426112138.cot.json b/src/test/mocks/CirclesOfTrustOps/raw/2f04818d-561e-4f8a-82e8-af2426112138.cot.json new file mode 100644 index 000000000..13c6fb7c0 --- /dev/null +++ b/src/test/mocks/CirclesOfTrustOps/raw/2f04818d-561e-4f8a-82e8-af2426112138.cot.json @@ -0,0 +1,10 @@ +{ + "_id": "2f04818d-561e-4f8a-82e8-af2426112138", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust" + }, + "status": "active", + "trustedProviders": ["benefits-IDP|saml2", "iSPAzure|saml2"] +} diff --git a/src/test/mocks/CirclesOfTrustOps/raw/AzureCOT.cot.json b/src/test/mocks/CirclesOfTrustOps/raw/AzureCOT.cot.json new file mode 100644 index 000000000..cdf9bfc1d --- /dev/null +++ b/src/test/mocks/CirclesOfTrustOps/raw/AzureCOT.cot.json @@ -0,0 +1,16 @@ +{ + "_id": "AzureCOT", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust" + }, + "status": "active", + "trustedProviders": [ + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "SPAzure|saml2", + "https://idc.scheuber.io/am/saml2/IDPAzure|saml2" + ] +} diff --git a/src/test/mocks/CirclesOfTrustOps/raw/FR_COT.cot.json b/src/test/mocks/CirclesOfTrustOps/raw/FR_COT.cot.json new file mode 100644 index 000000000..b55033131 --- /dev/null +++ b/src/test/mocks/CirclesOfTrustOps/raw/FR_COT.cot.json @@ -0,0 +1,19 @@ +{ + "_id": "FR_COT", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust" + }, + "status": "active", + "trustedProviders": [ + "engineering-IDP|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/company/saml|saml2", + "company-IDP|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/roles/saml|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/sales/saml|saml2", + "sales-IDP|saml2", + "benefits-IDP|saml2", + "https://volker-demo.encore.forgerock.com:443/apps/web/benefits/saml|saml2" + ] +} diff --git a/src/test/mocks/ForgeRockApiMockEngine.ts b/src/test/mocks/ForgeRockApiMockEngine.ts index ce3499726..505cc6bec 100644 --- a/src/test/mocks/ForgeRockApiMockEngine.ts +++ b/src/test/mocks/ForgeRockApiMockEngine.ts @@ -110,12 +110,57 @@ export function getSaml2ProviderImportData(entityId: string) { return importData; } -export function getSaml2ProvidersImportData() { +export function getSaml2ProvidersImportData( + file = 'allAlphaProviders.saml.json' +) { + const importData = JSON.parse( + fs.readFileSync( + path.resolve(__dirname, `./Saml2Ops/importSaml2Providers/${file}`), + 'utf8' + ) + ); + return importData; +} + +/** + * CirclesOfTrust Mock Data + */ +export function getCircleOfTrustImportData(cotId: string) { + const importData = JSON.parse( + fs.readFileSync( + path.resolve( + __dirname, + `./CirclesOfTrustOps/importCircleOfTrust/${getTypedFilename( + cotId, + 'cot.saml', + 'json' + )}` + ), + 'utf8' + ) + ); + return importData; +} + +export function getCirclesOfTrustImportData() { + const importData = JSON.parse( + fs.readFileSync( + path.resolve( + __dirname, + `./CirclesOfTrustOps/importCirclesOfTrust/allAlphaCirclesOfTrust.cot.saml.json` + ), + 'utf8' + ) + ); + return importData; +} + +export function getCircleOfTrustRawData(cotId: string) { const importData = JSON.parse( fs.readFileSync( path.resolve( __dirname, - `./Saml2Ops/importSaml2Providers/allAlphaProviders.saml.json` + `./CirclesOfTrustOps/raw/${getTypedFilename(cotId, 'cot', 'json')}` ), 'utf8' ) diff --git a/src/test/mocks/Saml2Ops/importSaml2Providers/cotTestProviders.saml.json b/src/test/mocks/Saml2Ops/importSaml2Providers/cotTestProviders.saml.json new file mode 100644 index 000000000..106c6de0e --- /dev/null +++ b/src/test/mocks/Saml2Ops/importSaml2Providers/cotTestProviders.saml.json @@ -0,0 +1,1713 @@ +{ + "meta": { + "exportDate": "2023-10-20T13:43:09.917Z", + "exportTool": "frodo", + "exportToolVersion": "v2.0.0-43 [v20.5.1]", + "exportedBy": "volker.scheuber@forgerock.com", + "origin": "https://openam-frodo-dev.forgeblocks.com/am", + "originAmVersion": "7.4.0" + }, + "saml": { + "hosted": { + "Y29tcGFueS1JRFA": { + "_id": "Y29tcGFueS1JRFA", + "entityId": "company-IDP", + "identityProvider": { + "advanced": { + "ecpConfiguration": { + "idpSessionMapper": "com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper" + }, + "idpAdapter": { + "idpAdapterScript": "[Empty]" + }, + "idpFinderImplementation": {}, + "relayStateUrlList": {}, + "saeConfiguration": { + "idpUrl": "https://openam-volker-demo.forgeblocks.com/am/idpsaehandler/metaAlias/alpha/company" + }, + "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://openam-volker-demo.forgeblocks.com/am/AIDReqSoap/IDPRole/metaAlias/alpha/company" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:URI", + "location": "https://openam-volker-demo.forgeblocks.com/am/AIDReqUri/IDPRole/metaAlias/alpha/company" + } + ], + "metaAlias": "/alpha/company", + "nameIdMapping": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://openam-volker-demo.forgeblocks.com/am/NIMSoap/metaAlias/alpha/company" + } + ], + "serviceAttributes": { + "artifactResolutionService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "openam-volker-demo.forgeblocks.com/am/ArtifactResolver/metaAlias/alpha/company" + } + ], + "nameIdService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/company", + "responseLocation": "https://openam-volker-demo.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/company" + } + ], + "singleLogoutService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/company", + "responseLocation": "https://openam-volker-demo.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/company" + } + ], + "singleSignOnService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/SSOPOST/metaAlias/alpha/company" + } + ] + } + } + } + }, + "YmVuZWZpdHMtSURQ": { + "_id": "YmVuZWZpdHMtSURQ", + "entityId": "benefits-IDP", + "identityProvider": { + "advanced": { + "ecpConfiguration": { + "idpSessionMapper": "com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper" + }, + "idpAdapter": { + "idpAdapterScript": "[Empty]" + }, + "idpFinderImplementation": {}, + "relayStateUrlList": {}, + "saeConfiguration": { + "idpUrl": "https://openam-volker-demo.forgeblocks.com/am/idpsaehandler/metaAlias/alpha/benefits" + }, + "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://openam-volker-demo.forgeblocks.com/am/AIDReqSoap/IDPRole/metaAlias/alpha/benefits" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:URI", + "location": "https://openam-volker-demo.forgeblocks.com/am/AIDReqUri/IDPRole/metaAlias/alpha/benefits" + } + ], + "metaAlias": "/alpha/benefits", + "nameIdMapping": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://openam-volker-demo.forgeblocks.com/am/NIMSoap/metaAlias/alpha/benefits" + } + ], + "serviceAttributes": { + "artifactResolutionService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "openam-volker-demo.forgeblocks.com/am/ArtifactResolver/metaAlias/alpha/benefits" + } + ], + "nameIdService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/benefits", + "responseLocation": "https://openam-volker-demo.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/benefits" + } + ], + "singleLogoutService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/benefits", + "responseLocation": "https://openam-volker-demo.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/benefits" + } + ], + "singleSignOnService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/SSOPOST/metaAlias/alpha/benefits" + } + ] + } + } + } + }, + "ZW5naW5lZXJpbmctSURQ": { + "_id": "ZW5naW5lZXJpbmctSURQ", + "entityId": "engineering-IDP", + "identityProvider": { + "advanced": { + "ecpConfiguration": { + "idpSessionMapper": "com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper" + }, + "idpAdapter": { + "idpAdapterScript": "[Empty]" + }, + "idpFinderImplementation": {}, + "relayStateUrlList": {}, + "saeConfiguration": { + "idpUrl": "https://openam-volker-demo.forgeblocks.com/am/idpsaehandler/metaAlias/alpha/engineering" + }, + "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://openam-volker-demo.forgeblocks.com/am/AIDReqSoap/IDPRole/metaAlias/alpha/engineering" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:URI", + "location": "https://openam-volker-demo.forgeblocks.com/am/AIDReqUri/IDPRole/metaAlias/alpha/engineering" + } + ], + "metaAlias": "/alpha/engineering", + "nameIdMapping": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://openam-volker-demo.forgeblocks.com/am/NIMSoap/metaAlias/alpha/engineering" + } + ], + "serviceAttributes": { + "artifactResolutionService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "openam-volker-demo.forgeblocks.com/am/ArtifactResolver/metaAlias/alpha/engineering" + } + ], + "nameIdService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/engineering", + "responseLocation": "https://openam-volker-demo.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/engineering" + } + ], + "singleLogoutService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/engineering", + "responseLocation": "https://openam-volker-demo.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/engineering" + } + ], + "singleSignOnService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/SSOPOST/metaAlias/alpha/engineering" + } + ] + } + } + } + }, + "aVNQQXp1cmU": { + "_id": "aVNQQXp1cmU", + "entityId": "iSPAzure", + "serviceProvider": { + "advanced": { + "ecpConfiguration": { + "ecpRequestIdpListFinderImpl": "com.sun.identity.saml2.plugins.ECPIDPFinder" + }, + "idpProxy": {}, + "relayStateUrlList": {}, + "saeConfiguration": { + "spUrl": "https://idc.scheuber.io/am/spsaehandler/metaAlias/alpha/iSPAzure" + } + }, + "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": {}, + "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", + "useNameIDAsSPUserID": true + }, + "adapter": {}, + "attributeMapper": { + "attributeMap": [ + { + "key": "http://schemas.microsoft.com/identity/claims/displayname", + "value": "cn" + }, + { + "key": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", + "value": "givenName" + }, + { + "key": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", + "value": "sn" + }, + { + "key": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", + "value": "mail" + }, + { + "key": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", + "value": "uid" + } + ], + "attributeMapper": "com.sun.identity.saml2.plugins.DefaultSPAttributeMapper" + }, + "autoFederation": { + "autoFedEnabled": false + }, + "responseArtifactMessageEncoding": { + "encoding": "URI" + }, + "url": {} + }, + "services": { + "metaAlias": "/alpha/iSPAzure", + "serviceAttributes": { + "assertionConsumerService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact", + "index": 0, + "isDefault": true, + "location": "https://idc.scheuber.io/am/AuthConsumer/metaAlias/alpha/iSPAzure" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "index": 1, + "isDefault": false, + "location": "https://idc.scheuber.io/am/AuthConsumer/metaAlias/alpha/iSPAzure" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:PAOS", + "index": 2, + "isDefault": false, + "location": "https://idc.scheuber.io/am/Consumer/ECP/metaAlias/alpha/iSPAzure" + } + ], + "nameIdService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "location": "https://idc.scheuber.io/am/SPMniRedirect/metaAlias/alpha/iSPAzure", + "responseLocation": "https://idc.scheuber.io/am/SPMniRedirect/metaAlias/alpha/iSPAzure" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://idc.scheuber.io/am/SPMniPOST/metaAlias/alpha/iSPAzure", + "responseLocation": "https://idc.scheuber.io/am/SPMniPOST/metaAlias/alpha/iSPAzure" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://idc.scheuber.io/am/SPMniSoap/metaAlias/alpha/iSPAzure", + "responseLocation": "https://idc.scheuber.io/am/SPMniSoap/metaAlias/alpha/iSPAzure" + } + ], + "singleLogoutService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "location": "https://idc.scheuber.io/am/SPSloRedirect/metaAlias/alpha/iSPAzure", + "responseLocation": "https://idc.scheuber.io/am/SPSloRedirect/metaAlias/alpha/iSPAzure" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://idc.scheuber.io/am/SPSloPOST/metaAlias/alpha/iSPAzure", + "responseLocation": "https://idc.scheuber.io/am/SPSloPOST/metaAlias/alpha/iSPAzure" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://idc.scheuber.io/am/SPSloSoap/metaAlias/alpha/iSPAzure" + } + ] + } + } + } + }, + "c2FsZXMtSURQ": { + "_id": "c2FsZXMtSURQ", + "entityId": "sales-IDP", + "identityProvider": { + "advanced": { + "ecpConfiguration": { + "idpSessionMapper": "com.sun.identity.saml2.plugins.DefaultIDPECPSessionMapper" + }, + "idpAdapter": { + "idpAdapterScript": "[Empty]" + }, + "idpFinderImplementation": {}, + "relayStateUrlList": {}, + "saeConfiguration": { + "idpUrl": "https://openam-volker-demo.forgeblocks.com/am/idpsaehandler/metaAlias/alpha/sales" + }, + "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://openam-volker-demo.forgeblocks.com/am/AIDReqSoap/IDPRole/metaAlias/alpha/sales" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:URI", + "location": "https://openam-volker-demo.forgeblocks.com/am/AIDReqUri/IDPRole/metaAlias/alpha/sales" + } + ], + "metaAlias": "/alpha/sales", + "nameIdMapping": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "https://openam-volker-demo.forgeblocks.com/am/NIMSoap/metaAlias/alpha/sales" + } + ], + "serviceAttributes": { + "artifactResolutionService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", + "location": "openam-volker-demo.forgeblocks.com/am/ArtifactResolver/metaAlias/alpha/sales" + } + ], + "nameIdService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/sales", + "responseLocation": "https://openam-volker-demo.forgeblocks.com/am/IDPMniPOST/metaAlias/alpha/sales" + } + ], + "singleLogoutService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/sales", + "responseLocation": "https://openam-volker-demo.forgeblocks.com/am/IDPSloPOST/metaAlias/alpha/sales" + } + ], + "singleSignOnService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://openam-volker-demo.forgeblocks.com/am/SSOPOST/metaAlias/alpha/sales" + } + ] + } + } + } + } + }, + "metadata": { + "Y29tcGFueS1JRFA": [ + "", + "", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIDXzCCAkegAwIBAgIEDvqo1zANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJVSzEQMA4GA1UE", + "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMRkwFwYDVQQD", + "ExByc2Fqd3RzaWduaW5na2V5MB4XDTIyMDgxMTAxMzIyOVoXDTMyMDgwODAxMzIyOVowYDELMAkG", + "A1UEBhMCVUsxEDAOBgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZv", + "cmdlUm9jazEZMBcGA1UEAxMQcnNhand0c2lnbmluZ2tleTCCASIwDQYJKoZIhvcNAQEBBQADggEP", + "ADCCAQoCggEBAKz4i7AfLdKa2fOueSyaX3rviRZXzY3w8J01B6VZZk+ujatitD8h9uSE7RjK2NS6", + "BYSf/wMsg2/Xy/vVbqEMrAl8ptdjXd9rsyL4sz33IRDgs9PqW2X2Ml5et0ASCwwQJWv8aGJJqkOG", + "ZorLVGqCS8PvkiN8MoYXGvkMpLPeWuSBqTTC2iBubhenRqcRkvCoeZ0JbrRWfEHKoFM1gkTj/xcn", + "L8yrXb5S3e2iAPkRw8+UPf8d4i9syS/jDyUZgrfqOsypbHh0dNMkS5dYpiqnOmJDWkjy1UDdUGmA", + "SKglu7c6gKaPaxcqh9VNGnTerQFbpKMV34guBoyBFrVFD1Sq6eUCAwEAAaMhMB8wHQYDVR0OBBYE", + "FCRENQBDfGf/R6qys11dPZM1+i5zMA0GCSqGSIb3DQEBCwUAA4IBAQACttnaeWl6CLVhffIlVz28", + "CgxJbLB+pY9mL/jy7G0+5AxK7h9Njoe9ZK9k59uMcwD5BfVPl58kxFLJcnFc68R9m2Cdii1aCm/A", + "BLlHPhpxHni5INeH9J4P7MLdVwxMa/Inp9tw3gZQ60txgG/mv535kL1mtlUSqbPDf57AtG0tNWKT", + "2EBe/aSLndIWAhGf1qjS5Sc3uz+O5QEG7fnkLS4uOh5//coh14wfY3EAnMl/DpkgViliQOu7voX8", + "7geBJd5jJhs6Ne2BJUp0q4iylD6WJrcfOLc3mcrgVaey5rLzVvX8vsp+p/m88KKhPzK+C8soYHz4", + "T7PNNC7YVB2EQVSm", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIDRzCCAi+gAwIBAgIEK9RtfDANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJVSzEQMA4GA1UE", + "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMQ0wCwYDVQQD", + "EwR0ZXN0MB4XDTIyMDgxMTAxMzIzMFoXDTMyMDgwODAxMzIzMFowVDELMAkGA1UEBhMCVUsxEDAO", + "BgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZvcmdlUm9jazENMAsG", + "A1UEAxMEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIjkMGOu0kbOsvdp45J6", + "FYW5wIn5TsKEPQUlNbYiFITg9o18Ja+6vWouK0fbIkzp8Ejj3U5OPHXqCtXCiDWiNX+bbFZoELW2", + "KUigC26QdqbhmA/hTBheyQaUg/I4D64fqebUare9r0zxtMYE8FnR3YRgGeEG2qSlxgmIFvTMnzd4", + "UwrUuw8C/uZTRbppDQITpkLDrOKb9608qnRvbXSR7UVP/JTm8Pq6uP2pvXz2F/QSK/wMKOnsjf+B", + "XfnqNZ9b+PP+fJvUKIcxjFwgDkmGP+Kr9YV7aFaur5Hgh7Q+q4bSDJMbNDhk5Lqu6qr3oGulyiTX", + "htoEkLMcbMA7JrVFCl0CAwEAAaMhMB8wHQYDVR0OBBYEFPoZt1jm2z/0gX/TnN/Sn+T31BU1MA0G", + "CSqGSIb3DQEBCwUAA4IBAQAY2Hy1f+lKClRzJFHNVyYZ0ahRCkbGB0FppwI8ZhIt6Aj3p9LBXOdu", + "IckDfAjg0/mckuEteA7l1LRqYcQIxpxrJU4FTxeyV1gTgudW43rw9Vd3AxdVocXqdpVxAvECtI+X", + "/jdbkk54k0mYTCI9ruNRdof1BpOWkI9Jtdj0GRe7L9nydNb3V/kJzSVMDNsx+Vc0GnmysL7edZDo", + "mK3zry+aIWav0yj1Pmh2lOgD6rEnOlGZDqrmIqWd0d2jp8Am4iawP0sr9e7etjK/YGCFW4byuCOx", + "328SOTHshVUBtIGbq11vuQleknlVL7A/aYUeUIyOvdYhWD7YoVnBV+QwcrAH", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " 128", + " ", + " ", + " ", + " ", + " ", + " 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", + " ", + " ", + " ", + " ", + " ", + "", + "", + "" + ], + "YmVuZWZpdHMtSURQ": [ + "", + "", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIDXzCCAkegAwIBAgIEDvqo1zANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJVSzEQMA4GA1UE", + "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMRkwFwYDVQQD", + "ExByc2Fqd3RzaWduaW5na2V5MB4XDTIyMDgxMTAxMzIyOVoXDTMyMDgwODAxMzIyOVowYDELMAkG", + "A1UEBhMCVUsxEDAOBgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZv", + "cmdlUm9jazEZMBcGA1UEAxMQcnNhand0c2lnbmluZ2tleTCCASIwDQYJKoZIhvcNAQEBBQADggEP", + "ADCCAQoCggEBAKz4i7AfLdKa2fOueSyaX3rviRZXzY3w8J01B6VZZk+ujatitD8h9uSE7RjK2NS6", + "BYSf/wMsg2/Xy/vVbqEMrAl8ptdjXd9rsyL4sz33IRDgs9PqW2X2Ml5et0ASCwwQJWv8aGJJqkOG", + "ZorLVGqCS8PvkiN8MoYXGvkMpLPeWuSBqTTC2iBubhenRqcRkvCoeZ0JbrRWfEHKoFM1gkTj/xcn", + "L8yrXb5S3e2iAPkRw8+UPf8d4i9syS/jDyUZgrfqOsypbHh0dNMkS5dYpiqnOmJDWkjy1UDdUGmA", + "SKglu7c6gKaPaxcqh9VNGnTerQFbpKMV34guBoyBFrVFD1Sq6eUCAwEAAaMhMB8wHQYDVR0OBBYE", + "FCRENQBDfGf/R6qys11dPZM1+i5zMA0GCSqGSIb3DQEBCwUAA4IBAQACttnaeWl6CLVhffIlVz28", + "CgxJbLB+pY9mL/jy7G0+5AxK7h9Njoe9ZK9k59uMcwD5BfVPl58kxFLJcnFc68R9m2Cdii1aCm/A", + "BLlHPhpxHni5INeH9J4P7MLdVwxMa/Inp9tw3gZQ60txgG/mv535kL1mtlUSqbPDf57AtG0tNWKT", + "2EBe/aSLndIWAhGf1qjS5Sc3uz+O5QEG7fnkLS4uOh5//coh14wfY3EAnMl/DpkgViliQOu7voX8", + "7geBJd5jJhs6Ne2BJUp0q4iylD6WJrcfOLc3mcrgVaey5rLzVvX8vsp+p/m88KKhPzK+C8soYHz4", + "T7PNNC7YVB2EQVSm", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIDRzCCAi+gAwIBAgIEK9RtfDANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJVSzEQMA4GA1UE", + "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMQ0wCwYDVQQD", + "EwR0ZXN0MB4XDTIyMDgxMTAxMzIzMFoXDTMyMDgwODAxMzIzMFowVDELMAkGA1UEBhMCVUsxEDAO", + "BgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZvcmdlUm9jazENMAsG", + "A1UEAxMEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIjkMGOu0kbOsvdp45J6", + "FYW5wIn5TsKEPQUlNbYiFITg9o18Ja+6vWouK0fbIkzp8Ejj3U5OPHXqCtXCiDWiNX+bbFZoELW2", + "KUigC26QdqbhmA/hTBheyQaUg/I4D64fqebUare9r0zxtMYE8FnR3YRgGeEG2qSlxgmIFvTMnzd4", + "UwrUuw8C/uZTRbppDQITpkLDrOKb9608qnRvbXSR7UVP/JTm8Pq6uP2pvXz2F/QSK/wMKOnsjf+B", + "XfnqNZ9b+PP+fJvUKIcxjFwgDkmGP+Kr9YV7aFaur5Hgh7Q+q4bSDJMbNDhk5Lqu6qr3oGulyiTX", + "htoEkLMcbMA7JrVFCl0CAwEAAaMhMB8wHQYDVR0OBBYEFPoZt1jm2z/0gX/TnN/Sn+T31BU1MA0G", + "CSqGSIb3DQEBCwUAA4IBAQAY2Hy1f+lKClRzJFHNVyYZ0ahRCkbGB0FppwI8ZhIt6Aj3p9LBXOdu", + "IckDfAjg0/mckuEteA7l1LRqYcQIxpxrJU4FTxeyV1gTgudW43rw9Vd3AxdVocXqdpVxAvECtI+X", + "/jdbkk54k0mYTCI9ruNRdof1BpOWkI9Jtdj0GRe7L9nydNb3V/kJzSVMDNsx+Vc0GnmysL7edZDo", + "mK3zry+aIWav0yj1Pmh2lOgD6rEnOlGZDqrmIqWd0d2jp8Am4iawP0sr9e7etjK/YGCFW4byuCOx", + "328SOTHshVUBtIGbq11vuQleknlVL7A/aYUeUIyOvdYhWD7YoVnBV+QwcrAH", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " 128", + " ", + " ", + " ", + " ", + " ", + " 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", + " ", + " ", + " ", + " ", + " ", + "", + "", + "" + ], + "ZW5naW5lZXJpbmctSURQ": [ + "", + "", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIDXzCCAkegAwIBAgIEDvqo1zANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJVSzEQMA4GA1UE", + "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMRkwFwYDVQQD", + "ExByc2Fqd3RzaWduaW5na2V5MB4XDTIyMDgxMTAxMzIyOVoXDTMyMDgwODAxMzIyOVowYDELMAkG", + "A1UEBhMCVUsxEDAOBgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZv", + "cmdlUm9jazEZMBcGA1UEAxMQcnNhand0c2lnbmluZ2tleTCCASIwDQYJKoZIhvcNAQEBBQADggEP", + "ADCCAQoCggEBAKz4i7AfLdKa2fOueSyaX3rviRZXzY3w8J01B6VZZk+ujatitD8h9uSE7RjK2NS6", + "BYSf/wMsg2/Xy/vVbqEMrAl8ptdjXd9rsyL4sz33IRDgs9PqW2X2Ml5et0ASCwwQJWv8aGJJqkOG", + "ZorLVGqCS8PvkiN8MoYXGvkMpLPeWuSBqTTC2iBubhenRqcRkvCoeZ0JbrRWfEHKoFM1gkTj/xcn", + "L8yrXb5S3e2iAPkRw8+UPf8d4i9syS/jDyUZgrfqOsypbHh0dNMkS5dYpiqnOmJDWkjy1UDdUGmA", + "SKglu7c6gKaPaxcqh9VNGnTerQFbpKMV34guBoyBFrVFD1Sq6eUCAwEAAaMhMB8wHQYDVR0OBBYE", + "FCRENQBDfGf/R6qys11dPZM1+i5zMA0GCSqGSIb3DQEBCwUAA4IBAQACttnaeWl6CLVhffIlVz28", + "CgxJbLB+pY9mL/jy7G0+5AxK7h9Njoe9ZK9k59uMcwD5BfVPl58kxFLJcnFc68R9m2Cdii1aCm/A", + "BLlHPhpxHni5INeH9J4P7MLdVwxMa/Inp9tw3gZQ60txgG/mv535kL1mtlUSqbPDf57AtG0tNWKT", + "2EBe/aSLndIWAhGf1qjS5Sc3uz+O5QEG7fnkLS4uOh5//coh14wfY3EAnMl/DpkgViliQOu7voX8", + "7geBJd5jJhs6Ne2BJUp0q4iylD6WJrcfOLc3mcrgVaey5rLzVvX8vsp+p/m88KKhPzK+C8soYHz4", + "T7PNNC7YVB2EQVSm", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIDRzCCAi+gAwIBAgIEK9RtfDANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJVSzEQMA4GA1UE", + "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMQ0wCwYDVQQD", + "EwR0ZXN0MB4XDTIyMDgxMTAxMzIzMFoXDTMyMDgwODAxMzIzMFowVDELMAkGA1UEBhMCVUsxEDAO", + "BgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZvcmdlUm9jazENMAsG", + "A1UEAxMEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIjkMGOu0kbOsvdp45J6", + "FYW5wIn5TsKEPQUlNbYiFITg9o18Ja+6vWouK0fbIkzp8Ejj3U5OPHXqCtXCiDWiNX+bbFZoELW2", + "KUigC26QdqbhmA/hTBheyQaUg/I4D64fqebUare9r0zxtMYE8FnR3YRgGeEG2qSlxgmIFvTMnzd4", + "UwrUuw8C/uZTRbppDQITpkLDrOKb9608qnRvbXSR7UVP/JTm8Pq6uP2pvXz2F/QSK/wMKOnsjf+B", + "XfnqNZ9b+PP+fJvUKIcxjFwgDkmGP+Kr9YV7aFaur5Hgh7Q+q4bSDJMbNDhk5Lqu6qr3oGulyiTX", + "htoEkLMcbMA7JrVFCl0CAwEAAaMhMB8wHQYDVR0OBBYEFPoZt1jm2z/0gX/TnN/Sn+T31BU1MA0G", + "CSqGSIb3DQEBCwUAA4IBAQAY2Hy1f+lKClRzJFHNVyYZ0ahRCkbGB0FppwI8ZhIt6Aj3p9LBXOdu", + "IckDfAjg0/mckuEteA7l1LRqYcQIxpxrJU4FTxeyV1gTgudW43rw9Vd3AxdVocXqdpVxAvECtI+X", + "/jdbkk54k0mYTCI9ruNRdof1BpOWkI9Jtdj0GRe7L9nydNb3V/kJzSVMDNsx+Vc0GnmysL7edZDo", + "mK3zry+aIWav0yj1Pmh2lOgD6rEnOlGZDqrmIqWd0d2jp8Am4iawP0sr9e7etjK/YGCFW4byuCOx", + "328SOTHshVUBtIGbq11vuQleknlVL7A/aYUeUIyOvdYhWD7YoVnBV+QwcrAH", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " 128", + " ", + " ", + " ", + " ", + " ", + " 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", + " ", + " ", + " ", + " ", + " ", + "", + "", + "" + ], + "aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw": [ + "", + "", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIC8DCCAdigAwIBAgIQZzae6CymcZhG5gxIgB7mMDANBgkqhkiG9w0BAQsFADA0MTIwMAYDVQQD", + "EylNaWNyb3NvZnQgQXp1cmUgRmVkZXJhdGVkIFNTTyBDZXJ0aWZpY2F0ZTAeFw0yMTAzMzEyMDI0", + "MTdaFw0yNDAzMzEyMDI0MTdaMDQxMjAwBgNVBAMTKU1pY3Jvc29mdCBBenVyZSBGZWRlcmF0ZWQg", + "U1NPIENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv62V9U2Wi8gr", + "arSBp7s4Bupke9vaXsNOgNZ8Vn/i0mo6Jn0E1HmJ6uIy+QeahQDtxFQyoEW1LeLGBeVwvUvOfSwf", + "wPBEHLw9g3F84IdgfIWtezj87BHh3ezwb0r/0Eny3xHcS02wQsIFRIhn7ltCaMFrTja18gBapuRl", + "36Ujfod7W1uL1HJTsw8auKXYEhutbeQYpdU6qcPaksJd1r16q+Jc78MHptKMWSNI1OnB9jK8hr/3", + "aug+LSeuJScaJQZDo/qKDmoIC6KT6CgfzUy33I/gjU6RjVcwNw4XFpk5ad13HXTtfCLtPtMxGYuk", + "cOxX3M80EJMLFr2sJO0vJbA8aQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQB8GmsA4N5KDQ79v+/1", + "zVFq8domQYZm8wEAIHn4+T02IluDa9Ty/EqgFzvqAZUILQneFrGCh9uIub/Z3NtkIgs2gbAduxdn", + "hzdwhNRNivks4P0CO+9Q1iK/xOsmWo12xsyB4lyAv7HsF+COIPFGhRfzsCxVFKfU8x2r+bb8kWLM", + "YpA2NDlz+MTXQEWhFtCLwQRjHlD6C5+yzqoAFBO7RR28mztTF0nVbKj7N+Ri5VLEKJospkwUDtIH", + "dcp2bSVwhziAIn05yiw6AVIZnje7cN+kJdCIDgqQ+Ebb96C/Y0JmYvz6sJVP0/u5oR5PrsQqBrw4", + "OzVWNFaXuTcN3UicN01V", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIC8DCCAdigAwIBAgIQfU4A0Hnj17dI0GSzvUwMZTANBgkqhkiG9w0BAQsFADA0MTIwMAYDVQQD", + "EylNaWNyb3NvZnQgQXp1cmUgRmVkZXJhdGVkIFNTTyBDZXJ0aWZpY2F0ZTAeFw0yMTA2MDYwMTQy", + "MzBaFw0yNDA2MDYwMTQyMzBaMDQxMjAwBgNVBAMTKU1pY3Jvc29mdCBBenVyZSBGZWRlcmF0ZWQg", + "U1NPIENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm+fFmS+eVDho", + "FhlYoY1vRkJIblLct3ZT/sT5AmIoCEGxXBeiSCwnSCveXEfrqEHmjlT5qni5spO+OmX7GrLeytHk", + "hl3O6XiXyVBlvyTSFd/bLHR2DqdxbUxUs2E7WfwQyq9Ob9i3++4fRIPFw+JcZ99ouZasHn2BJvWh", + "liT7yRtYhvwboc8BwWveL70ZJqsCJnlOKQVIccCdNbQe6HleePXgFB4pRge46zmqKVeEpLbBRqgj", + "Yf7EkhBJjx0WY2zMW7DLHDCZEY6VS2Kf9gJpGntNSLe0gXydBFtaFPgyaKIVswZ5hY1oRDPHEXEJ", + "+a5TVRGLeTlyK0v9Y+c8d3XdoQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBZ5lcYpe13quossxB7", + "L2Y1E7hpy7AZgWr/OGYi/tUh1pJ4++3uZvHJLtTfXc7V+Y5EG6LRq9HZyF0hSvubhYkDXlwYbF7U", + "/osQjTe1tffPWO3bwzcrBVz7ytvb7DyvikI3C0f3LaCgEwxwYCD33IowNQS/IJA7W/kiFb/7q/Qu", + "7T/gDL1RjYdm9WmYW3RNn0Kh1VDBiCfY739xpCwdH11OUQfVc+9Z2KSSQY7EAlVgwpq+UiVdOqY9", + "m4cqul7uvjiSTgG0h5RW9xi3a6Lilk1TxsQUu4tRnGsDCAFgkgLN5rNnlQULuahzruoXWqe4g6pn", + "Ritpy6bwva8piGPKhVi/", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "", + "", + "" + ], + "aVNQQXp1cmU": [ + "", + "", + " ", + " ", + " ", + " ", + " ", + "MIIDXzCCAkegAwIBAgIEDvqo1zANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJVSzEQMA4GA1UE", + "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMRkwFwYDVQQD", + "ExByc2Fqd3RzaWduaW5na2V5MB4XDTIyMDgxMTAxMzIyOVoXDTMyMDgwODAxMzIyOVowYDELMAkG", + "A1UEBhMCVUsxEDAOBgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZv", + "cmdlUm9jazEZMBcGA1UEAxMQcnNhand0c2lnbmluZ2tleTCCASIwDQYJKoZIhvcNAQEBBQADggEP", + "ADCCAQoCggEBAKz4i7AfLdKa2fOueSyaX3rviRZXzY3w8J01B6VZZk+ujatitD8h9uSE7RjK2NS6", + "BYSf/wMsg2/Xy/vVbqEMrAl8ptdjXd9rsyL4sz33IRDgs9PqW2X2Ml5et0ASCwwQJWv8aGJJqkOG", + "ZorLVGqCS8PvkiN8MoYXGvkMpLPeWuSBqTTC2iBubhenRqcRkvCoeZ0JbrRWfEHKoFM1gkTj/xcn", + "L8yrXb5S3e2iAPkRw8+UPf8d4i9syS/jDyUZgrfqOsypbHh0dNMkS5dYpiqnOmJDWkjy1UDdUGmA", + "SKglu7c6gKaPaxcqh9VNGnTerQFbpKMV34guBoyBFrVFD1Sq6eUCAwEAAaMhMB8wHQYDVR0OBBYE", + "FCRENQBDfGf/R6qys11dPZM1+i5zMA0GCSqGSIb3DQEBCwUAA4IBAQACttnaeWl6CLVhffIlVz28", + "CgxJbLB+pY9mL/jy7G0+5AxK7h9Njoe9ZK9k59uMcwD5BfVPl58kxFLJcnFc68R9m2Cdii1aCm/A", + "BLlHPhpxHni5INeH9J4P7MLdVwxMa/Inp9tw3gZQ60txgG/mv535kL1mtlUSqbPDf57AtG0tNWKT", + "2EBe/aSLndIWAhGf1qjS5Sc3uz+O5QEG7fnkLS4uOh5//coh14wfY3EAnMl/DpkgViliQOu7voX8", + "7geBJd5jJhs6Ne2BJUp0q4iylD6WJrcfOLc3mcrgVaey5rLzVvX8vsp+p/m88KKhPzK+C8soYHz4", + "T7PNNC7YVB2EQVSm", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIDRzCCAi+gAwIBAgIEK9RtfDANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJVSzEQMA4GA1UE", + "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMQ0wCwYDVQQD", + "EwR0ZXN0MB4XDTIyMDgxMTAxMzIzMFoXDTMyMDgwODAxMzIzMFowVDELMAkGA1UEBhMCVUsxEDAO", + "BgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZvcmdlUm9jazENMAsG", + "A1UEAxMEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIjkMGOu0kbOsvdp45J6", + "FYW5wIn5TsKEPQUlNbYiFITg9o18Ja+6vWouK0fbIkzp8Ejj3U5OPHXqCtXCiDWiNX+bbFZoELW2", + "KUigC26QdqbhmA/hTBheyQaUg/I4D64fqebUare9r0zxtMYE8FnR3YRgGeEG2qSlxgmIFvTMnzd4", + "UwrUuw8C/uZTRbppDQITpkLDrOKb9608qnRvbXSR7UVP/JTm8Pq6uP2pvXz2F/QSK/wMKOnsjf+B", + "XfnqNZ9b+PP+fJvUKIcxjFwgDkmGP+Kr9YV7aFaur5Hgh7Q+q4bSDJMbNDhk5Lqu6qr3oGulyiTX", + "htoEkLMcbMA7JrVFCl0CAwEAAaMhMB8wHQYDVR0OBBYEFPoZt1jm2z/0gX/TnN/Sn+T31BU1MA0G", + "CSqGSIb3DQEBCwUAA4IBAQAY2Hy1f+lKClRzJFHNVyYZ0ahRCkbGB0FppwI8ZhIt6Aj3p9LBXOdu", + "IckDfAjg0/mckuEteA7l1LRqYcQIxpxrJU4FTxeyV1gTgudW43rw9Vd3AxdVocXqdpVxAvECtI+X", + "/jdbkk54k0mYTCI9ruNRdof1BpOWkI9Jtdj0GRe7L9nydNb3V/kJzSVMDNsx+Vc0GnmysL7edZDo", + "mK3zry+aIWav0yj1Pmh2lOgD6rEnOlGZDqrmIqWd0d2jp8Am4iawP0sr9e7etjK/YGCFW4byuCOx", + "328SOTHshVUBtIGbq11vuQleknlVL7A/aYUeUIyOvdYhWD7YoVnBV+QwcrAH", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " 128", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " 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", + " ", + " ", + " ", + " ", + "", + "", + "" + ], + "c2FsZXMtSURQ": [ + "", + "", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIDXzCCAkegAwIBAgIEDvqo1zANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJVSzEQMA4GA1UE", + "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMRkwFwYDVQQD", + "ExByc2Fqd3RzaWduaW5na2V5MB4XDTIyMDgxMTAxMzIyOVoXDTMyMDgwODAxMzIyOVowYDELMAkG", + "A1UEBhMCVUsxEDAOBgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZv", + "cmdlUm9jazEZMBcGA1UEAxMQcnNhand0c2lnbmluZ2tleTCCASIwDQYJKoZIhvcNAQEBBQADggEP", + "ADCCAQoCggEBAKz4i7AfLdKa2fOueSyaX3rviRZXzY3w8J01B6VZZk+ujatitD8h9uSE7RjK2NS6", + "BYSf/wMsg2/Xy/vVbqEMrAl8ptdjXd9rsyL4sz33IRDgs9PqW2X2Ml5et0ASCwwQJWv8aGJJqkOG", + "ZorLVGqCS8PvkiN8MoYXGvkMpLPeWuSBqTTC2iBubhenRqcRkvCoeZ0JbrRWfEHKoFM1gkTj/xcn", + "L8yrXb5S3e2iAPkRw8+UPf8d4i9syS/jDyUZgrfqOsypbHh0dNMkS5dYpiqnOmJDWkjy1UDdUGmA", + "SKglu7c6gKaPaxcqh9VNGnTerQFbpKMV34guBoyBFrVFD1Sq6eUCAwEAAaMhMB8wHQYDVR0OBBYE", + "FCRENQBDfGf/R6qys11dPZM1+i5zMA0GCSqGSIb3DQEBCwUAA4IBAQACttnaeWl6CLVhffIlVz28", + "CgxJbLB+pY9mL/jy7G0+5AxK7h9Njoe9ZK9k59uMcwD5BfVPl58kxFLJcnFc68R9m2Cdii1aCm/A", + "BLlHPhpxHni5INeH9J4P7MLdVwxMa/Inp9tw3gZQ60txgG/mv535kL1mtlUSqbPDf57AtG0tNWKT", + "2EBe/aSLndIWAhGf1qjS5Sc3uz+O5QEG7fnkLS4uOh5//coh14wfY3EAnMl/DpkgViliQOu7voX8", + "7geBJd5jJhs6Ne2BJUp0q4iylD6WJrcfOLc3mcrgVaey5rLzVvX8vsp+p/m88KKhPzK+C8soYHz4", + "T7PNNC7YVB2EQVSm", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIDRzCCAi+gAwIBAgIEK9RtfDANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJVSzEQMA4GA1UE", + "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMQ0wCwYDVQQD", + "EwR0ZXN0MB4XDTIyMDgxMTAxMzIzMFoXDTMyMDgwODAxMzIzMFowVDELMAkGA1UEBhMCVUsxEDAO", + "BgNVBAgTB0JyaXN0b2wxEDAOBgNVBAcTB0JyaXN0b2wxEjAQBgNVBAoTCUZvcmdlUm9jazENMAsG", + "A1UEAxMEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIjkMGOu0kbOsvdp45J6", + "FYW5wIn5TsKEPQUlNbYiFITg9o18Ja+6vWouK0fbIkzp8Ejj3U5OPHXqCtXCiDWiNX+bbFZoELW2", + "KUigC26QdqbhmA/hTBheyQaUg/I4D64fqebUare9r0zxtMYE8FnR3YRgGeEG2qSlxgmIFvTMnzd4", + "UwrUuw8C/uZTRbppDQITpkLDrOKb9608qnRvbXSR7UVP/JTm8Pq6uP2pvXz2F/QSK/wMKOnsjf+B", + "XfnqNZ9b+PP+fJvUKIcxjFwgDkmGP+Kr9YV7aFaur5Hgh7Q+q4bSDJMbNDhk5Lqu6qr3oGulyiTX", + "htoEkLMcbMA7JrVFCl0CAwEAAaMhMB8wHQYDVR0OBBYEFPoZt1jm2z/0gX/TnN/Sn+T31BU1MA0G", + "CSqGSIb3DQEBCwUAA4IBAQAY2Hy1f+lKClRzJFHNVyYZ0ahRCkbGB0FppwI8ZhIt6Aj3p9LBXOdu", + "IckDfAjg0/mckuEteA7l1LRqYcQIxpxrJU4FTxeyV1gTgudW43rw9Vd3AxdVocXqdpVxAvECtI+X", + "/jdbkk54k0mYTCI9ruNRdof1BpOWkI9Jtdj0GRe7L9nydNb3V/kJzSVMDNsx+Vc0GnmysL7edZDo", + "mK3zry+aIWav0yj1Pmh2lOgD6rEnOlGZDqrmIqWd0d2jp8Am4iawP0sr9e7etjK/YGCFW4byuCOx", + "328SOTHshVUBtIGbq11vuQleknlVL7A/aYUeUIyOvdYhWD7YoVnBV+QwcrAH", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " 128", + " ", + " ", + " ", + " ", + " ", + " 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", + " ", + " ", + " ", + " ", + " ", + "", + "", + "" + ], + "dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l": [ + "", + "", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIC/TCCAeWgAwIBAgIQbgDHfi3t1JNGVqwD5/7lmjANBgkqhkiG9w0BAQsFADApMScwJQYDVQQD", + "Ex5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwHhcNMjAxMjIxMDAwMDAwWhcNMjUxMjIx", + "MDAwMDAwWjApMScwJQYDVQQDEx5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwggEiMA0G", + "CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDFT0/0/2qQurnYa0LbJHF9YYozhEH6r9mCxVDBYbew", + "SG4tGgrWpsewQ/96pcczGMQctMvU+h2eX38Hx/f9JAIDbuRQzQlsPhQS7DDZ6WlTXU+t8d/g2C7f", + "pSoLs4KVdJih4xyjLUWj+BK/ijsRjBt4Riw9VbJH/DdWKyoSMbECEiE+s1RtLP/eYoMmNfxyQGqW", + "irCNqVNBTlqzYQp4dgF0foYy4ktoxwmQOVoTcIMFYp1I4pFPI7CxuMLkfK0X7aTbM7YGphvMfJxJ", + "kjrQdyI7G5d1t4DNi3zkEbBT7FGAr6qPt3Kn9ralpqJKHdpEBA9N0vNwQo5XTYIhUbPQ16IRAgMB", + "AAGjITAfMB0GA1UdDgQWBBRs7tPmfkksSr67KtElHjYZbeaCTjANBgkqhkiG9w0BAQsFAAOCAQEA", + "JqwMZSjQJ36x+1sty6EeLKQLQewQwPaEC47Zut+8bXed6Q8jMZ0bfa/MM7XquEcabaMZLQuKLft4", + "4YXwXXQOfQrI2qjQr3eToJFlDT9hR0rfp9wQqttDxd6Aa6RWwDTgo5oKUQCTKLHhEy8uWzScK0eG", + "t2d7TWTaDXjRSwNq6tM7fRhZs07tKBV3xfi9EQy/mlavAMFRBVm86NSo7AsOG1IOMq03U3ooCWAX", + "h9PdvvHNfHhH19futAnC/HeOjwRF1Qc527aBMphYFQLdiThfmfmiE/AhQqCwZ2oE7uCJhBtR+Kb1", + "ZGhjI35pHfsSqGiFa7Kr+5ave822PDcke89Mvg==", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIC/TCCAeWgAwIBAgIQN/GPegnT8blP2EcSdMMbBzANBgkqhkiG9w0BAQsFADApMScwJQYDVQQD", + "Ex5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwHhcNMjEwMjE4MDAwMDAwWhcNMjYwMjE4", + "MDAwMDAwWjApMScwJQYDVQQDEx5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwggEiMA0G", + "CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDXdLGU2Ll5RPdDUnKQ+f/HS5qiTay2cCh9U2AS6oDM", + "6SOxVhYGtoeJ1VPebcLnpgLfhPxzrwWoVzXSEF+VRQbnYID2Jb4khjgyEeoThk3VqrThwhahpSbB", + "g2vo06vIOp1TS2R1BiwHKTLoB1i1IJnaIFSC3BN6pY4flXWyLQt/5ABXElv2XZLqXM9Eefj6Ji40", + "nLIsiW4dWw3BDa/ywWW0MsiW5ojGq4vovcAgENe/4NUbju70gHP/WS5D9bW5p+OIQi7/unrlWe/h", + "3A6jtBbbRlXYXlN+Z22uTTyyCD/W8zeXaACLvHagwEMrQePDXBZqc/iX2kI+ooZr1sC/H39RAgMB", + "AAGjITAfMB0GA1UdDgQWBBSrX2dm3LwT9jb/p+bAAdYQpE+/NjANBgkqhkiG9w0BAQsFAAOCAQEA", + "eqJfYHnsA9qhGttXFfFpPW4DQLh5w6JCce7vGvWINr5fr1DnQdcOr+wwjQ/tqbckAL2v6z1AqjhS", + "78kbfegnAQDwioJZ1olYYvLOxKoa6HF+b1/p0Mlub8Zukk2n1b2lKPBBOibOasSY7gQDwlIZi7tl", + "9nMTxUfdYK+E5Axv7DVnmUCwcnnpV5/1SFdNyW2kWO4C68rrjMOvECfwrKkbfVJM8f9krEUBuoBF", + "8dTDv7D2ZM4Q2buC70NbfaNWUX0yFvKI0IuTqk8RBfGTRQ4fZAbhMPaykEpBu6dNjTi5YOa0lNqF", + "GS7Ax7leCh5x9lV8elcLkXs8ySo8AOQJk0hgIw==", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "MIIC/TCCAeWgAwIBAgIQN/GPegnT8blP2EcSdMMbBzANBgkqhkiG9w0BAQsFADApMScwJQYDVQQD", + "Ex5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwHhcNMjEwMjE4MDAwMDAwWhcNMjYwMjE4", + "MDAwMDAwWjApMScwJQYDVQQDEx5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwggEiMA0G", + "CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDXdLGU2Ll5RPdDUnKQ+f/HS5qiTay2cCh9U2AS6oDM", + "6SOxVhYGtoeJ1VPebcLnpgLfhPxzrwWoVzXSEF+VRQbnYID2Jb4khjgyEeoThk3VqrThwhahpSbB", + "g2vo06vIOp1TS2R1BiwHKTLoB1i1IJnaIFSC3BN6pY4flXWyLQt/5ABXElv2XZLqXM9Eefj6Ji40", + "nLIsiW4dWw3BDa/ywWW0MsiW5ojGq4vovcAgENe/4NUbju70gHP/WS5D9bW5p+OIQi7/unrlWe/h", + "3A6jtBbbRlXYXlN+Z22uTTyyCD/W8zeXaACLvHagwEMrQePDXBZqc/iX2kI+ooZr1sC/H39RAgMB", + "AAGjITAfMB0GA1UdDgQWBBSrX2dm3LwT9jb/p+bAAdYQpE+/NjANBgkqhkiG9w0BAQsFAAOCAQEA", + "eqJfYHnsA9qhGttXFfFpPW4DQLh5w6JCce7vGvWINr5fr1DnQdcOr+wwjQ/tqbckAL2v6z1AqjhS", + "78kbfegnAQDwioJZ1olYYvLOxKoa6HF+b1/p0Mlub8Zukk2n1b2lKPBBOibOasSY7gQDwlIZi7tl", + "9nMTxUfdYK+E5Axv7DVnmUCwcnnpV5/1SFdNyW2kWO4C68rrjMOvECfwrKkbfVJM8f9krEUBuoBF", + "8dTDv7D2ZM4Q2buC70NbfaNWUX0yFvKI0IuTqk8RBfGTRQ4fZAbhMPaykEpBu6dNjTi5YOa0lNqF", + "GS7Ax7leCh5x9lV8elcLkXs8ySo8AOQJk0hgIw==", + " ", + " ", + " ", + " ", + " ", + " urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", + " urn:mace:shibboleth:1.0:nameIdentifier", + " urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", + " urn:oasis:names:tc:SAML:2.0:nameid-format:transient", + " urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", + " ", + " ", + " ", + " ", + "", + "", + "" + ] + }, + "remote": { + "aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw": { + "_id": "aHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzExZmZhOWMtNTk3Mi00NzEzLWFjZTMtNjg4Yzk3MzI2MTRhLw", + "entityId": "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/", + "identityProvider": { + "assertionContent": { + "basicAuthentication": {}, + "nameIdFormat": {}, + "signingAndEncryption": { + "encryption": {}, + "requestResponseSigning": {}, + "secretIdAndAlgorithms": {} + } + }, + "services": { + "serviceAttributes": { + "singleLogoutService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "location": "https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/saml2" + } + ], + "singleSignOnService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", + "location": "https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/saml2" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://login.microsoftonline.com/711ffa9c-5972-4713-ace3-688c9732614a/saml2" + } + ] + } + } + } + }, + "dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l": { + "_id": "dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l", + "entityId": "urn:federation:MicrosoftOnline", + "serviceProvider": { + "advanced": { + "idpProxy": {}, + "saeConfiguration": {} + }, + "assertionContent": { + "basicAuthentication": {}, + "nameIdFormat": { + "nameIdFormatList": [ + "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", + "urn:mace:shibboleth:1.0:nameIdentifier", + "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", + "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", + "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" + ] + }, + "signingAndEncryption": { + "encryption": {}, + "requestResponseSigning": { + "assertion": true + }, + "secretIdAndAlgorithms": {} + } + }, + "assertionProcessing": { + "attributeMapper": { + "attributeMap": [ + { + "binary": false, + "localAttribute": "mail", + "samlAttribute": "IDPEmail" + }, + { + "binary": false, + "localAttribute": "UOPClassID", + "samlAttribute": "UOPClassID" + } + ] + }, + "responseArtifactMessageEncoding": { + "encoding": "URI" + } + }, + "services": { + "serviceAttributes": { + "assertionConsumerService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "index": 0, + "isDefault": true, + "location": "https://login.microsoftonline.com/login.srf" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign", + "index": 1, + "isDefault": false, + "location": "https://login.microsoftonline.com/login.srf" + }, + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:PAOS", + "index": 2, + "isDefault": false, + "location": "https://login.microsoftonline.com/login.srf" + } + ], + "singleLogoutService": [ + { + "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", + "location": "https://login.microsoftonline.com/login.srf" + } + ] + } + } + } + } + } + }, + "script": {} +} \ No newline at end of file diff --git a/src/test/snapshots/ops/CirclesOfTrustOps.test.js.snap b/src/test/snapshots/ops/CirclesOfTrustOps.test.js.snap new file mode 100644 index 000000000..a2000c8a3 --- /dev/null +++ b/src/test/snapshots/ops/CirclesOfTrustOps.test.js.snap @@ -0,0 +1,481 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CirclesOfTrustOps createCircleOfTrust() 1: Create circle of trust 'AzureCOT' 1`] = ` +{ + "_id": "AzureCOT", + "_rev": "-954827061", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "SPAzure|saml2", + "https://idc.scheuber.io/am/saml2/IDPAzure|saml2", + ], +} +`; + +exports[`CirclesOfTrustOps createCirclesOfTrustExportTemplate() 1: Create circles of trust export template 1`] = ` +{ + "meta": Any, + "saml": { + "cot": {}, + "hosted": {}, + "metadata": {}, + "remote": {}, + }, + "script": {}, +} +`; + +exports[`CirclesOfTrustOps deleteCircleOfTrust() 1: Delete circle of trust 'FR_COT' 1`] = ` +{ + "_id": "FR_COT", + "_rev": "1191818231", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "sales-IDP|saml2", + "engineering-IDP|saml2", + "company-IDP|saml2", + "benefits-IDP|saml2", + ], +} +`; + +exports[`CirclesOfTrustOps deleteCirclesOfTrust() 1: Delete all circles of trust 1`] = ` +[ + { + "_id": "2f04818d-561e-4f8a-82e8-af2426112138", + "_rev": "-222749816", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "benefits-IDP|saml2", + "iSPAzure|saml2", + ], + }, + { + "_id": "AzureCOT", + "_rev": "36617749", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + ], + }, + { + "_id": "FR_COT", + "_rev": "1191818231", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "sales-IDP|saml2", + "engineering-IDP|saml2", + "company-IDP|saml2", + "benefits-IDP|saml2", + ], + }, +] +`; + +exports[`CirclesOfTrustOps deleteCirclesOfTrust() 2: Delete circles of trust (filtered by entity providers) 1`] = ` +[ + { + "_id": "AzureCOT", + "_rev": "36617749", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + ], + }, +] +`; + +exports[`CirclesOfTrustOps exportCircleOfTrust() 1: Export circle of trust 'FR_COT' 1`] = ` +{ + "meta": Any, + "saml": { + "cot": { + "FR_COT": { + "_id": "FR_COT", + "_rev": "1191818231", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "sales-IDP|saml2", + "engineering-IDP|saml2", + "company-IDP|saml2", + "benefits-IDP|saml2", + ], + }, + }, + "hosted": {}, + "metadata": {}, + "remote": {}, + }, + "script": {}, +} +`; + +exports[`CirclesOfTrustOps exportCirclesOfTrust() 1: Export all circles of trust 1`] = ` +{ + "meta": Any, + "saml": { + "cot": { + "2f04818d-561e-4f8a-82e8-af2426112138": { + "_id": "2f04818d-561e-4f8a-82e8-af2426112138", + "_rev": "-222749816", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "benefits-IDP|saml2", + "iSPAzure|saml2", + ], + }, + "AzureCOT": { + "_id": "AzureCOT", + "_rev": "-954827061", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "SPAzure|saml2", + "https://idc.scheuber.io/am/saml2/IDPAzure|saml2", + ], + }, + "FR_COT": { + "_id": "FR_COT", + "_rev": "1191818231", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "sales-IDP|saml2", + "engineering-IDP|saml2", + "company-IDP|saml2", + "benefits-IDP|saml2", + ], + }, + }, + "hosted": {}, + "metadata": {}, + "remote": {}, + }, + "script": {}, +} +`; + +exports[`CirclesOfTrustOps exportCirclesOfTrust() 2: Export circles of trust (filtered by entity providers) 1`] = ` +{ + "meta": Any, + "saml": { + "cot": { + "AzureCOT": { + "_id": "AzureCOT", + "_rev": "-954827061", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "SPAzure|saml2", + "https://idc.scheuber.io/am/saml2/IDPAzure|saml2", + ], + }, + }, + "hosted": {}, + "metadata": {}, + "remote": {}, + }, + "script": {}, +} +`; + +exports[`CirclesOfTrustOps importCircleOfTrust() 1: Import circle of trust 'AzureCOT' 1`] = ` +{ + "_id": "AzureCOT", + "_rev": "36617749", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + ], +} +`; + +exports[`CirclesOfTrustOps importCircleOfTrust() 1: Import new circle of trust 1`] = ` +{ + "_id": "FR_COT", + "_rev": "1191818231", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "sales-IDP|saml2", + "engineering-IDP|saml2", + "company-IDP|saml2", + "benefits-IDP|saml2", + ], +} +`; + +exports[`CirclesOfTrustOps importCircleOfTrust() 2: Import existing circle of trust 1`] = `null`; + +exports[`CirclesOfTrustOps importCirclesOfTrust() 1: Import all new circles of trust 1`] = ` +[ + { + "_id": "2f04818d-561e-4f8a-82e8-af2426112138", + "_rev": "-1164170555", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [], + }, + { + "_id": "AzureCOT", + "_rev": "36617749", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + ], + }, + { + "_id": "FR_COT", + "_rev": "1191818231", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "sales-IDP|saml2", + "engineering-IDP|saml2", + "company-IDP|saml2", + "benefits-IDP|saml2", + ], + }, +] +`; + +exports[`CirclesOfTrustOps importCirclesOfTrust() 2: Import all new circles of trust (filtered by entity providers) 1`] = ` +[ + { + "_id": "AzureCOT", + "_rev": "-954827061", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "SPAzure|saml2", + "https://idc.scheuber.io/am/saml2/IDPAzure|saml2", + ], + }, +] +`; + +exports[`CirclesOfTrustOps importCirclesOfTrust() 3: Import existing and new circles of trust (filtered by entity providers) 1`] = `[]`; + +exports[`CirclesOfTrustOps importFirstCircleOfTrust() 1: Import new circle of trust 1`] = ` +{ + "_id": "2f04818d-561e-4f8a-82e8-af2426112138", + "_rev": "-1164170555", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [], +} +`; + +exports[`CirclesOfTrustOps importFirstCircleOfTrust() 2: Import existing circle of trust 1`] = `null`; + +exports[`CirclesOfTrustOps readCircleOfTrust() 1: Read circle of trust 'FR_COT' 1`] = ` +{ + "_id": "FR_COT", + "_rev": "1191818231", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "sales-IDP|saml2", + "engineering-IDP|saml2", + "company-IDP|saml2", + "benefits-IDP|saml2", + ], +} +`; + +exports[`CirclesOfTrustOps readCirclesOfTrust() 1: Read all circles of trust 1`] = ` +[ + { + "_id": "2f04818d-561e-4f8a-82e8-af2426112138", + "_rev": "-222749816", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "benefits-IDP|saml2", + "iSPAzure|saml2", + ], + }, + { + "_id": "AzureCOT", + "_rev": "-954827061", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "SPAzure|saml2", + "https://idc.scheuber.io/am/saml2/IDPAzure|saml2", + ], + }, + { + "_id": "FR_COT", + "_rev": "1191818231", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "sales-IDP|saml2", + "engineering-IDP|saml2", + "company-IDP|saml2", + "benefits-IDP|saml2", + ], + }, +] +`; + +exports[`CirclesOfTrustOps readCirclesOfTrust() 2: Read circles of trust (filtered by entity providers) 1`] = ` +[ + { + "_id": "AzureCOT", + "_rev": "-954827061", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "iSPAzure|saml2", + "urn:federation:MicrosoftOnline|saml2", + "https://sts.windows.net/711ffa9c-5972-4713-ace3-688c9732614a/|saml2", + "SPAzure|saml2", + "https://idc.scheuber.io/am/saml2/IDPAzure|saml2", + ], + }, +] +`; + +exports[`CirclesOfTrustOps updateCircleOfTrust() 1: Update circle of trust '2f04818d-561e-4f8a-82e8-af2426112138' 1`] = ` +{ + "_id": "2f04818d-561e-4f8a-82e8-af2426112138", + "_rev": "-222749816", + "_type": { + "_id": "circlesoftrust", + "collection": true, + "name": "Circle of Trust", + }, + "status": "active", + "trustedProviders": [ + "benefits-IDP|saml2", + "iSPAzure|saml2", + ], +} +`;