diff --git a/src/app.ts b/src/app.ts index 9b80e6a4e..c61555d38 100755 --- a/src/app.ts +++ b/src/app.ts @@ -23,6 +23,7 @@ import realm from './cli/realm/realm'; import role from './cli/role/role'; import saml from './cli/saml/saml'; import script from './cli/script/script'; +import secretstore from './cli/secretstore/secretstore'; import server from './cli/server/server'; import service from './cli/service/service'; import shell from './cli/shell/shell'; @@ -79,6 +80,7 @@ const { initTokenCache } = frodo.cache; program.addCommand(role()); program.addCommand(saml()); program.addCommand(script()); + program.addCommand(secretstore()); program.addCommand(server()); program.addCommand(service()); program.addCommand(shell()); diff --git a/src/cli/secretstore/secretstore-delete.ts b/src/cli/secretstore/secretstore-delete.ts new file mode 100644 index 000000000..f3b90b7c1 --- /dev/null +++ b/src/cli/secretstore/secretstore-delete.ts @@ -0,0 +1,98 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { + deleteSecretStore, + deleteSecretStores, +} from '../../ops/SecretStoreOps'; +import { printMessage, verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore delete', + [], + deploymentTypes + ); + + program + .description('Delete secret stores.') + .addOption( + new Option( + '-i, --secretstore-id ', + 'Secret store id. If specified, -a and -A are ignored.' + ) + ) + .addOption( + new Option( + '-t, --secretstore-type ', + 'Secret store type id of the secret store. Only necessary if there are multiple secret stores with the same secret store id. Ignored if -i is not specified.' + ) + ) + .addOption( + new Option( + '-g, --global', + 'Delete global secret stores. For classic deployments only.' + ) + ) + .addOption( + new Option('-a, --all', 'Delete all secret stores. Ignored with -i.') + ) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + options.secretstoreId && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage(`Deleting secret store ${options.secretstoreId}...`); + const outcome = await deleteSecretStore( + options.secretstoreId, + options.secretstoreType, + options.global + ); + if (!outcome) process.exitCode = 1; + } else if ( + options.all && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Deleting all${options.global ? ' global' : ''} secret stores...` + ); + const outcome = await deleteSecretStores(options.global); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.outputHelp(); + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + return program; +} diff --git a/src/cli/secretstore/secretstore-describe.ts b/src/cli/secretstore/secretstore-describe.ts new file mode 100644 index 000000000..53fb05db8 --- /dev/null +++ b/src/cli/secretstore/secretstore-describe.ts @@ -0,0 +1,76 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { describeSecretStore } from '../../ops/SecretStoreOps'; +import { printMessage, verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore describe', + [], + deploymentTypes + ); + + program + .description('Describe secret stores.') + .addOption( + new Option('-i, --secretstore-id ', 'Secret store id.') + ) + .addOption( + new Option( + '-t, --secretstore-type ', + 'Secret store type id of the secret store. Only necessary if there are multiple secret stores with the same secret store id. Ignored if -i is not specified.' + ) + ) + .addOption( + new Option( + '-g, --global', + 'Describe global secret stores. For classic deployments only.' + ) + ) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + options.secretstoreId && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage(`Describing secret store ${options.secretstoreId}`); + const outcome = await describeSecretStore( + options.secretstoreId, + options.secretstoreType, + options.global + ); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.outputHelp(); + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + return program; +} diff --git a/src/cli/secretstore/secretstore-export.ts b/src/cli/secretstore/secretstore-export.ts new file mode 100644 index 000000000..0b17db268 --- /dev/null +++ b/src/cli/secretstore/secretstore-export.ts @@ -0,0 +1,141 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { + exportSecretStoresToFile, + exportSecretStoresToFiles, + exportSecretStoreToFile, +} from '../../ops/SecretStoreOps'; +import { printMessage, verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore export', + [], + deploymentTypes + ); + + program + .description('Export secret stores.') + .addOption( + new Option( + '-i, --secretstore-id ', + 'Secret store id. If specified, -a and -A are ignored.' + ) + ) + .addOption( + new Option( + '-t, --secretstore-type ', + 'Secret store type id of the secret store. Only necessary if there are multiple secret stores with the same secret store id. Ignored if -i is not specified.' + ) + ) + .addOption(new Option('-f, --file ', 'Name of the export file.')) + .addOption( + new Option( + '-g, --global', + 'Export global secret stores. For classic deployments only.' + ) + ) + .addOption( + new Option( + '-a, --all', + 'Export all secret stores to a single file. Ignored with -i.' + ) + ) + .addOption( + new Option( + '-A, --all-separate', + 'Export all secret stores to separate files (*.secretstore.json) in the current directory. Ignored with -i or -a.' + ) + ) + .addOption( + new Option( + '-N, --no-metadata', + 'Does not include metadata in the export file.' + ) + ) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + options.secretstoreId && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage(`Exporting secret store ${options.secretstoreId}...`); + const outcome = await exportSecretStoreToFile( + options.secretstoreId, + options.secretstoreType, + options.file, + options.global, + options.metadata + ); + if (!outcome) process.exitCode = 1; + } + // --all -a + else if ( + options.all && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Exporting all${options.global ? ' global' : ''} secret stores to a single file...` + ); + const outcome = await exportSecretStoresToFile( + options.file, + options.global, + options.metadata + ); + if (!outcome) process.exitCode = 1; + } + // --all-separate -A + else if ( + options.allSeparate && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Exporting all${options.global ? ' global' : ''} secret stores to separate files...` + ); + const outcome = await exportSecretStoresToFiles( + options.global, + options.metadata + ); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.outputHelp(); + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + return program; +} diff --git a/src/cli/secretstore/secretstore-import.ts b/src/cli/secretstore/secretstore-import.ts new file mode 100644 index 000000000..1b82a1785 --- /dev/null +++ b/src/cli/secretstore/secretstore-import.ts @@ -0,0 +1,149 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { + importFirstSecretStoreFromFile, + importSecretStoreFromFile, + importSecretStoresFromFile, + importSecretStoresFromFiles, +} from '../../ops/SecretStoreOps'; +import { printMessage, verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore import', + [], + deploymentTypes + ); + + program + .description('Import secret stores.') + .addOption( + new Option( + '-i, --secretstore-id ', + 'Secret store id. If specified, only one secret store is imported and the options -a and -A are ignored.' + ) + ) + .addOption( + new Option( + '-t, --secretstore-type ', + 'Secret store type id of the secret store. Only necessary if there are multiple secret stores with the same secret store id. Ignored if -i is not specified.' + ) + ) + .addOption(new Option('-f, --file ', 'Name of the file to import.')) + .addOption( + new Option( + '-g, --global', + 'Import global secret stores. For classic deployments only.' + ) + ) + .addOption( + new Option( + '-a, --all', + 'Import all secret stores from single file. Ignored with -i.' + ) + ) + .addOption( + new Option( + '-A, --all-separate', + 'Import all secret stores from separate files (*.secretstore.json) in the current directory. Ignored with -i or -a.' + ) + ) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + options.secretstoreId && + options.file && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage(`Importing secret store ${options.secretstoreId}...`); + const outcome = await importSecretStoreFromFile( + options.secretstoreId, + options.secretstoreType, + options.file, + options.global + ); + if (!outcome) process.exitCode = 1; + } + // --all -a + else if ( + options.all && + options.file && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Importing all${options.global ? ' global' : ''} secret stores from a single file (${options.file})...` + ); + const outcome = await importSecretStoresFromFile( + options.file, + options.global + ); + if (!outcome) process.exitCode = 1; + } + // --all-separate -A + else if ( + options.allSeparate && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Importing all${options.global ? ' global' : ''} secret stores from separate files...` + ); + const outcome = await importSecretStoresFromFiles(options.global); + if (!outcome) process.exitCode = 1; + } + // import first secret store from file + else if ( + options.file && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage('Importing first secret store in file...'); + const outcome = await importFirstSecretStoreFromFile( + options.file, + options.global + ); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.outputHelp(); + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + return program; +} diff --git a/src/cli/secretstore/secretstore-list.ts b/src/cli/secretstore/secretstore-list.ts new file mode 100644 index 000000000..31f4577e9 --- /dev/null +++ b/src/cli/secretstore/secretstore-list.ts @@ -0,0 +1,62 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { listSecretStores } from '../../ops/SecretStoreOps'; +import { verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore list', + [], + deploymentTypes + ); + + program + .description('List secret stores.') + .addOption( + new Option('-l, --long', 'Long with all fields.').default(false, 'false') + ) + .addOption( + new Option( + '-g, --global', + 'List global secret stores. For classic deployments only.' + ) + ) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + ) + ) { + verboseMessage( + `Listing all${options.global ? ' global' : ''} secret stores` + ); + const outcome = await listSecretStores(options.long, options.global); + if (!outcome) process.exitCode = 1; + } else { + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + return program; +} diff --git a/src/cli/secretstore/secretstore-mapping-alias-activate.ts b/src/cli/secretstore/secretstore-mapping-alias-activate.ts new file mode 100644 index 000000000..121b31d1b --- /dev/null +++ b/src/cli/secretstore/secretstore-mapping-alias-activate.ts @@ -0,0 +1,100 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { activateSecretStoreMappingAlias } from '../../ops/SecretStoreOps'; +import { printMessage, verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +const { canSecretStoreHaveMappings } = frodo.secretStore; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore mapping alias activate', + [], + deploymentTypes + ); + + program + .description('Activate secret store mapping alias.') + .addOption( + new Option( + '-i, --secretstore-id ', + 'Secret store id of the secret store where the mapping belongs.' + ) + ) + .addOption( + new Option( + '-t, --secretstore-type ', + 'Secret store type id. Only necessary if there are multiple secret stores with the same secret store id.' + ) + ) + .addOption( + new Option('-s, --secret-id ', 'Secret label of the mapping.') + ) + .addOption(new Option('-a, --alias ', 'The alias to activate.')) + .addOption( + new Option( + '-g, --global', + 'Activate aliases from global secret stores. For classic deployments only.' + ) + ) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + options.secretstoreType && + !canSecretStoreHaveMappings(options.secretstoreType) + ) { + printMessage( + `'${options.secretstoreType}' does not have mappings.`, + 'error' + ); + process.exitCode = 1; + } else if ( + options.secretstoreId && + options.secretId && + options.alias && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Activating the mapping alias ${options.alias} in the mapping ${options.secretId} in the secret store ${options.secretstoreId}'` + ); + const outcome = await activateSecretStoreMappingAlias( + options.secretstoreId, + options.secretstoreType, + options.secretId, + options.alias, + options.global + ); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.outputHelp(); + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + return program; +} diff --git a/src/cli/secretstore/secretstore-mapping-alias-create.ts b/src/cli/secretstore/secretstore-mapping-alias-create.ts new file mode 100644 index 000000000..2a99d9f0a --- /dev/null +++ b/src/cli/secretstore/secretstore-mapping-alias-create.ts @@ -0,0 +1,107 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { createSecretStoreMappingAlias } from '../../ops/SecretStoreOps'; +import { printMessage, verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +const { canSecretStoreHaveMappings } = frodo.secretStore; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore mapping alias create', + [], + deploymentTypes + ); + + program + .description('Create secret store mapping alias.') + .addOption( + new Option( + '-i, --secretstore-id ', + 'Secret store id of the secret store where the mapping belongs.' + ) + ) + .addOption( + new Option( + '-t, --secretstore-type ', + 'Secret store type id. Only necessary if there are multiple secret stores with the same secret store id.' + ) + ) + .addOption( + new Option('-s, --secret-id ', 'Secret label of the mapping.') + ) + .addOption(new Option('-a, --alias ', 'The alias to create.')) + .addOption( + new Option( + '--activate', + 'If provided, it will activate the alias when it is added. If not provided, it will default to adding the alias to the end of the alias list.' + ) + ) + .addOption( + new Option( + '-g, --global', + 'Create aliases for global secret stores. For classic deployments only.' + ) + ) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + options.secretstoreType && + !canSecretStoreHaveMappings(options.secretstoreType) + ) { + printMessage( + `'${options.secretstoreType}' does not have mappings.`, + 'error' + ); + process.exitCode = 1; + } else if ( + options.secretstoreId && + options.secretId && + options.alias && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Creating the mapping alias ${options.alias} in the mapping ${options.secretId} in the secret store ${options.secretstoreId}'` + ); + const outcome = await createSecretStoreMappingAlias( + options.secretstoreId, + options.secretstoreType, + options.secretId, + options.alias, + options.activate, + options.global + ); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.outputHelp(); + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + return program; +} diff --git a/src/cli/secretstore/secretstore-mapping-alias-delete.ts b/src/cli/secretstore/secretstore-mapping-alias-delete.ts new file mode 100644 index 000000000..e57988d6d --- /dev/null +++ b/src/cli/secretstore/secretstore-mapping-alias-delete.ts @@ -0,0 +1,129 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { + deleteSecretStoreMappingAlias, + deleteSecretStoreMappingAliases, +} from '../../ops/SecretStoreOps'; +import { printMessage, verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +const { canSecretStoreHaveMappings } = frodo.secretStore; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore mapping alias delete', + [], + deploymentTypes + ); + + program + .description('Delete secret store mapping aliases.') + .addOption( + new Option( + '-i, --secretstore-id ', + 'Secret store id of the secret store where the mapping belongs.' + ) + ) + .addOption( + new Option( + '-t, --secretstore-type ', + 'Secret store type id. Only necessary if there are multiple secret stores with the same secret store id.' + ) + ) + .addOption( + new Option('-s, --secret-id ', 'Secret label of the mapping.') + ) + .addOption(new Option('-a, --alias ', 'The alias to delete.')) + .addOption( + new Option( + '--all', + 'Delete all aliases except for the active one in the mapping. Ignored with -a.' + ) + ) + .addOption( + new Option( + '-g, --global', + 'Delete aliases for global secret stores. For classic deployments only.' + ) + ) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + options.secretstoreType && + !canSecretStoreHaveMappings(options.secretstoreType) + ) { + printMessage( + `'${options.secretstoreType}' does not have mappings.`, + 'error' + ); + process.exitCode = 1; + } else if ( + options.secretstoreId && + options.secretId && + options.alias && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Deleting alias ${options.alias} from secret store mapping ${options.secretId} from secret store ${options.secretstoreId}...` + ); + const outcome = await deleteSecretStoreMappingAlias( + options.secretstoreId, + options.secretstoreType, + options.secretId, + options.alias, + options.global + ); + if (!outcome) process.exitCode = 1; + } else if ( + options.secretstoreId && + options.secretId && + options.all && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Deleting all aliases except active one from secret store mapping ${options.secretId} from secret store ${options.secretstoreId}...` + ); + const outcome = await deleteSecretStoreMappingAliases( + options.secretstoreId, + options.secretstoreType, + options.secretId, + options.global + ); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.outputHelp(); + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + return program; +} diff --git a/src/cli/secretstore/secretstore-mapping-alias-list.ts b/src/cli/secretstore/secretstore-mapping-alias-list.ts new file mode 100644 index 000000000..f7047eaee --- /dev/null +++ b/src/cli/secretstore/secretstore-mapping-alias-list.ts @@ -0,0 +1,104 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { listSecretStoreMappingAliases } from '../../ops/SecretStoreOps'; +import { printMessage, verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +const { canSecretStoreHaveMappings } = frodo.secretStore; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore mapping alias list', + [], + deploymentTypes + ); + + program + .description('List secret store mapping aliases.') + .addOption( + new Option( + '-i, --secretstore-id ', + 'Secret store id of the secret store where the mapping belongs.' + ) + ) + .addOption( + new Option( + '-t, --secretstore-type ', + 'Secret store type id. Only necessary if there are multiple secret stores with the same secret store id.' + ) + ) + .addOption( + new Option('-s, --secret-id ', 'Secret label of the mapping.') + ) + .addOption( + new Option('-l, --long', 'Long with active statuses').default( + false, + 'false' + ) + ) + .addOption( + new Option( + '-g, --global', + 'List aliases for global secret stores. For classic deployments only.' + ) + ) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + options.secretstoreType && + !canSecretStoreHaveMappings(options.secretstoreType) + ) { + printMessage( + `'${options.secretstoreType}' does not have mappings.`, + 'error' + ); + process.exitCode = 1; + } else if ( + options.secretstoreId && + options.secretId && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Listing all secret store mappings for the secret store '${options.secretstoreId}'` + ); + const outcome = await listSecretStoreMappingAliases( + options.secretstoreId, + options.secretstoreType, + options.secretId, + options.long, + options.global + ); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.outputHelp(); + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + return program; +} diff --git a/src/cli/secretstore/secretstore-mapping-alias.ts b/src/cli/secretstore/secretstore-mapping-alias.ts new file mode 100644 index 000000000..edd13dd9e --- /dev/null +++ b/src/cli/secretstore/secretstore-mapping-alias.ts @@ -0,0 +1,21 @@ +import { FrodoStubCommand } from '../FrodoCommand'; +import ActivateCmd from './secretstore-mapping-alias-activate'; +import CreateCmd from './secretstore-mapping-alias-create'; +import DeleteCmd from './secretstore-mapping-alias-delete'; +import ListCmd from './secretstore-mapping-alias-list'; + +export default function setup() { + const program = new FrodoStubCommand('frodo secretstore mapping alias'); + + program.description('Manage secret store mapping aliases.'); + + program.addCommand(ListCmd().name('list')); + + program.addCommand(CreateCmd().name('create')); + + program.addCommand(DeleteCmd().name('delete')); + + program.addCommand(ActivateCmd().name('activate')); + + return program; +} diff --git a/src/cli/secretstore/secretstore-mapping-create.ts b/src/cli/secretstore/secretstore-mapping-create.ts new file mode 100644 index 000000000..6fc007e1d --- /dev/null +++ b/src/cli/secretstore/secretstore-mapping-create.ts @@ -0,0 +1,109 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { createSecretStoreMapping } from '../../ops/SecretStoreOps'; +import { printMessage, verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +const { canSecretStoreHaveMappings } = frodo.secretStore; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore mapping create', + [], + deploymentTypes + ); + + program + .description('Create secret store mappings.') + .addOption( + new Option( + '-i, --secretstore-id ', + 'Secret store id of the secret store where the mapping belongs.' + ) + ) + .addOption( + new Option( + '-t, --secretstore-type ', + 'Secret store type id. Only necessary if there are multiple secret stores with the same secret store id.' + ) + ) + .addOption( + new Option( + '-s, --secret-id ', + 'Secret label of the mapping being created.' + ) + ) + .addOption( + new Option( + '-a, --aliases ', + 'Comma separated list of aliases to add. The first one will be the active one.' + ) + ) + .addOption( + new Option( + '-g, --global', + 'Create mappings in global secret stores. For classic deployments only.' + ) + ) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + options.secretstoreType && + !canSecretStoreHaveMappings(options.secretstoreType) + ) { + printMessage( + `'${options.secretstoreType}' does not have mappings.`, + 'error' + ); + process.exitCode = 1; + } else if ( + options.secretstoreId && + options.secretId && + options.aliases && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Creating the mapping ${options.secretId} in the secret store ${options.secretstoreId}'` + ); + const outcome = await createSecretStoreMapping( + options.secretstoreId, + options.secretstoreType, + options.secretId, + options.aliases, + options.global + ); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.outputHelp(); + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + + return program; +} diff --git a/src/cli/secretstore/secretstore-mapping-delete.ts b/src/cli/secretstore/secretstore-mapping-delete.ts new file mode 100644 index 000000000..b223e7d3a --- /dev/null +++ b/src/cli/secretstore/secretstore-mapping-delete.ts @@ -0,0 +1,122 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { + deleteSecretStoreMapping, + deleteSecretStoreMappings, +} from '../../ops/SecretStoreOps'; +import { printMessage, verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +const { canSecretStoreHaveMappings } = frodo.secretStore; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore mapping delete', + [], + deploymentTypes + ); + + program + .description('Delete secret store mappings.') + .addOption( + new Option( + '-i, --secretstore-id ', + 'Secret store id of the secret store where the mappings belong.' + ) + ) + .addOption( + new Option( + '-t, --secretstore-type ', + 'Secret store type id. Only necessary if there are multiple secret stores with the same secret store id.' + ) + ) + .addOption( + new Option( + '-s, --secret-id ', + 'Secret label of the mapping being deleted.' + ) + ) + .addOption( + new Option( + '-g, --global', + 'Delete mappings from global secret stores. For classic deployments only.' + ) + ) + .addOption(new Option('-a, --all', 'Delete all mappings. Ignored with -s.')) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + options.secretstoreType && + !canSecretStoreHaveMappings(options.secretstoreType) + ) { + printMessage( + `'${options.secretstoreType}' does not have mappings.`, + 'error' + ); + process.exitCode = 1; + } else if ( + options.secretstoreId && + options.secretId && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Deleting secret store mapping ${options.secretId} from secret store ${options.secretstoreId}...` + ); + const outcome = await deleteSecretStoreMapping( + options.secretstoreId, + options.secretstoreType, + options.secretId, + options.global + ); + if (!outcome) process.exitCode = 1; + } else if ( + options.secretstoreId && + options.all && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Deleting secret store mappings from secret store ${options.secretstoreId}...` + ); + const outcome = await deleteSecretStoreMappings( + options.secretstoreId, + options.secretstoreType, + options.global + ); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.outputHelp(); + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + return program; +} diff --git a/src/cli/secretstore/secretstore-mapping-list.ts b/src/cli/secretstore/secretstore-mapping-list.ts new file mode 100644 index 000000000..5b3f60b5c --- /dev/null +++ b/src/cli/secretstore/secretstore-mapping-list.ts @@ -0,0 +1,96 @@ +import { frodo } from '@rockcarver/frodo-lib'; +import { Option } from 'commander'; + +import { getTokens } from '../../ops/AuthenticateOps'; +import { listSecretStoreMappings } from '../../ops/SecretStoreOps'; +import { printMessage, verboseMessage } from '../../utils/Console'; +import { FrodoCommand } from '../FrodoCommand'; + +const { DEPLOYMENT_TYPES, CLASSIC_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants; + +const deploymentTypes = DEPLOYMENT_TYPES; +const globalDeploymentTypes = [CLASSIC_DEPLOYMENT_TYPE_KEY]; + +const { canSecretStoreHaveMappings } = frodo.secretStore; + +export default function setup() { + const program = new FrodoCommand( + 'frodo secretstore mapping list', + [], + deploymentTypes + ); + + program + .description('List secret store mappings.') + .addOption( + new Option( + '-i, --secretstore-id ', + 'Secret store id of the secret store where the mappings belong.' + ) + ) + .addOption( + new Option( + '-t, --secretstore-type ', + 'Secret store type id. Only necessary if there are multiple secret stores with the same secret store id.' + ) + ) + .addOption( + new Option('-l, --long', 'Long with all fields.').default(false, 'false') + ) + .addOption( + new Option( + '-g, --global', + 'List mappings from global secret stores. For classic deployments only.' + ) + ) + .action( + // implement command logic inside action handler + async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + if ( + options.secretstoreType && + !canSecretStoreHaveMappings(options.secretstoreType) + ) { + printMessage( + `'${options.secretstoreType}' does not have mappings.`, + 'error' + ); + process.exitCode = 1; + } else if ( + options.secretstoreId && + (await getTokens( + false, + true, + options.global ? globalDeploymentTypes : deploymentTypes + )) + ) { + verboseMessage( + `Listing all secret store mappings for the secret store '${options.secretstoreId}'` + ); + const outcome = await listSecretStoreMappings( + options.secretstoreId, + options.secretstoreType, + options.long, + options.global + ); + if (!outcome) process.exitCode = 1; + } else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.outputHelp(); + process.exitCode = 1; + } + } + // end command logic inside action handler + ); + return program; +} diff --git a/src/cli/secretstore/secretstore-mapping.ts b/src/cli/secretstore/secretstore-mapping.ts new file mode 100644 index 000000000..1d5c846a1 --- /dev/null +++ b/src/cli/secretstore/secretstore-mapping.ts @@ -0,0 +1,21 @@ +import { FrodoStubCommand } from '../FrodoCommand'; +import AliasCmd from './secretstore-mapping-alias'; +import CreateCmd from './secretstore-mapping-create'; +import DeleteCmd from './secretstore-mapping-delete'; +import ListCmd from './secretstore-mapping-list'; + +export default function setup() { + const program = new FrodoStubCommand('frodo secretstore mapping'); + + program.description('Manage secret store mappings.'); + + program.addCommand(ListCmd().name('list')); + + program.addCommand(CreateCmd().name('create')); + + program.addCommand(DeleteCmd().name('delete')); + + program.addCommand(AliasCmd().name('alias')); + + return program; +} diff --git a/src/cli/secretstore/secretstore.ts b/src/cli/secretstore/secretstore.ts new file mode 100644 index 000000000..ecfab74a8 --- /dev/null +++ b/src/cli/secretstore/secretstore.ts @@ -0,0 +1,27 @@ +import { FrodoStubCommand } from '../FrodoCommand'; +import DeleteCmd from './secretstore-delete'; +import DescribeCmd from './secretstore-describe'; +import ExportCmd from './secretstore-export'; +import ImportCmd from './secretstore-import'; +import ListCmd from './secretstore-list'; +import MappingCmd from './secretstore-mapping'; + +export default function setup() { + const program = new FrodoStubCommand('secretstore').description( + 'Manage secret stores.' + ); + + program.addCommand(ListCmd().name('list')); + + program.addCommand(DescribeCmd().name('describe')); + + program.addCommand(ExportCmd().name('export')); + + program.addCommand(ImportCmd().name('import')); + + program.addCommand(DeleteCmd().name('delete')); + + program.addCommand(MappingCmd().name('mapping')); + + return program; +} diff --git a/src/ops/SecretStoreOps.ts b/src/ops/SecretStoreOps.ts new file mode 100644 index 000000000..1cf6ea6ca --- /dev/null +++ b/src/ops/SecretStoreOps.ts @@ -0,0 +1,893 @@ +import { frodo, FrodoError, state } from '@rockcarver/frodo-lib'; +import { SecretStoreMappingSkeleton } from '@rockcarver/frodo-lib/types/api/SecretStoreApi'; +import fs from 'fs'; + +import { + createKeyValueTable, + createProgressIndicator, + createTable, + debugMessage, + printError, + printMessage, + stopProgressIndicator, + updateProgressIndicator, +} from '../utils/Console'; +import { errorHandler } from './utils/OpsUtils'; + +const { + readSecretStore, + readSecretStores, + exportSecretStore, + exportSecretStores, + importSecretStores, + readSecretStoreSchema, + readSecretStoreMappings, + readSecretStoreMapping, + canSecretStoreHaveMappings, + updateSecretStoreMapping, +} = frodo.secretStore; + +const { + getTypedFilename, + getFilePath, + saveJsonToFile, + saveToFile, + getWorkingDirectory, + getRealmName, + titleCase, +} = frodo.utils; + +/** + * List secret stores + * @param {boolean} [long=false] detailed list + * @param {boolean} global true to list global secret stores, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function listSecretStores( + long: boolean = false, + global: boolean = false +): Promise { + try { + const stores = await readSecretStores(global); + if (long) { + const table = createTable(['Id', 'Type', 'Mappings']); + for (const store of stores) { + let mappings; + if (canSecretStoreHaveMappings(store._type._id)) { + mappings = await readSecretStoreMappings( + store._id, + store._type._id, + global + ); + } + table.push([ + store._id, + store._type.name, + mappings + ? mappings.map((m) => m.secretId).join('\n') + : 'N/A'['brightRed'], + ]); + } + printMessage(table.toString(), 'data'); + } else { + stores.forEach((s) => printMessage(`${s._id}`, 'data')); + } + return true; + } catch (error) { + printError(error, `Error listing secret stores`); + } + return false; +} + +/** + * List secret store mappings + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {boolean} [long=false] detailed list including aliases + * @param {boolean} global true to list from global secret stores, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function listSecretStoreMappings( + secretStoreId: string, + secretStoreTypeId?: string, + long: boolean = false, + global: boolean = false +): Promise { + try { + const mappings = await readSecretStoreMappings( + secretStoreId, + secretStoreTypeId, + global + ); + if (long) { + printMappingsTable(mappings); + } else { + mappings.forEach((m) => printMessage(`${m.secretId}`, 'data')); + } + return true; + } catch (error) { + printError(error, `Error listing secret store mappings`); + } + return false; +} + +/** + * List secret store mapping aliases + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {string} secretId the secret store mapping label + * @param {boolean} [long=false] detailed list with which aliases are active + * @param {boolean} global true to list from global secret stores, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function listSecretStoreMappingAliases( + secretStoreId: string, + secretStoreTypeId: string | undefined, + secretId: string, + long: boolean = false, + global: boolean = false +): Promise { + try { + const mapping = await readSecretStoreMapping( + secretStoreId, + secretStoreTypeId, + secretId, + global + ); + if (long) { + const table = createTable(['Alias', 'Active']); + let active = true; + for (const alias of mapping.aliases) { + table.push([ + alias, + // The first one is always active + active && !(active = false) + ? 'true'['brightGreen'] + : 'false'['brightRed'], + ]); + } + printMessage(table.toString(), 'data'); + } else { + mapping.aliases.forEach((a) => printMessage(a, 'data')); + } + return true; + } catch (error) { + printError(error, `Error listing mapping aliases`); + } + return false; +} + +/** + * Describe secret store + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {boolean} global true if global secret store, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function describeSecretStore( + secretStoreId: string, + secretStoreTypeId: string | undefined, + global: boolean = false +) { + try { + const secretStore = await readSecretStore( + secretStoreId, + secretStoreTypeId, + global + ); + secretStoreId = secretStore._id || secretStoreId; + secretStoreTypeId = secretStore._type._id || secretStoreTypeId; + const schema = await readSecretStoreSchema(secretStoreTypeId, global); + const table = createKeyValueTable(); + table.push(['Id'['brightCyan'], secretStoreId]); + table.push(['Type'['brightCyan'], secretStoreTypeId]); + for (const [key, info] of Object.entries(schema.properties).sort( + // This sorts the properties in ascending order (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#parameters) + (p1, p2) => p1[1].propertyOrder - p2[1].propertyOrder + )) { + table.push([`${info.title}`['brightCyan'], secretStore[key]]); + } + printMessage(table.toString(), 'data'); + if (!canSecretStoreHaveMappings(secretStoreTypeId)) return true; + const mappings = await readSecretStoreMappings( + secretStoreId, + secretStoreTypeId, + global + ); + printMessage(`\nMappings (${mappings.length}):\n`, 'data'); + printMappingsTable(mappings); + return true; + } catch (error) { + printError(error); + } + return false; +} + +/** + * Create secret store mapping + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {string} secretId the secret store mapping label + * @param {string} aliases comma separated list of aliases + * @param {boolean} global true to create as part of a global secret store, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function createSecretStoreMapping( + secretStoreId: string, + secretStoreTypeId: string | undefined, + secretId: string, + aliases: string, + global: boolean = false +) { + const spinnerId = createProgressIndicator( + 'indeterminate', + undefined, + `Creating the mapping ${secretId} in the secret store ${secretStoreId}...` + ); + try { + const mapping: SecretStoreMappingSkeleton = { + _id: secretId, + secretId, + aliases: aliases.split(','), + }; + await frodo.secretStore.createSecretStoreMapping( + secretStoreId, + secretStoreTypeId, + mapping, + global + ); + stopProgressIndicator( + spinnerId, + `Created the mapping ${secretId} in the secret store ${secretStoreId}.`, + 'success' + ); + return true; + } catch (error) { + stopProgressIndicator(spinnerId, `Error: ${error.message}`, 'fail'); + printError(error); + } + return false; +} + +/** + * Create secret store mapping alias + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {string} secretId the secret store mapping label + * @param {string} alias the alias to create + * @param {boolean} isActive true to activate the alias on create, false to make it inactive on create. Default: false + * @param {boolean} global true to create as part of a global secret store, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function createSecretStoreMappingAlias( + secretStoreId: string, + secretStoreTypeId: string | undefined, + secretId: string, + alias: string, + isActive: boolean = false, + global: boolean = false +) { + const spinnerId = createProgressIndicator( + 'indeterminate', + undefined, + `Creating the mapping alias ${alias} in the mapping ${secretId} in the secret store ${secretStoreId}...` + ); + try { + const mapping = await readSecretStoreMapping( + secretStoreId, + secretStoreTypeId, + secretId, + global + ); + if (mapping.aliases.includes(alias)) { + stopProgressIndicator( + spinnerId, + `Duplicate alias ${alias} found in the mapping ${secretId} in the secret store ${secretStoreId}.`, + 'fail' + ); + return false; + } + delete mapping._rev; + if (isActive) { + mapping.aliases.unshift(alias); + } else { + mapping.aliases.push(alias); + } + await updateSecretStoreMapping( + secretStoreId, + secretStoreTypeId, + mapping, + global + ); + stopProgressIndicator( + spinnerId, + `Created the mapping alias ${alias} in the mapping ${secretId} in the secret store ${secretStoreId}.`, + 'success' + ); + return true; + } catch (error) { + stopProgressIndicator(spinnerId, `Error: ${error.message}`, 'fail'); + printError(error); + } + return false; +} + +/** + * Activate secret store mapping alias + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {string} secretId the secret store mapping label + * @param {string} alias the alias to activate + * @param {boolean} global true to create as part of a global secret store, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function activateSecretStoreMappingAlias( + secretStoreId: string, + secretStoreTypeId: string | undefined, + secretId: string, + alias: string, + global: boolean = false +) { + const spinnerId = createProgressIndicator( + 'indeterminate', + undefined, + `Activating the mapping alias ${alias} in the mapping ${secretId} in the secret store ${secretStoreId}...` + ); + try { + const mapping = await readSecretStoreMapping( + secretStoreId, + secretStoreTypeId, + secretId, + global + ); + delete mapping._rev; + const aliasIndex = mapping.aliases.indexOf(alias); + if (aliasIndex === -1) { + stopProgressIndicator( + spinnerId, + `Could not find the alias ${alias} in the mapping ${secretId} in the secret store ${secretStoreId}`, + 'fail' + ); + return false; + } + mapping.aliases.unshift(mapping.aliases.splice(aliasIndex, 1)[0]); + await updateSecretStoreMapping( + secretStoreId, + secretStoreTypeId, + mapping, + global + ); + stopProgressIndicator( + spinnerId, + `Activated the mapping alias ${alias} in the mapping ${secretId} in the secret store ${secretStoreId}.`, + 'success' + ); + return true; + } catch (error) { + stopProgressIndicator(spinnerId, `Error: ${error.message}`, 'fail'); + printError(error); + } + return false; +} + +/** + * Export secret store to file + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {string} file file name + * @param {boolean} global true to export a global secret store, false otherwise + * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true + * @returns {Promise} true if successful, false otherwise + */ +export async function exportSecretStoreToFile( + secretStoreId: string, + secretStoreTypeId: string | undefined, + file: string, + global: boolean = false, + includeMeta: boolean = true +): Promise { + const indicatorId = createProgressIndicator( + 'determinate', + 1, + `Exporting ${secretStoreId}...` + ); + try { + const exportData = await exportSecretStore( + secretStoreId, + secretStoreTypeId, + global + ); + if (!file) { + file = getTypedFilename(secretStoreId, 'secretstore'); + } + const filePath = getFilePath(file, true); + updateProgressIndicator( + indicatorId, + `Saving ${secretStoreId} to ${filePath}...` + ); + saveJsonToFile(exportData, getFilePath(filePath, true), includeMeta); + stopProgressIndicator( + indicatorId, + `Exported secret store ${secretStoreId} to file`, + 'success' + ); + return true; + } catch (error) { + stopProgressIndicator( + indicatorId, + `Error exporting secret store ${secretStoreId} to file`, + 'fail' + ); + printError(error); + } + return false; +} + +/** + * Export all secret stores to file + * @param {string} file file name + * @param {boolean} global true to export global secret stores, false otherwise + * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true + * @returns {Promise} true if successful, false otherwise + */ +export async function exportSecretStoresToFile( + file: string, + global: boolean = false, + includeMeta: boolean = true +): Promise { + try { + const exportData = await exportSecretStores(global, errorHandler); + if (!file) { + file = getTypedFilename( + `all${global ? 'Global' : titleCase(getRealmName(state.getRealm()))}SecretStores`, + 'secretstore' + ); + } + saveJsonToFile(exportData, getFilePath(file, true), includeMeta); + return true; + } catch (error) { + printError(error, `Error exporting secret stores to file`); + } + return false; +} +/** + * Export all secret stores to separate files + * @param {boolean} global true to export global secret stores, false otherwise + * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true + * @returns {Promise} true if successful, false otherwise + */ +export async function exportSecretStoresToFiles( + global: boolean = false, + includeMeta: boolean = true +): Promise { + try { + const exportData = await exportSecretStores(global, errorHandler); + for (const store of Object.values(exportData.secretstore)) { + saveToFile( + 'secretstore', + store, + '_id', + getFilePath(getTypedFilename(store._id, 'secretstore'), true), + includeMeta + ); + } + return true; + } catch (error) { + printError(error, `Error exporting secret stores to files`); + } + return false; +} + +/** + * Import secret store from file + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {string} file file name + * @param {boolean} global true to import a global secret store, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function importSecretStoreFromFile( + secretStoreId: string, + secretStoreTypeId: string | undefined, + file: string, + global: boolean = false +): Promise { + let indicatorId: string; + try { + indicatorId = createProgressIndicator( + 'indeterminate', + 0, + 'Reading secret store...' + ); + const importData = JSON.parse(fs.readFileSync(getFilePath(file), 'utf8')); + updateProgressIndicator(indicatorId, 'Importing secret store...'); + await importSecretStores( + importData, + global, + secretStoreId, + secretStoreTypeId, + errorHandler + ); + stopProgressIndicator( + indicatorId, + `Successfully imported secret store ${secretStoreId}.`, + 'success' + ); + return true; + } catch (error) { + stopProgressIndicator( + indicatorId, + `Error importing secret store ${secretStoreId}.`, + 'fail' + ); + printError(error); + } + return false; +} + +/** + * Import secret stores from file + * @param {string} file file name + * @param {boolean} global true to import global secret stores, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function importSecretStoresFromFile( + file: string, + global: boolean = false +): Promise { + try { + debugMessage(`importSecretStoresFromFile: start`); + debugMessage(`importSecretStoresFromFile: importing ${file}`); + const importData = JSON.parse(fs.readFileSync(getFilePath(file), 'utf8')); + await importSecretStores( + importData, + global, + undefined, + undefined, + errorHandler + ); + debugMessage(`importSecretStoresFromFile: end`); + return true; + } catch (error) { + printError(error, `Error importing secret stores from file`); + } + return false; +} + +/** + * Import secret stores from separate files + * @param {boolean} global true to import global secret stores, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function importSecretStoresFromFiles( + global: boolean = false +): Promise { + const errors: Error[] = []; + try { + const names = fs.readdirSync(getWorkingDirectory()); + const roleFiles = names.filter((name) => + name.toLowerCase().endsWith('.secretstore.json') + ); + for (const file of roleFiles) { + try { + await importSecretStoresFromFile(file, global); + } catch (error) { + errors.push( + new FrodoError(`Error importing secret stores from ${file}`, error) + ); + } + } + if (errors.length > 0) { + throw new FrodoError( + `One or more errors importing secret stores`, + errors + ); + } + return true; + } catch (error) { + printError(error, `Error importing secret stores from files`); + } + return false; +} + +/** + * Import first secret store from file + * @param {string} file file name + * @param {boolean} global true to import a global secret store, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function importFirstSecretStoreFromFile( + file: string, + global: boolean = false +): Promise { + let indicatorId: string; + try { + indicatorId = createProgressIndicator( + 'indeterminate', + 0, + 'Importing first secret store...' + ); + const importData = JSON.parse(fs.readFileSync(getFilePath(file), 'utf8')); + Object.keys(importData.secretstore) + .slice(1) + .forEach((k) => delete importData[k]); + await importSecretStores( + importData, + global, + undefined, + undefined, + errorHandler + ); + stopProgressIndicator( + indicatorId, + `Imported first secret store from ${file}`, + 'success' + ); + return true; + } catch (error) { + stopProgressIndicator( + indicatorId, + `Error importing first secret store from ${file}`, + 'fail' + ); + printError(error); + } + return false; +} + +/** + * Delete secret store + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {boolean} global true to delete from global secret stores, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function deleteSecretStore( + secretStoreId: string, + secretStoreTypeId?: string, + global: boolean = false +): Promise { + const spinnerId = createProgressIndicator( + 'indeterminate', + undefined, + `Deleting ${secretStoreId}...` + ); + try { + await frodo.secretStore.deleteSecretStore( + secretStoreId, + secretStoreTypeId, + global + ); + stopProgressIndicator(spinnerId, `Deleted ${secretStoreId}.`, 'success'); + return true; + } catch (error) { + stopProgressIndicator(spinnerId, `Error: ${error.message}`, 'fail'); + printError(error); + } + return false; +} + +/** + * Delete secret stores + * @param {boolean} global true to delete from global secret stores, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function deleteSecretStores( + global: boolean = false +): Promise { + const spinnerId = createProgressIndicator( + 'indeterminate', + undefined, + `Deleting secret stores...` + ); + try { + await frodo.secretStore.deleteSecretStores(global, errorHandler); + stopProgressIndicator(spinnerId, `Deleted all secret stores.`, 'success'); + return true; + } catch (error) { + stopProgressIndicator(spinnerId, `Error: ${error.message}`, 'fail'); + printError(error); + } + return false; +} + +/** + * Delete secret store mapping + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {string} secretId the secret store mapping label + * @param {boolean} global true to delete from global secret stores, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function deleteSecretStoreMapping( + secretStoreId: string, + secretStoreTypeId: string | undefined, + secretId: string, + global: boolean = false +): Promise { + const spinnerId = createProgressIndicator( + 'indeterminate', + undefined, + `Deleting ${secretId} from secret store ${secretStoreId}...` + ); + try { + await frodo.secretStore.deleteSecretStoreMapping( + secretStoreId, + secretStoreTypeId, + secretId, + global + ); + stopProgressIndicator( + spinnerId, + `Deleted ${secretId} from secret store ${secretStoreId}.`, + 'success' + ); + return true; + } catch (error) { + stopProgressIndicator(spinnerId, `Error: ${error.message}`, 'fail'); + printError(error); + } + return false; +} + +/** + * Delete secret store mappings + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {boolean} global true to delete from global secret stores, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function deleteSecretStoreMappings( + secretStoreId: string, + secretStoreTypeId?: string, + global: boolean = false +): Promise { + const spinnerId = createProgressIndicator( + 'indeterminate', + undefined, + `Deleting secret store mappings from the secret store ${secretStoreId}...` + ); + try { + await frodo.secretStore.deleteSecretStoreMappings( + secretStoreId, + secretStoreTypeId, + global, + errorHandler + ); + stopProgressIndicator( + spinnerId, + `Deleted all mappings from the secret store ${secretStoreId}.`, + 'success' + ); + return true; + } catch (error) { + stopProgressIndicator(spinnerId, `Error: ${error.message}`, 'fail'); + printError(error); + } + return false; +} + +/** + * Delete secret store mapping alias + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {string} secretId the secret store mapping label + * @param {string} alias the alias to delete + * @param {boolean} global true to delete from global secret stores, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function deleteSecretStoreMappingAlias( + secretStoreId: string, + secretStoreTypeId: string | undefined, + secretId: string, + alias: string, + global: boolean = false +): Promise { + const spinnerId = createProgressIndicator( + 'indeterminate', + undefined, + `Deleting the alias ${alias} from the mapping ${secretId} in the secret store ${secretStoreId}...` + ); + try { + const mapping = await readSecretStoreMapping( + secretStoreId, + secretStoreTypeId, + secretId, + global + ); + delete mapping._rev; + const index = mapping.aliases.indexOf(alias); + if (index === -1) { + stopProgressIndicator( + spinnerId, + `Could not find the alias ${alias} in the mapping ${secretId} in the secret store ${secretStoreId}`, + 'fail' + ); + return false; + } + if (mapping.aliases.length === 1) { + stopProgressIndicator( + spinnerId, + `Cannot delete alias ${alias} since it is the last remaining alias in the mapping ${secretId} in the secret store ${secretStoreId}`, + 'fail' + ); + return false; + } + mapping.aliases.splice(index, 1); + await updateSecretStoreMapping( + secretStoreId, + secretStoreTypeId, + mapping, + global + ); + stopProgressIndicator( + spinnerId, + `Deleted the alias ${alias} from the mapping ${secretId} in the secret store ${secretStoreId}.`, + 'success' + ); + return true; + } catch (error) { + stopProgressIndicator(spinnerId, `Error: ${error.message}`, 'fail'); + printError(error); + } + return false; +} + +/** + * Delete secret store mapping aliases expect for the active one + * @param {string} secretStoreId the secret store id + * @param {string | undefined} secretStoreTypeId the secret store type id (optional) + * @param {string} secretId the secret store mapping label + * @param {boolean} global true to delete from global secret stores, false otherwise + * @returns {Promise} true if successful, false otherwise + */ +export async function deleteSecretStoreMappingAliases( + secretStoreId: string, + secretStoreTypeId: string | undefined, + secretId: string, + global: boolean = false +): Promise { + const spinnerId = createProgressIndicator( + 'indeterminate', + undefined, + `Deleting all aliases from the mapping ${secretId} in the secret store ${secretStoreId}...` + ); + try { + const mapping = await readSecretStoreMapping( + secretStoreId, + secretStoreTypeId, + secretId, + global + ); + delete mapping._rev; + mapping.aliases = [mapping.aliases[0]]; + await updateSecretStoreMapping( + secretStoreId, + secretStoreTypeId, + mapping, + global + ); + stopProgressIndicator( + spinnerId, + `Deleted all aliases from the mapping ${secretId} in the secret store ${secretStoreId}.`, + 'success' + ); + return true; + } catch (error) { + stopProgressIndicator(spinnerId, `Error: ${error.message}`, 'fail'); + printError(error); + } + return false; +} + +function printMappingsTable(mappings: SecretStoreMappingSkeleton[]) { + const table = createTable(['Secret Label', 'Active Alias', 'Other Aliases']); + for (const mapping of mappings) { + table.push([ + mapping.secretId, + mapping.aliases[0], + mapping.aliases.slice(1).join('\n'), + ]); + } + printMessage(table.toString(), 'data'); +} diff --git a/test/client_cli/en/__snapshots__/root.test.js.snap b/test/client_cli/en/__snapshots__/root.test.js.snap index d31f1b894..3ef51a324 100644 --- a/test/client_cli/en/__snapshots__/root.test.js.snap +++ b/test/client_cli/en/__snapshots__/root.test.js.snap @@ -29,6 +29,7 @@ Commands: role Manage internal (authorization) roles. saml Manage SAML entity providers and circles of trust. script Manage scripts. + secretstore Manage secret stores. server Manage servers. service Manage AM services. shell [options] [host] [realm] [username] [password] Launch the frodo interactive shell. diff --git a/test/client_cli/en/__snapshots__/secretstore-delete.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-delete.test.js.snap new file mode 100644 index 000000000..fea8e9979 --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-delete.test.js.snap @@ -0,0 +1,57 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore delete' should be expected english 1`] = ` +"Usage: frodo secretstore delete [options] [host] [realm] [username] [password] + +Delete secret stores. + +Arguments: + host AM base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring. + realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default: "alpha" for Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees. + password Password. + +Options: + -a, --all Delete all secret stores. Ignored with -i. + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. + --flush-cache Flush token cache. + -g, --global Delete global secret stores. For classic deployments only. + -h, --help Help + -i, --secretstore-id Secret store id. If specified, -a and -A are ignored. + --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". + -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) + --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use with your custom OAuth2 client (efault: "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. Valid values for type: + classic: A classic Access Management-only deployment with custom layout and configuration. + cloud: A ForgeRock Identity Cloud environment. + forgeops: A ForgeOps CDK or CDM deployment. + The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + --no-cache Disable token cache for this operation. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) associated with the the service account. + -t, --secretstore-type Secret store type id of the secret store. Only necessary if there are multiple secret stores with the same secret store id. Ignored if -i is not specified. + --verbose Verbose output during command execution. If specified, may or may not produce additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-describe.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-describe.test.js.snap new file mode 100644 index 000000000..a84324c09 --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-describe.test.js.snap @@ -0,0 +1,56 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore describe' should be expected english 1`] = ` +"Usage: frodo secretstore describe [options] [host] [realm] [username] [password] + +Describe secret stores. + +Arguments: + host AM base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring. + realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default: "alpha" for Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees. + password Password. + +Options: + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. + --flush-cache Flush token cache. + -g, --global Describe global secret stores. For classic deployments only. + -h, --help Help + -i, --secretstore-id Secret store id. + --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". + -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) + --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use with your custom OAuth2 client (efault: "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. Valid values for type: + classic: A classic Access Management-only deployment with custom layout and configuration. + cloud: A ForgeRock Identity Cloud environment. + forgeops: A ForgeOps CDK or CDM deployment. + The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + --no-cache Disable token cache for this operation. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) associated with the the service account. + -t, --secretstore-type Secret store type id of the secret store. Only necessary if there are multiple secret stores with the same secret store id. Ignored if -i is not specified. + --verbose Verbose output during command execution. If specified, may or may not produce additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-export.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-export.test.js.snap new file mode 100644 index 000000000..4bf92c5ce --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-export.test.js.snap @@ -0,0 +1,60 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore export' should be expected english 1`] = ` +"Usage: frodo secretstore export [options] [host] [realm] [username] [password] + +Export secret stores. + +Arguments: + host AM base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring. + realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default: "alpha" for Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees. + password Password. + +Options: + -a, --all Export all secret stores to a single file. Ignored with -i. + -A, --all-separate Export all secret stores to separate files (*.secretstore.json) in the current directory. Ignored with -i or -a. + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. + -f, --file Name of the export file. + --flush-cache Flush token cache. + -g, --global Export global secret stores. For classic deployments only. + -h, --help Help + -i, --secretstore-id Secret store id. If specified, -a and -A are ignored. + --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". + -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) + --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use with your custom OAuth2 client (efault: "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. Valid values for type: + classic: A classic Access Management-only deployment with custom layout and configuration. + cloud: A ForgeRock Identity Cloud environment. + forgeops: A ForgeOps CDK or CDM deployment. + The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + -N, --no-metadata Does not include metadata in the export file. + --no-cache Disable token cache for this operation. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) associated with the the service account. + -t, --secretstore-type Secret store type id of the secret store. Only necessary if there are multiple secret stores with the same secret store id. Ignored if -i is not specified. + --verbose Verbose output during command execution. If specified, may or may not produce additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-import.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-import.test.js.snap new file mode 100644 index 000000000..69cf28a97 --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-import.test.js.snap @@ -0,0 +1,59 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore import' should be expected english 1`] = ` +"Usage: frodo secretstore import [options] [host] [realm] [username] [password] + +Import secret stores. + +Arguments: + host AM base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring. + realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default: "alpha" for Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees. + password Password. + +Options: + -a, --all Import all secret stores from single file. Ignored with -i. + -A, --all-separate Import all secret stores from separate files (*.secretstore.json) in the current directory. Ignored with -i or -a. + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. + -f, --file Name of the file to import. + --flush-cache Flush token cache. + -g, --global Import global secret stores. For classic deployments only. + -h, --help Help + -i, --secretstore-id Secret store id. If specified, only one secret store is imported and the options -a and -A are ignored. + --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". + -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) + --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use with your custom OAuth2 client (efault: "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. Valid values for type: + classic: A classic Access Management-only deployment with custom layout and configuration. + cloud: A ForgeRock Identity Cloud environment. + forgeops: A ForgeOps CDK or CDM deployment. + The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + --no-cache Disable token cache for this operation. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) associated with the the service account. + -t, --secretstore-type Secret store type id of the secret store. Only necessary if there are multiple secret stores with the same secret store id. Ignored if -i is not specified. + --verbose Verbose output during command execution. If specified, may or may not produce additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-list.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-list.test.js.snap new file mode 100644 index 000000000..ede233d2d --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-list.test.js.snap @@ -0,0 +1,106 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore list' should be expected english 1`] = ` +"Usage: frodo secretstore list [options] [host] [realm] [username] [password] + +List secret stores. + +Arguments: + host AM base URL, e.g.: + https://cdk.iam.example.com/am. To use a + connection profile, just specify a + unique substring. + realm Realm. Specify realm as '/' for the root + realm or 'realm' or '/parent/child' + otherwise. (default: "alpha" for + Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin + user with appropriate rights to manage + authentication journeys/trees. + password Password. + +Options: + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. + If specified, may or may not produce + additional output helpful for + troubleshooting. + --flush-cache Flush token cache. + -g, --global List global secret stores. For classic + deployments only. + -h, --help Help + --idm-host IDM base URL, e.g.: + https://cdk.idm.example.com/myidm. Use + only if your IDM installation resides in + a different domain and/or if the base + path differs from the default + "/openidm". + -k, --insecure Allow insecure connections when using + SSL/TLS. Has no effect when using a + network proxy for https + (HTTPS_PROXY=http://:), in + that case the proxy must provide this + capability. (default: Don't allow + insecure connections) + -l, --long Long with all fields. (default: false) + --login-client-id Specify a custom OAuth2 client id to use + a your own oauth2 client for IDM API + calls in deployments of type "cloud" or + "forgeops". Your custom client must be + configured as a public client and allow + the authorization code grant using the + "openid fr:idm:*" scope. Use the + "--redirect-uri" parameter if you have + configured a custom redirect uri + (default: + "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use + with your custom OAuth2 client (efault: + "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. + Valid values for type: + classic: A classic Access + Management-only deployment with custom + layout and configuration. + cloud: A ForgeRock Identity Cloud + environment. + forgeops: A ForgeOps CDK or CDM + deployment. + The detected or provided deployment type + controls certain behavior like obtaining + an Identity Management admin token or + not and whether to export/import + referenced email templates or how to + walk through the tenant admin login flow + of Identity Cloud and handle MFA + (choices: "classic", "cloud", + "forgeops") + --no-cache Disable token cache for this operation. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) + associated with the the service account. + --verbose Verbose output during command execution. + If specified, may or may not produce + additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-mapping-alias-activate.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-mapping-alias-activate.test.js.snap new file mode 100644 index 000000000..721eb5583 --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-mapping-alias-activate.test.js.snap @@ -0,0 +1,58 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore mapping alias activate' should be expected english 1`] = ` +"Usage: frodo secretstore mapping alias activate [options] [host] [realm] [username] [password] + +Activate secret store mapping alias. + +Arguments: + host AM base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring. + realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default: "alpha" for Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees. + password Password. + +Options: + -a, --alias The alias to activate. + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. + --flush-cache Flush token cache. + -g, --global Activate aliases from global secret stores. For classic deployments only. + -h, --help Help + -i, --secretstore-id Secret store id of the secret store where the mapping belongs. + --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". + -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) + --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use with your custom OAuth2 client (efault: "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. Valid values for type: + classic: A classic Access Management-only deployment with custom layout and configuration. + cloud: A ForgeRock Identity Cloud environment. + forgeops: A ForgeOps CDK or CDM deployment. + The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + --no-cache Disable token cache for this operation. + -s, --secret-id Secret label of the mapping. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) associated with the the service account. + -t, --secretstore-type Secret store type id. Only necessary if there are multiple secret stores with the same secret store id. + --verbose Verbose output during command execution. If specified, may or may not produce additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-mapping-alias-create.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-mapping-alias-create.test.js.snap new file mode 100644 index 000000000..ae0f5bb0c --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-mapping-alias-create.test.js.snap @@ -0,0 +1,59 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore mapping alias create' should be expected english 1`] = ` +"Usage: frodo secretstore mapping alias create [options] [host] [realm] [username] [password] + +Create secret store mapping alias. + +Arguments: + host AM base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring. + realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default: "alpha" for Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees. + password Password. + +Options: + -a, --alias The alias to create. + --activate If provided, it will activate the alias when it is added. If not provided, it will default to adding the alias to the end of the alias list. + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. + --flush-cache Flush token cache. + -g, --global Create aliases for global secret stores. For classic deployments only. + -h, --help Help + -i, --secretstore-id Secret store id of the secret store where the mapping belongs. + --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". + -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) + --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use with your custom OAuth2 client (efault: "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. Valid values for type: + classic: A classic Access Management-only deployment with custom layout and configuration. + cloud: A ForgeRock Identity Cloud environment. + forgeops: A ForgeOps CDK or CDM deployment. + The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + --no-cache Disable token cache for this operation. + -s, --secret-id Secret label of the mapping. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) associated with the the service account. + -t, --secretstore-type Secret store type id. Only necessary if there are multiple secret stores with the same secret store id. + --verbose Verbose output during command execution. If specified, may or may not produce additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-mapping-alias-delete.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-mapping-alias-delete.test.js.snap new file mode 100644 index 000000000..06e994649 --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-mapping-alias-delete.test.js.snap @@ -0,0 +1,59 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore mapping alias delete' should be expected english 1`] = ` +"Usage: frodo secretstore mapping alias delete [options] [host] [realm] [username] [password] + +Delete secret store mapping aliases. + +Arguments: + host AM base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring. + realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default: "alpha" for Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees. + password Password. + +Options: + -a, --alias The alias to delete. + --all Delete all aliases except for the active one in the mapping. Ignored with -a. + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. + --flush-cache Flush token cache. + -g, --global Delete aliases for global secret stores. For classic deployments only. + -h, --help Help + -i, --secretstore-id Secret store id of the secret store where the mapping belongs. + --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". + -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) + --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use with your custom OAuth2 client (efault: "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. Valid values for type: + classic: A classic Access Management-only deployment with custom layout and configuration. + cloud: A ForgeRock Identity Cloud environment. + forgeops: A ForgeOps CDK or CDM deployment. + The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + --no-cache Disable token cache for this operation. + -s, --secret-id Secret label of the mapping. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) associated with the the service account. + -t, --secretstore-type Secret store type id. Only necessary if there are multiple secret stores with the same secret store id. + --verbose Verbose output during command execution. If specified, may or may not produce additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-mapping-alias-list.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-mapping-alias-list.test.js.snap new file mode 100644 index 000000000..d57f5b1a0 --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-mapping-alias-list.test.js.snap @@ -0,0 +1,58 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore mapping alias list' should be expected english 1`] = ` +"Usage: frodo secretstore mapping alias list [options] [host] [realm] [username] [password] + +List secret store mapping aliases. + +Arguments: + host AM base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring. + realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default: "alpha" for Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees. + password Password. + +Options: + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. + --flush-cache Flush token cache. + -g, --global List aliases for global secret stores. For classic deployments only. + -h, --help Help + -i, --secretstore-id Secret store id of the secret store where the mapping belongs. + --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". + -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) + -l, --long Long with active statuses (default: false) + --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use with your custom OAuth2 client (efault: "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. Valid values for type: + classic: A classic Access Management-only deployment with custom layout and configuration. + cloud: A ForgeRock Identity Cloud environment. + forgeops: A ForgeOps CDK or CDM deployment. + The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + --no-cache Disable token cache for this operation. + -s, --secret-id Secret label of the mapping. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) associated with the the service account. + -t, --secretstore-type Secret store type id. Only necessary if there are multiple secret stores with the same secret store id. + --verbose Verbose output during command execution. If specified, may or may not produce additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-mapping-alias.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-mapping-alias.test.js.snap new file mode 100644 index 000000000..5ddc4ac87 --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-mapping-alias.test.js.snap @@ -0,0 +1,18 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore mapping alias' should be expected english 1`] = ` +"Usage: frodo secretstore mapping alias [options] [command] + +Manage secret store mapping aliases. + +Options: + -h, --help Help + +Commands: + activate Activate secret store mapping alias. + create Create secret store mapping alias. + delete Delete secret store mapping aliases. + help display help for command + list List secret store mapping aliases. +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-mapping-create.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-mapping-create.test.js.snap new file mode 100644 index 000000000..d9ca09b65 --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-mapping-create.test.js.snap @@ -0,0 +1,58 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore mapping create' should be expected english 1`] = ` +"Usage: frodo secretstore mapping create [options] [host] [realm] [username] [password] + +Create secret store mappings. + +Arguments: + host AM base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring. + realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default: "alpha" for Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees. + password Password. + +Options: + -a, --aliases Comma separated list of aliases to add. The first one will be the active one. + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. + --flush-cache Flush token cache. + -g, --global Create mappings in global secret stores. For classic deployments only. + -h, --help Help + -i, --secretstore-id Secret store id of the secret store where the mapping belongs. + --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". + -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) + --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use with your custom OAuth2 client (efault: "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. Valid values for type: + classic: A classic Access Management-only deployment with custom layout and configuration. + cloud: A ForgeRock Identity Cloud environment. + forgeops: A ForgeOps CDK or CDM deployment. + The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + --no-cache Disable token cache for this operation. + -s, --secret-id Secret label of the mapping being created. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) associated with the the service account. + -t, --secretstore-type Secret store type id. Only necessary if there are multiple secret stores with the same secret store id. + --verbose Verbose output during command execution. If specified, may or may not produce additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-mapping-delete.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-mapping-delete.test.js.snap new file mode 100644 index 000000000..0684fbbcf --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-mapping-delete.test.js.snap @@ -0,0 +1,58 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore mapping delete' should be expected english 1`] = ` +"Usage: frodo secretstore mapping delete [options] [host] [realm] [username] [password] + +Delete secret store mappings. + +Arguments: + host AM base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring. + realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default: "alpha" for Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees. + password Password. + +Options: + -a, --all Delete all mappings. Ignored with -s. + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. + --flush-cache Flush token cache. + -g, --global Delete mappings from global secret stores. For classic deployments only. + -h, --help Help + -i, --secretstore-id Secret store id of the secret store where the mappings belong. + --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". + -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) + --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use with your custom OAuth2 client (efault: "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. Valid values for type: + classic: A classic Access Management-only deployment with custom layout and configuration. + cloud: A ForgeRock Identity Cloud environment. + forgeops: A ForgeOps CDK or CDM deployment. + The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + --no-cache Disable token cache for this operation. + -s, --secret-id Secret label of the mapping being deleted. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) associated with the the service account. + -t, --secretstore-type Secret store type id. Only necessary if there are multiple secret stores with the same secret store id. + --verbose Verbose output during command execution. If specified, may or may not produce additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-mapping-list.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-mapping-list.test.js.snap new file mode 100644 index 000000000..8e21f2b22 --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-mapping-list.test.js.snap @@ -0,0 +1,57 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore mapping list' should be expected english 1`] = ` +"Usage: frodo secretstore mapping list [options] [host] [realm] [username] [password] + +List secret store mappings. + +Arguments: + host AM base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring. + realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default: "alpha" for Identity Cloud tenants, "/" otherwise.) + username Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees. + password Password. + +Options: + --curlirize Output all network calls in curl format. + -D, --directory Set the working directory. + --debug Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting. + --flush-cache Flush token cache. + -g, --global List mappings from global secret stores. For classic deployments only. + -h, --help Help + -i, --secretstore-id Secret store id of the secret store where the mappings belong. + --idm-host IDM base URL, e.g.: https://cdk.idm.example.com/myidm. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm". + -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://:), in that case the proxy must provide this capability. (default: Don't allow insecure connections) + -l, --long Long with all fields. (default: false) + --login-client-id Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "/platform/appAuthHelperRedirect.html"). + --login-redirect-uri Specify a custom redirect URI to use with your custom OAuth2 client (efault: "/platform/appAuthHelperRedirect.html"). + -m, --type Override auto-detected deployment type. Valid values for type: + classic: A classic Access Management-only deployment with custom layout and configuration. + cloud: A ForgeRock Identity Cloud environment. + forgeops: A ForgeOps CDK or CDM deployment. + The detected or provided deployment type controls certain behavior like obtaining an Identity Management admin token or not and whether to export/import referenced email templates or how to walk through the tenant admin login flow of Identity Cloud and handle MFA (choices: "classic", "cloud", "forgeops") + --no-cache Disable token cache for this operation. + --sa-id Service account id. + --sa-jwk-file File containing the JSON Web Key (JWK) associated with the the service account. + -t, --secretstore-type Secret store type id. Only necessary if there are multiple secret stores with the same secret store id. + --verbose Verbose output during command execution. If specified, may or may not produce additional output. + +Environment Variables: + FRODO_HOST: AM base URL. Overridden by 'host' argument. + FRODO_IDM_HOST: IDM base URL. Overridden by '--idm-host' option. + FRODO_REALM: Realm. Overridden by 'realm' argument. + FRODO_USERNAME: Username. Overridden by 'username' argument. + FRODO_PASSWORD: Password. Overridden by 'password' argument. + FRODO_LOGIN_CLIENT_ID: OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option. + FRODO_LOGIN_REDIRECT_URI: Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option. + FRODO_SA_ID: Service account uuid. Overridden by '--sa-id' option. + FRODO_SA_JWK: Service account JWK. Overridden by '--sa-jwk-file' option but takes the actual JWK as a value, not a file name. + FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option. + FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'. + FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'. + FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use. + FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'. + FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file. + FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH. + +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore-mapping.test.js.snap b/test/client_cli/en/__snapshots__/secretstore-mapping.test.js.snap new file mode 100644 index 000000000..b98f82aa3 --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore-mapping.test.js.snap @@ -0,0 +1,18 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore mapping' should be expected english 1`] = ` +"Usage: frodo secretstore mapping [options] [command] + +Manage secret store mappings. + +Options: + -h, --help Help + +Commands: + alias Manage secret store mapping aliases. + create Create secret store mappings. + delete Delete secret store mappings. + help display help for command + list List secret store mappings. +" +`; diff --git a/test/client_cli/en/__snapshots__/secretstore.test.js.snap b/test/client_cli/en/__snapshots__/secretstore.test.js.snap new file mode 100644 index 000000000..53142e562 --- /dev/null +++ b/test/client_cli/en/__snapshots__/secretstore.test.js.snap @@ -0,0 +1,20 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CLI help interface for 'secretstore' should be expected english 1`] = ` +"Usage: frodo secretstore [options] [command] + +Manage secret stores. + +Options: + -h, --help Help + +Commands: + delete Delete secret stores. + describe Describe secret stores. + export Export secret stores. + help display help for command + import Import secret stores. + list List secret stores. + mapping Manage secret store mappings. +" +`; diff --git a/test/client_cli/en/secretstore-delete.test.js b/test/client_cli/en/secretstore-delete.test.js new file mode 100644 index 000000000..14064d028 --- /dev/null +++ b/test/client_cli/en/secretstore-delete.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore delete --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore delete' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-describe.test.js b/test/client_cli/en/secretstore-describe.test.js new file mode 100644 index 000000000..d3a82bf3a --- /dev/null +++ b/test/client_cli/en/secretstore-describe.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore describe --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore describe' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-export.test.js b/test/client_cli/en/secretstore-export.test.js new file mode 100644 index 000000000..42c8236d3 --- /dev/null +++ b/test/client_cli/en/secretstore-export.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore export --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore export' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-import.test.js b/test/client_cli/en/secretstore-import.test.js new file mode 100644 index 000000000..61fabc8e3 --- /dev/null +++ b/test/client_cli/en/secretstore-import.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore import --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore import' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-list.test.js b/test/client_cli/en/secretstore-list.test.js new file mode 100644 index 000000000..48271feb0 --- /dev/null +++ b/test/client_cli/en/secretstore-list.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore list --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore list' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-mapping-alias-activate.test.js b/test/client_cli/en/secretstore-mapping-alias-activate.test.js new file mode 100644 index 000000000..9c6e50227 --- /dev/null +++ b/test/client_cli/en/secretstore-mapping-alias-activate.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore mapping alias activate --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore mapping alias activate' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-mapping-alias-create.test.js b/test/client_cli/en/secretstore-mapping-alias-create.test.js new file mode 100644 index 000000000..155925e47 --- /dev/null +++ b/test/client_cli/en/secretstore-mapping-alias-create.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore mapping alias create --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore mapping alias create' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-mapping-alias-delete.test.js b/test/client_cli/en/secretstore-mapping-alias-delete.test.js new file mode 100644 index 000000000..de24a3343 --- /dev/null +++ b/test/client_cli/en/secretstore-mapping-alias-delete.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore mapping alias delete --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore mapping alias delete' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-mapping-alias-list.test.js b/test/client_cli/en/secretstore-mapping-alias-list.test.js new file mode 100644 index 000000000..b8afaa8c8 --- /dev/null +++ b/test/client_cli/en/secretstore-mapping-alias-list.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore mapping alias list --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore mapping alias list' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-mapping-alias.test.js b/test/client_cli/en/secretstore-mapping-alias.test.js new file mode 100644 index 000000000..4c0cf1018 --- /dev/null +++ b/test/client_cli/en/secretstore-mapping-alias.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore mapping alias --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore mapping alias' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-mapping-create.test.js b/test/client_cli/en/secretstore-mapping-create.test.js new file mode 100644 index 000000000..ca0e25a1d --- /dev/null +++ b/test/client_cli/en/secretstore-mapping-create.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore mapping create --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore mapping create' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-mapping-delete.test.js b/test/client_cli/en/secretstore-mapping-delete.test.js new file mode 100644 index 000000000..1b8244296 --- /dev/null +++ b/test/client_cli/en/secretstore-mapping-delete.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore mapping delete --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore mapping delete' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-mapping-list.test.js b/test/client_cli/en/secretstore-mapping-list.test.js new file mode 100644 index 000000000..574978d49 --- /dev/null +++ b/test/client_cli/en/secretstore-mapping-list.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore mapping list --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore mapping list' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore-mapping.test.js b/test/client_cli/en/secretstore-mapping.test.js new file mode 100644 index 000000000..889cbe82a --- /dev/null +++ b/test/client_cli/en/secretstore-mapping.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore mapping --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore mapping' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/client_cli/en/secretstore.test.js b/test/client_cli/en/secretstore.test.js new file mode 100644 index 000000000..beca978e0 --- /dev/null +++ b/test/client_cli/en/secretstore.test.js @@ -0,0 +1,10 @@ +import cp from 'child_process'; +import { promisify } from 'util'; + +const exec = promisify(cp.exec); +const CMD = 'frodo secretstore --help'; +const { stdout } = await exec(CMD); + +test("CLI help interface for 'secretstore' should be expected english", async () => { + expect(stdout).toMatchSnapshot(); +}); diff --git a/test/e2e/__snapshots__/config-export.e2e.test.js.snap b/test/e2e/__snapshots__/config-export.e2e.test.js.snap index c0f08a28f..8a7c3a298 100644 --- a/test/e2e/__snapshots__/config-export.e2e.test.js.snap +++ b/test/e2e/__snapshots__/config-export.e2e.test.js.snap @@ -29746,6 +29746,34 @@ isGoogleEligible; ], }, }, + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "esv-test-client-cert", + ], + "secretId": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, "service": { "SocialIdentityProviders": { "_id": "", @@ -40755,6 +40783,46 @@ isGoogleEligible; ], }, }, + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, "service": { "SocialIdentityProviders": { "_id": "", @@ -46257,7 +46325,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE }, "defaults": { "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true, }, }, @@ -47048,7 +47116,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE }, "defaults": { "authenticationLevel": 0, - "serverConfigPath": "/home/prestonhales/am/config/auth/ace/data", + "serverConfigPath": "/root/am/config/auth/ace/data", }, }, "windowsdesktopsso": { @@ -51492,7 +51560,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [ @@ -51988,7 +52056,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -52343,7 +52411,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "properties": { "advanced": { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", @@ -52464,7 +52532,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am", + "value": "/root/am", }, "com.sun.identity.client.notification.url": { "inherited": true, @@ -54334,7 +54402,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "name": "ForgeRock Authenticator (OATH) Service", }, "defaults": { - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", @@ -54353,7 +54421,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "name": "ForgeRock Authenticator (Push) Service", }, "defaults": { - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", @@ -54371,7 +54439,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "name": "WebAuthn Profile Encryption Service", }, "defaults": { - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", @@ -54459,7 +54527,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE }, "defaults": { "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE", @@ -54476,7 +54544,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE }, "defaults": { "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE", @@ -54493,7 +54561,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE }, "defaults": { "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE", @@ -57606,7 +57674,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "name": "ForgeRock Amster", }, "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true, }, "datastore": { @@ -59184,7 +59252,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -59199,7 +59267,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -59273,7 +59341,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "collection": false, "name": "ForgeRock Authenticator (OATH) Service", }, - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", @@ -59290,7 +59358,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "collection": false, "name": "ForgeRock Authenticator (Push) Service", }, - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", @@ -59306,7 +59374,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "collection": false, "name": "WebAuthn Profile Encryption Service", }, - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", @@ -59345,7 +59413,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "name": "Device Binding Service", }, "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE", @@ -59360,7 +59428,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "name": "Device ID Service", }, "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE", @@ -59375,7 +59443,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "name": "Device Profiles Service", }, "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE", @@ -63760,7 +63828,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "name": "ForgeRock Amster", }, "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true, }, "datastore": { @@ -64314,7 +64382,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -64329,7 +64397,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -67566,7 +67634,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "name": "ForgeRock Amster", }, "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true, }, "datastore": { @@ -68120,7 +68188,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -68135,7 +68203,7 @@ exports[`frodo config export "frodo config export --all --read-only --file testE "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -75963,7 +76031,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [ @@ -76466,7 +76534,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -76825,7 +76893,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "properties": { "advanced": { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", @@ -76946,7 +77014,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am", + "value": "/root/am", }, "com.sun.identity.client.notification.url": { "inherited": true, @@ -79561,7 +79629,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "name": "ForgeRock Authenticator (OATH) Service", }, "defaults": { - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", @@ -79587,7 +79655,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "name": "ForgeRock Authenticator (Push) Service", }, "defaults": { - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", @@ -79612,7 +79680,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "name": "WebAuthn Profile Encryption Service", }, "defaults": { - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", @@ -79721,7 +79789,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - }, "defaults": { "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE", @@ -79745,7 +79813,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - }, "defaults": { "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE", @@ -79769,7 +79837,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - }, "defaults": { "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE", @@ -91673,7 +91741,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -91695,7 +91763,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -91809,7 +91877,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "collection": false, "name": "ForgeRock Authenticator (OATH) Service", }, - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", @@ -91833,7 +91901,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "collection": false, "name": "ForgeRock Authenticator (Push) Service", }, - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", @@ -91856,7 +91924,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "collection": false, "name": "WebAuthn Profile Encryption Service", }, - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", @@ -91916,7 +91984,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "name": "Device Binding Service", }, "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE", @@ -91938,7 +92006,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "name": "Device ID Service", }, "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE", @@ -91960,7 +92028,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "name": "Device Profiles Service", }, "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE", @@ -99704,7 +99772,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -99726,7 +99794,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -107136,7 +107204,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -107158,7 +107226,7 @@ exports[`frodo config export "frodo config export --all-separate --no-metadata - "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -166868,6 +166936,39 @@ exports[`frodo config export "frodo config export --all-separate --read-only --n } `; +exports[`frodo config export "frodo config export --all-separate --read-only --no-metadata --default --directory exportAllTestDir3 --use-string-arrays --no-decode --no-coords --extract --separate-mappings": should export everything, including default scripts, into separate files in the directory exportAllTestDir3 with scripts extracted, no decoding variables, no journey coordinates, separate mappings, and using string arrays: exportAllTestDir3/realm/root-alpha/secretstore/ESV.secretstore.json 1`] = ` +{ + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "esv-test-client-cert", + ], + "secretId": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, +} +`; + exports[`frodo config export "frodo config export --all-separate --read-only --no-metadata --default --directory exportAllTestDir3 --use-string-arrays --no-decode --no-coords --extract --separate-mappings": should export everything, including default scripts, into separate files in the directory exportAllTestDir3 with scripts extracted, no decoding variables, no journey coordinates, separate mappings, and using string arrays: exportAllTestDir3/realm/root-alpha/service/SocialIdentityProviders.service.json 1`] = ` { "service": { @@ -183715,6 +183816,51 @@ exports[`frodo config export "frodo config export --all-separate --read-only --n } `; +exports[`frodo config export "frodo config export --all-separate --read-only --no-metadata --default --directory exportAllTestDir3 --use-string-arrays --no-decode --no-coords --extract --separate-mappings": should export everything, including default scripts, into separate files in the directory exportAllTestDir3 with scripts extracted, no decoding variables, no journey coordinates, separate mappings, and using string arrays: exportAllTestDir3/realm/root-bravo/secretstore/ESV.secretstore.json 1`] = ` +{ + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, +} +`; + exports[`frodo config export "frodo config export --all-separate --read-only --no-metadata --default --directory exportAllTestDir3 --use-string-arrays --no-decode --no-coords --extract --separate-mappings": should export everything, including default scripts, into separate files in the directory exportAllTestDir3 with scripts extracted, no decoding variables, no journey coordinates, separate mappings, and using string arrays: exportAllTestDir3/realm/root-bravo/service/SocialIdentityProviders.service.json 1`] = ` { "service": { @@ -189875,7 +190021,7 @@ exports[`frodo config export "frodo config export --global-only -af testExportAl "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [ @@ -190371,7 +190517,7 @@ exports[`frodo config export "frodo config export --global-only -af testExportAl "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -190726,7 +190872,7 @@ exports[`frodo config export "frodo config export --global-only -af testExportAl "properties": { "advanced": { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", @@ -190847,7 +190993,7 @@ exports[`frodo config export "frodo config export --global-only -af testExportAl }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am", + "value": "/root/am", }, "com.sun.identity.client.notification.url": { "inherited": true, @@ -192679,7 +192825,7 @@ exports[`frodo config export "frodo config export --global-only -af testExportAl "name": "ForgeRock Authenticator (OATH) Service", }, "defaults": { - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", @@ -192698,7 +192844,7 @@ exports[`frodo config export "frodo config export --global-only -af testExportAl "name": "ForgeRock Authenticator (Push) Service", }, "defaults": { - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", @@ -192716,7 +192862,7 @@ exports[`frodo config export "frodo config export --global-only -af testExportAl "name": "WebAuthn Profile Encryption Service", }, "defaults": { - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", @@ -192804,7 +192950,7 @@ exports[`frodo config export "frodo config export --global-only -af testExportAl }, "defaults": { "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE", @@ -192821,7 +192967,7 @@ exports[`frodo config export "frodo config export --global-only -af testExportAl }, "defaults": { "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE", @@ -192838,7 +192984,7 @@ exports[`frodo config export "frodo config export --global-only -af testExportAl }, "defaults": { "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE", @@ -201923,7 +202069,7 @@ exports[`frodo config export "frodo config export --realm-only -AD exportAllTest "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -201946,7 +202092,7 @@ exports[`frodo config export "frodo config export --realm-only -AD exportAllTest "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -202066,7 +202212,7 @@ exports[`frodo config export "frodo config export --realm-only -AD exportAllTest "collection": false, "name": "ForgeRock Authenticator (OATH) Service", }, - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", @@ -202091,7 +202237,7 @@ exports[`frodo config export "frodo config export --realm-only -AD exportAllTest "collection": false, "name": "ForgeRock Authenticator (Push) Service", }, - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", @@ -202115,7 +202261,7 @@ exports[`frodo config export "frodo config export --realm-only -AD exportAllTest "collection": false, "name": "WebAuthn Profile Encryption Service", }, - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", @@ -202178,7 +202324,7 @@ exports[`frodo config export "frodo config export --realm-only -AD exportAllTest "name": "Device Binding Service", }, "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE", @@ -202201,7 +202347,7 @@ exports[`frodo config export "frodo config export --realm-only -AD exportAllTest "name": "Device ID Service", }, "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE", @@ -202224,7 +202370,7 @@ exports[`frodo config export "frodo config export --realm-only -AD exportAllTest "name": "Device Profiles Service", }, "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE", @@ -239627,6 +239773,40 @@ console.log(\`Volume of sphere with radius 7: \${4 * 7 * 7 * 7 * systemEnv.getPr } `; +exports[`frodo config export "frodo config export -AD exportAllTestDir1": should export everything into separate files in the directory exportAllTestDir1: exportAllTestDir1/realm/root-alpha/secretstore/ESV.secretstore.json 1`] = ` +{ + "meta": Any, + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "esv-test-client-cert", + ], + "secretId": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, +} +`; + exports[`frodo config export "frodo config export -AD exportAllTestDir1": should export everything into separate files in the directory exportAllTestDir1: exportAllTestDir1/realm/root-alpha/service/SocialIdentityProviders.service.json 1`] = ` { "meta": Any, @@ -250620,6 +250800,52 @@ exports[`frodo config export "frodo config export -AD exportAllTestDir1": should } `; +exports[`frodo config export "frodo config export -AD exportAllTestDir1": should export everything into separate files in the directory exportAllTestDir1: exportAllTestDir1/realm/root-bravo/secretstore/ESV.secretstore.json 1`] = ` +{ + "meta": Any, + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, +} +`; + exports[`frodo config export "frodo config export -AD exportAllTestDir1": should export everything into separate files in the directory exportAllTestDir1: exportAllTestDir1/realm/root-bravo/service/SocialIdentityProviders.service.json 1`] = ` { "meta": Any, @@ -288428,6 +288654,40 @@ exports[`frodo config export "frodo config export -AsxD exportAllTestDir2": shou } `; +exports[`frodo config export "frodo config export -AsxD exportAllTestDir2": should export everything into separate files in the directory exportAllTestDir2 with scripts extracted and mappings separate: exportAllTestDir2/realm/root-alpha/secretstore/ESV.secretstore.json 1`] = ` +{ + "meta": Any, + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "esv-test-client-cert", + ], + "secretId": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, +} +`; + exports[`frodo config export "frodo config export -AsxD exportAllTestDir2": should export everything into separate files in the directory exportAllTestDir2 with scripts extracted and mappings separate: exportAllTestDir2/realm/root-alpha/service/SocialIdentityProviders.service.json 1`] = ` { "meta": Any, @@ -299485,6 +299745,52 @@ exports[`frodo config export "frodo config export -AsxD exportAllTestDir2": shou } `; +exports[`frodo config export "frodo config export -AsxD exportAllTestDir2": should export everything into separate files in the directory exportAllTestDir2 with scripts extracted and mappings separate: exportAllTestDir2/realm/root-bravo/secretstore/ESV.secretstore.json 1`] = ` +{ + "meta": Any, + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, +} +`; + exports[`frodo config export "frodo config export -AsxD exportAllTestDir2": should export everything into separate files in the directory exportAllTestDir2 with scripts extracted and mappings separate: exportAllTestDir2/realm/root-bravo/service/SocialIdentityProviders.service.json 1`] = ` { "meta": Any, @@ -355538,6 +355844,40 @@ console.log(\`Volume of sphere with radius 7: \${4 * 7 * 7 * 7 * systemEnv.getPr } `; +exports[`frodo config export "frodo config export -RAD exportAllTestDir5 --include-active-values": should export everything including secret values into separate files in the directory exportAllTestDir5: exportAllTestDir5/realm/root-alpha/secretstore/ESV.secretstore.json 1`] = ` +{ + "meta": Any, + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "esv-test-client-cert", + ], + "secretId": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, +} +`; + exports[`frodo config export "frodo config export -RAD exportAllTestDir5 --include-active-values": should export everything including secret values into separate files in the directory exportAllTestDir5: exportAllTestDir5/realm/root-alpha/service/SocialIdentityProviders.service.json 1`] = ` { "meta": Any, @@ -367469,6 +367809,52 @@ exports[`frodo config export "frodo config export -RAD exportAllTestDir5 --inclu } `; +exports[`frodo config export "frodo config export -RAD exportAllTestDir5 --include-active-values": should export everything including secret values into separate files in the directory exportAllTestDir5: exportAllTestDir5/realm/root-bravo/secretstore/ESV.secretstore.json 1`] = ` +{ + "meta": Any, + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, +} +`; + exports[`frodo config export "frodo config export -RAD exportAllTestDir5 --include-active-values": should export everything including secret values into separate files in the directory exportAllTestDir5: exportAllTestDir5/realm/root-bravo/service/SocialIdentityProviders.service.json 1`] = ` { "meta": Any, @@ -369419,7 +369805,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl }, "defaults": { "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true, }, }, @@ -370466,7 +370852,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl }, "defaults": { "authenticationLevel": 0, - "serverConfigPath": "/home/prestonhales/am/config/auth/ace/data", + "serverConfigPath": "/root/am/config/auth/ace/data", }, }, }, @@ -375109,7 +375495,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [ @@ -375613,7 +375999,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -375655,7 +376041,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m classic": should export everything into separate files in the directory exportAllTestDir7 with scripts extracted and mappings separate: exportAllTestDir7/global/server/01/advanced.properties.server.json 1`] = ` { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", @@ -375785,7 +376171,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am", + "value": "/root/am", }, "com.sun.identity.client.notification.url": { "inherited": true, @@ -378227,7 +378613,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "name": "ForgeRock Authenticator (OATH) Service", }, "defaults": { - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", @@ -378254,7 +378640,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "name": "ForgeRock Authenticator (Push) Service", }, "defaults": { - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", @@ -378280,7 +378666,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "name": "WebAuthn Profile Encryption Service", }, "defaults": { - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", @@ -378392,7 +378778,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl }, "defaults": { "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE", @@ -378417,7 +378803,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl }, "defaults": { "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE", @@ -378442,7 +378828,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl }, "defaults": { "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE", @@ -381418,7 +381804,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "name": "ForgeRock Amster", }, "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true, }, }, @@ -387363,7 +387749,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -387386,7 +387772,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -387506,7 +387892,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "collection": false, "name": "ForgeRock Authenticator (OATH) Service", }, - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", @@ -387531,7 +387917,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "collection": false, "name": "ForgeRock Authenticator (Push) Service", }, - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", @@ -387555,7 +387941,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "collection": false, "name": "WebAuthn Profile Encryption Service", }, - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", @@ -387618,7 +388004,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "name": "Device Binding Service", }, "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE", @@ -387641,7 +388027,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "name": "Device ID Service", }, "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE", @@ -387664,7 +388050,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "name": "Device Profiles Service", }, "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE", @@ -389156,7 +389542,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "name": "ForgeRock Amster", }, "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true, }, }, @@ -392467,7 +392853,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -392490,7 +392876,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -393582,7 +393968,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "name": "ForgeRock Amster", }, "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true, }, }, @@ -396958,7 +397344,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -396981,7 +397367,7 @@ exports[`frodo config export "frodo config export -RAsxD exportAllTestDir7 -m cl "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -432319,6 +432705,34 @@ return identity ", }, }, + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "esv-test-client-cert", + ], + "secretId": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, "service": { "SocialIdentityProviders": { "_id": "", @@ -448438,6 +448852,46 @@ return identity ", }, }, + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, "service": { "SocialIdentityProviders": { "_id": "", @@ -458456,7 +458910,7 @@ exports[`frodo config export "frodo config export -adND exportAllTestDir6 -m cla "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [ @@ -458952,7 +459406,7 @@ exports[`frodo config export "frodo config export -adND exportAllTestDir6 -m cla "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -459307,7 +459761,7 @@ exports[`frodo config export "frodo config export -adND exportAllTestDir6 -m cla "properties": { "advanced": { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", @@ -459428,7 +459882,7 @@ exports[`frodo config export "frodo config export -adND exportAllTestDir6 -m cla }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am", + "value": "/root/am", }, "com.sun.identity.client.notification.url": { "inherited": true, @@ -461260,7 +461714,7 @@ exports[`frodo config export "frodo config export -adND exportAllTestDir6 -m cla "name": "ForgeRock Authenticator (OATH) Service", }, "defaults": { - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", @@ -461279,7 +461733,7 @@ exports[`frodo config export "frodo config export -adND exportAllTestDir6 -m cla "name": "ForgeRock Authenticator (Push) Service", }, "defaults": { - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", @@ -461297,7 +461751,7 @@ exports[`frodo config export "frodo config export -adND exportAllTestDir6 -m cla "name": "WebAuthn Profile Encryption Service", }, "defaults": { - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", @@ -461385,7 +461839,7 @@ exports[`frodo config export "frodo config export -adND exportAllTestDir6 -m cla }, "defaults": { "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE", @@ -461402,7 +461856,7 @@ exports[`frodo config export "frodo config export -adND exportAllTestDir6 -m cla }, "defaults": { "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE", @@ -461419,7 +461873,7 @@ exports[`frodo config export "frodo config export -adND exportAllTestDir6 -m cla }, "defaults": { "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE", @@ -469295,7 +469749,7 @@ return identity "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -469310,7 +469764,7 @@ return identity "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -469384,7 +469838,7 @@ return identity "collection": false, "name": "ForgeRock Authenticator (OATH) Service", }, - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", @@ -469401,7 +469855,7 @@ return identity "collection": false, "name": "ForgeRock Authenticator (Push) Service", }, - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", @@ -469417,7 +469871,7 @@ return identity "collection": false, "name": "WebAuthn Profile Encryption Service", }, - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", @@ -469456,7 +469910,7 @@ return identity "name": "Device Binding Service", }, "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE", @@ -469471,7 +469925,7 @@ return identity "name": "Device ID Service", }, "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE", @@ -469486,7 +469940,7 @@ return identity "name": "Device Profiles Service", }, "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE", @@ -477719,7 +478173,7 @@ return identity "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -477734,7 +478188,7 @@ return identity "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -484725,7 +485179,7 @@ return identity "collection": true, "name": "Keystore", }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [], @@ -484740,7 +485194,7 @@ return identity "collection": true, "name": "File System Secret Volumes", }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN", }, }, @@ -519092,6 +519546,34 @@ outcome = "true"; ", }, }, + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "esv-test-client-cert", + ], + "secretId": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, "service": { "SocialIdentityProviders": { "_id": "", diff --git a/test/e2e/__snapshots__/config-import.e2e.test.js.snap b/test/e2e/__snapshots__/config-import.e2e.test.js.snap index 4bded4bd5..e91d636a4 100644 --- a/test/e2e/__snapshots__/config-import.e2e.test.js.snap +++ b/test/e2e/__snapshots__/config-import.e2e.test.js.snap @@ -141,24 +141,7 @@ Error Importing Services " `; -exports[`frodo config import "frodo config import -AdD test/e2e/exports/all-separate/classic -m classic" Import everything from directory "test/e2e/exports/all-separate/classic" 1`] = ` -"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin -Error Importing Authentication Settings - Error importing authentication settings - Error updating authentication settings - HTTP client error - Code: ERR_BAD_REQUEST - Status: 404 - Reason: Not Found - Message: Resource '' not found -- Resolving dependencies -✔ Resolved all dependencies. -- Resolving dependencies -✔ Resolved all dependencies. -- Resolving dependencies -✔ Resolved all dependencies. -" -`; +exports[`frodo config import "frodo config import -AdD test/e2e/exports/all-separate/classic -m classic" Import everything from directory "test/e2e/exports/all-separate/classic" 1`] = `undefined`; exports[`frodo config import "frodo config import -CAD test/e2e/exports/all-separate/cloud" Import everything from directory "test/e2e/exports/all-separate/cloud". Clean old services 1`] = ` "Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1720799681233 [b672336b-41ef-428d-ae4a-e0c082875377] @@ -248,24 +231,7 @@ Error Importing Services " `; -exports[`frodo config import "frodo config import -adf test/e2e/exports/all/all.classic.json -m classic" Import everything from "all.classic.json", including default scripts. 1`] = ` -"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin -Error Importing Authentication Settings - Error importing authentication settings - Error updating authentication settings - HTTP client error - Code: ERR_BAD_REQUEST - Status: 404 - Reason: Not Found - Message: Resource '' not found -- Resolving dependencies -✔ Resolved all dependencies. -- Resolving dependencies -✔ Resolved all dependencies. -- Resolving dependencies -✔ Resolved all dependencies. -" -`; +exports[`frodo config import "frodo config import -adf test/e2e/exports/all/all.classic.json -m classic" Import everything from "all.classic.json", including default scripts. 1`] = `undefined`; exports[`frodo config import "frodo config import -adf test/e2e/exports/all/all.cloud.json" Import everything from "all.cloud.json", including default scripts. 1`] = ` "Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1720799681233 [b672336b-41ef-428d-ae4a-e0c082875377] diff --git a/test/e2e/__snapshots__/secretstore-delete.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-delete.e2e.test.js.snap new file mode 100644 index 000000000..05f1fc619 --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-delete.e2e.test.js.snap @@ -0,0 +1,50 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore delete "frodo secretstore delete --all": should delete all realm secret stores, with exception of ESV 1`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Deleting secret stores... +Error deleting the secret store ESV +✔ Deleted all secret stores. +" +`; + +exports[`frodo secretstore delete "frodo secretstore delete --all": should delete all realm secret stores, with exception of ESV 2`] = `1`; + +exports[`frodo secretstore delete "frodo secretstore delete --global -i default-keystore --type classic": should delete the global default keystore 1`] = `""`; + +exports[`frodo secretstore delete "frodo secretstore delete --global -i default-keystore --type classic": should delete the global default keystore 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Deleting default-keystore... +✔ Deleted default-keystore. +" +`; + +exports[`frodo secretstore delete "frodo secretstore delete -agm classic": should delete all global keystores with exception of EnvironmentAndSystemPropertySecretStore 1`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Deleting secret stores... +Error deleting the secret store EnvironmentAndSystemPropertySecretStore +✔ Deleted all secret stores. +" +`; + +exports[`frodo secretstore delete "frodo secretstore delete -agm classic": should delete all global keystores with exception of EnvironmentAndSystemPropertySecretStore 2`] = `1`; + +exports[`frodo secretstore delete "frodo secretstore delete -g --secretstore-id EnvironmentAndSystemPropertySecretStore --secretstore-type EnvironmentAndSystemPropertySecretStore -m classic": should fail deleting EnvironmentAndSystemPropertySecretStore 1`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Deleting EnvironmentAndSystemPropertySecretStore... +✖ Error: Error deleting the secret store EnvironmentAndSystemPropertySecretStore +Error deleting the secret store EnvironmentAndSystemPropertySecretStore +" +`; + +exports[`frodo secretstore delete "frodo secretstore delete -g --secretstore-id EnvironmentAndSystemPropertySecretStore --secretstore-type EnvironmentAndSystemPropertySecretStore -m classic": should fail deleting EnvironmentAndSystemPropertySecretStore 2`] = `1`; + +exports[`frodo secretstore delete "frodo secretstore delete -i ESV": should fail deleting ESV secret store 1`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Deleting ESV... +✖ Error: Error deleting the secret store ESV +Error deleting the secret store ESV +" +`; + +exports[`frodo secretstore delete "frodo secretstore delete -i ESV": should fail deleting ESV secret store 2`] = `1`; diff --git a/test/e2e/__snapshots__/secretstore-describe.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-describe.e2e.test.js.snap new file mode 100644 index 000000000..f9b7e278d --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-describe.e2e.test.js.snap @@ -0,0 +1,97 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore describe "frodo secretstore describe --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --type classic": should describe the global default keystore secret store 1`] = ` +"Id │default-keystore +Type │KeyStoreSecretStore +File │/root/am/security/keystores/keystore.jceks +Keystore type │JCEKS +Provider name │SunJCE +Store password secret label│storepass +Entry password secret label│entrypass +Key lease expiry │5 + +Mappings (40): + +Secret Label │Active Alias │Other Aliases +am.applications.agents.remote.consent.request.signing.ES256 │es256test │test + │ │test2 + │ │test3 + │ │test4 +am.applications.agents.remote.consent.request.signing.ES384 │es384test │ +am.applications.agents.remote.consent.request.signing.ES512 │es512test │ +am.applications.agents.remote.consent.request.signing.RSA │rsajwtsigningkey │ +am.authentication.nodes.persistentcookie.encryption │test │ +am.authn.authid.signing.HMAC │hmacsigningtest │ +am.authn.trees.transientstate.encryption │directenctest │ +am.default.applications.federation.entity.providers.saml2.idp.encryption│test │ +am.default.applications.federation.entity.providers.saml2.idp.signing │rsajwtsigningkey │ +am.default.applications.federation.entity.providers.saml2.sp.encryption │test │ +am.default.applications.federation.entity.providers.saml2.sp.signing │rsajwtsigningkey │ +am.default.authentication.modules.persistentcookie.encryption │test │ +am.default.authentication.modules.persistentcookie.signing │hmacsigningtest │ +am.default.authentication.nodes.persistentcookie.signing │hmacsigningtest │ +am.global.services.oauth2.oidc.agent.idtoken.signing │rsajwtsigningkey │ +am.global.services.saml2.client.storage.jwt.encryption │directenctest │ +am.global.services.session.clientbased.encryption.AES │aestest │ +am.global.services.session.clientbased.signing.HMAC │hmacsigningtest │ +am.services.iot.jwt.issuer.signing │hmacsigningtest │ +am.services.oauth2.jwt.authenticity.signing │hmacsigningtest │ +am.services.oauth2.oidc.decryption.RSA.OAEP │test │ +am.services.oauth2.oidc.decryption.RSA.OAEP.256 │test │ +am.services.oauth2.oidc.decryption.RSA1.5 │test │ +am.services.oauth2.oidc.rp.idtoken.encryption │test │ +am.services.oauth2.oidc.rp.jwt.authenticity.signing │rsajwtsigningkey │ +am.services.oauth2.oidc.signing.ES256 │es256test │ +am.services.oauth2.oidc.signing.ES384 │es384test │ +am.services.oauth2.oidc.signing.ES512 │es512test │ +am.services.oauth2.oidc.signing.RSA │rsajwtsigningkey │ +am.services.oauth2.remote.consent.request.encryption │selfserviceenctest│ +am.services.oauth2.remote.consent.response.decryption │test │ +am.services.oauth2.remote.consent.response.signing.RSA │rsajwtsigningkey │ +am.services.oauth2.stateless.signing.ES256 │es256test │ +am.services.oauth2.stateless.signing.ES384 │es384test │ +am.services.oauth2.stateless.signing.ES512 │es512test │ +am.services.oauth2.stateless.signing.HMAC │hmacsigningtest │ +am.services.oauth2.stateless.signing.RSA │rsajwtsigningkey │ +am.services.oauth2.stateless.token.encryption │directenctest │ +am.services.saml2.metadata.signing.RSA │rsajwtsigningkey │ +am.services.uma.pct.encryption │directenctest │ +" +`; + +exports[`frodo secretstore describe "frodo secretstore describe --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --type classic": should describe the global default keystore secret store 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +" +`; + +exports[`frodo secretstore describe "frodo secretstore describe -gi EnvironmentAndSystemPropertySecretStore -t EnvironmentAndSystemPropertySecretStore -m classic": should describe the global EnvironmentAndSystemPropertySecretStore which does not have mappings 1`] = ` +"Id │EnvironmentAndSystemPropertySecretStore +Type │EnvironmentAndSystemPropertySecretStore +Value format│BASE64 +" +`; + +exports[`frodo secretstore describe "frodo secretstore describe -gi EnvironmentAndSystemPropertySecretStore -t EnvironmentAndSystemPropertySecretStore -m classic": should describe the global EnvironmentAndSystemPropertySecretStore which does not have mappings 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +" +`; + +exports[`frodo secretstore describe "frodo secretstore describe -i ESV": should describe the ESV secret store 1`] = ` +"Id │ESV +Type │GoogleSecretManagerSecretStoreProvider +Project │&{google.project.id} +GCP Service Account ID│default +Secret Format │PEM +Expiry Time (seconds) │600 + +Mappings (1): + +Secret Label │Active Alias │Other Aliases +am.services.httpclient.mtls.clientcert.testClientCert.secret│esv-test-client-cert│ +" +`; + +exports[`frodo secretstore describe "frodo secretstore describe -i ESV": should describe the ESV secret store 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +" +`; diff --git a/test/e2e/__snapshots__/secretstore-export.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-export.e2e.test.js.snap new file mode 100644 index 000000000..63a3dd308 --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-export.e2e.test.js.snap @@ -0,0 +1,1741 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore export "frodo secretstore export --global --secretstore-id EnvironmentAndSystemPropertySecretStore --secretstore-type EnvironmentAndSystemPropertySecretStore --type classic": should export the global EnvironmentAndSystemPropertySecretStore secret store 1`] = `0`; + +exports[`frodo secretstore export "frodo secretstore export --global --secretstore-id EnvironmentAndSystemPropertySecretStore --secretstore-type EnvironmentAndSystemPropertySecretStore --type classic": should export the global EnvironmentAndSystemPropertySecretStore secret store 2`] = `""`; + +exports[`frodo secretstore export "frodo secretstore export --global --secretstore-id EnvironmentAndSystemPropertySecretStore --secretstore-type EnvironmentAndSystemPropertySecretStore --type classic": should export the global EnvironmentAndSystemPropertySecretStore secret store: EnvironmentAndSystemPropertySecretStore.secretstore.json 1`] = ` +{ + "meta": Any, + "secretstore": { + "EnvironmentAndSystemPropertySecretStore": { + "_id": "", + "_type": { + "_id": "EnvironmentAndSystemPropertySecretStore", + "collection": false, + "name": "Environment and System Property Secrets Store", + }, + "format": "BASE64", + }, + }, +} +`; + +exports[`frodo secretstore export "frodo secretstore export -NAD secretStoreExportTestDir1": should export all seceretstores in realm to separate files 1`] = `0`; + +exports[`frodo secretstore export "frodo secretstore export -NAD secretStoreExportTestDir1": should export all seceretstores in realm to separate files 2`] = `""`; + +exports[`frodo secretstore export "frodo secretstore export -NAD secretStoreExportTestDir1": should export all seceretstores in realm to separate files: secretStoreExportTestDir1/ESV.secretstore.json 1`] = ` +{ + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "esv-test-client-cert", + ], + "secretId": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, +} +`; + +exports[`frodo secretstore export "frodo secretstore export -Na": should export all secretstores in realm to file 1`] = `0`; + +exports[`frodo secretstore export "frodo secretstore export -Na": should export all secretstores in realm to file 2`] = `""`; + +exports[`frodo secretstore export "frodo secretstore export -Na": should export all secretstores in realm to file: allAlphaSecretStores.secretstore.json 1`] = ` +{ + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "esv-test-client-cert", + ], + "secretId": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, +} +`; + +exports[`frodo secretstore export "frodo secretstore export -Ni ESV -t GoogleSecretManagerSecretStoreProvider -f myFrodoExport.secretstore.json": should export the ESV secret store 1`] = `0`; + +exports[`frodo secretstore export "frodo secretstore export -Ni ESV -t GoogleSecretManagerSecretStoreProvider -f myFrodoExport.secretstore.json": should export the ESV secret store 2`] = `""`; + +exports[`frodo secretstore export "frodo secretstore export -Ni ESV -t GoogleSecretManagerSecretStoreProvider -f myFrodoExport.secretstore.json": should export the ESV secret store: myFrodoExport.secretstore.json 1`] = ` +{ + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager", + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "esv-test-client-cert", + ], + "secretId": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + }, + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default", + }, + }, +} +`; + +exports[`frodo secretstore export "frodo secretstore export -g --all -m classic": should export all global secretstores to file 1`] = `0`; + +exports[`frodo secretstore export "frodo secretstore export -g --all -m classic": should export all global secretstores to file 2`] = `""`; + +exports[`frodo secretstore export "frodo secretstore export -g --all -m classic": should export all global secretstores to file: allGlobalSecretStores.secretstore.json 1`] = ` +{ + "meta": Any, + "secretstore": { + "EnvironmentAndSystemPropertySecretStore": { + "_id": "EnvironmentAndSystemPropertySecretStore", + "_type": { + "_id": "EnvironmentAndSystemPropertySecretStore", + "collection": false, + "name": "Environment and System Property Secrets Store", + }, + "format": "BASE64", + }, + "default-keystore": { + "_id": "default-keystore", + "_type": { + "_id": "KeyStoreSecretStore", + "collection": true, + "name": "Keystore", + }, + "file": "/root/am/security/keystores/keystore.jceks", + "keyEntryPassword": "entrypass", + "leaseExpiryDuration": 5, + "mappings": [ + { + "_id": "am.applications.agents.remote.consent.request.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es256test", + "test", + "test2", + "test3", + "test4", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES256", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384test", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512test", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.RSA", + }, + { + "_id": "am.authentication.nodes.persistentcookie.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.authentication.nodes.persistentcookie.encryption", + }, + { + "_id": "am.authn.authid.signing.HMAC", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.authn.authid.signing.HMAC", + }, + { + "_id": "am.authn.trees.transientstate.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.authn.trees.transientstate.encryption", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.idp.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.idp.encryption", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.idp.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.idp.signing", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.sp.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.sp.encryption", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.sp.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.sp.signing", + }, + { + "_id": "am.default.authentication.modules.persistentcookie.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.default.authentication.modules.persistentcookie.encryption", + }, + { + "_id": "am.default.authentication.modules.persistentcookie.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.default.authentication.modules.persistentcookie.signing", + }, + { + "_id": "am.default.authentication.nodes.persistentcookie.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.default.authentication.nodes.persistentcookie.signing", + }, + { + "_id": "am.global.services.oauth2.oidc.agent.idtoken.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.global.services.oauth2.oidc.agent.idtoken.signing", + }, + { + "_id": "am.global.services.saml2.client.storage.jwt.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.global.services.saml2.client.storage.jwt.encryption", + }, + { + "_id": "am.global.services.session.clientbased.encryption.AES", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "aestest", + ], + "secretId": "am.global.services.session.clientbased.encryption.AES", + }, + { + "_id": "am.global.services.session.clientbased.signing.HMAC", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.global.services.session.clientbased.signing.HMAC", + }, + { + "_id": "am.services.iot.jwt.issuer.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.services.iot.jwt.issuer.signing", + }, + { + "_id": "am.services.oauth2.jwt.authenticity.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.services.oauth2.jwt.authenticity.signing", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP.256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP.256", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA1.5", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA1.5", + }, + { + "_id": "am.services.oauth2.oidc.rp.idtoken.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.rp.idtoken.encryption", + }, + { + "_id": "am.services.oauth2.oidc.rp.jwt.authenticity.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.oidc.rp.jwt.authenticity.signing", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es256test", + ], + "secretId": "am.services.oauth2.oidc.signing.ES256", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384test", + ], + "secretId": "am.services.oauth2.oidc.signing.ES384", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512test", + ], + "secretId": "am.services.oauth2.oidc.signing.ES512", + }, + { + "_id": "am.services.oauth2.oidc.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.oidc.signing.RSA", + }, + { + "_id": "am.services.oauth2.remote.consent.request.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "selfserviceenctest", + ], + "secretId": "am.services.oauth2.remote.consent.request.encryption", + }, + { + "_id": "am.services.oauth2.remote.consent.response.decryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.remote.consent.response.decryption", + }, + { + "_id": "am.services.oauth2.remote.consent.response.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.remote.consent.response.signing.RSA", + }, + { + "_id": "am.services.oauth2.stateless.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es256test", + ], + "secretId": "am.services.oauth2.stateless.signing.ES256", + }, + { + "_id": "am.services.oauth2.stateless.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384test", + ], + "secretId": "am.services.oauth2.stateless.signing.ES384", + }, + { + "_id": "am.services.oauth2.stateless.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512test", + ], + "secretId": "am.services.oauth2.stateless.signing.ES512", + }, + { + "_id": "am.services.oauth2.stateless.signing.HMAC", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.services.oauth2.stateless.signing.HMAC", + }, + { + "_id": "am.services.oauth2.stateless.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.stateless.signing.RSA", + }, + { + "_id": "am.services.oauth2.stateless.token.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.services.oauth2.stateless.token.encryption", + }, + { + "_id": "am.services.saml2.metadata.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.saml2.metadata.signing.RSA", + }, + { + "_id": "am.services.uma.pct.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.services.uma.pct.encryption", + }, + ], + "providerName": "SunJCE", + "storePassword": "storepass", + "storetype": "JCEKS", + }, + "default-passwords-store": { + "_id": "default-passwords-store", + "_type": { + "_id": "FileSystemSecretStore", + "collection": true, + "name": "File System Secret Volumes", + }, + "directory": "/root/am/security/secrets/encrypted", + "format": "ENCRYPTED_PLAIN", + }, + }, +} +`; + +exports[`frodo secretstore export "frodo secretstore export -gam classic --no-metadata --file myFrodoExport2.secretstore.json": should export all global secretstores to specific file with no metadata 1`] = `0`; + +exports[`frodo secretstore export "frodo secretstore export -gam classic --no-metadata --file myFrodoExport2.secretstore.json": should export all global secretstores to specific file with no metadata 2`] = `""`; + +exports[`frodo secretstore export "frodo secretstore export -gam classic --no-metadata --file myFrodoExport2.secretstore.json": should export all global secretstores to specific file with no metadata: myFrodoExport2.secretstore.json 1`] = ` +{ + "secretstore": { + "EnvironmentAndSystemPropertySecretStore": { + "_id": "EnvironmentAndSystemPropertySecretStore", + "_type": { + "_id": "EnvironmentAndSystemPropertySecretStore", + "collection": false, + "name": "Environment and System Property Secrets Store", + }, + "format": "BASE64", + }, + "default-keystore": { + "_id": "default-keystore", + "_type": { + "_id": "KeyStoreSecretStore", + "collection": true, + "name": "Keystore", + }, + "file": "/root/am/security/keystores/keystore.jceks", + "keyEntryPassword": "entrypass", + "leaseExpiryDuration": 5, + "mappings": [ + { + "_id": "am.applications.agents.remote.consent.request.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es256test", + "test", + "test2", + "test3", + "test4", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES256", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384test", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512test", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.RSA", + }, + { + "_id": "am.authentication.nodes.persistentcookie.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.authentication.nodes.persistentcookie.encryption", + }, + { + "_id": "am.authn.authid.signing.HMAC", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.authn.authid.signing.HMAC", + }, + { + "_id": "am.authn.trees.transientstate.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.authn.trees.transientstate.encryption", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.idp.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.idp.encryption", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.idp.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.idp.signing", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.sp.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.sp.encryption", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.sp.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.sp.signing", + }, + { + "_id": "am.default.authentication.modules.persistentcookie.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.default.authentication.modules.persistentcookie.encryption", + }, + { + "_id": "am.default.authentication.modules.persistentcookie.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.default.authentication.modules.persistentcookie.signing", + }, + { + "_id": "am.default.authentication.nodes.persistentcookie.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.default.authentication.nodes.persistentcookie.signing", + }, + { + "_id": "am.global.services.oauth2.oidc.agent.idtoken.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.global.services.oauth2.oidc.agent.idtoken.signing", + }, + { + "_id": "am.global.services.saml2.client.storage.jwt.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.global.services.saml2.client.storage.jwt.encryption", + }, + { + "_id": "am.global.services.session.clientbased.encryption.AES", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "aestest", + ], + "secretId": "am.global.services.session.clientbased.encryption.AES", + }, + { + "_id": "am.global.services.session.clientbased.signing.HMAC", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.global.services.session.clientbased.signing.HMAC", + }, + { + "_id": "am.services.iot.jwt.issuer.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.services.iot.jwt.issuer.signing", + }, + { + "_id": "am.services.oauth2.jwt.authenticity.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.services.oauth2.jwt.authenticity.signing", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP.256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP.256", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA1.5", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA1.5", + }, + { + "_id": "am.services.oauth2.oidc.rp.idtoken.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.rp.idtoken.encryption", + }, + { + "_id": "am.services.oauth2.oidc.rp.jwt.authenticity.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.oidc.rp.jwt.authenticity.signing", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es256test", + ], + "secretId": "am.services.oauth2.oidc.signing.ES256", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384test", + ], + "secretId": "am.services.oauth2.oidc.signing.ES384", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512test", + ], + "secretId": "am.services.oauth2.oidc.signing.ES512", + }, + { + "_id": "am.services.oauth2.oidc.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.oidc.signing.RSA", + }, + { + "_id": "am.services.oauth2.remote.consent.request.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "selfserviceenctest", + ], + "secretId": "am.services.oauth2.remote.consent.request.encryption", + }, + { + "_id": "am.services.oauth2.remote.consent.response.decryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.remote.consent.response.decryption", + }, + { + "_id": "am.services.oauth2.remote.consent.response.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.remote.consent.response.signing.RSA", + }, + { + "_id": "am.services.oauth2.stateless.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es256test", + ], + "secretId": "am.services.oauth2.stateless.signing.ES256", + }, + { + "_id": "am.services.oauth2.stateless.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384test", + ], + "secretId": "am.services.oauth2.stateless.signing.ES384", + }, + { + "_id": "am.services.oauth2.stateless.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512test", + ], + "secretId": "am.services.oauth2.stateless.signing.ES512", + }, + { + "_id": "am.services.oauth2.stateless.signing.HMAC", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.services.oauth2.stateless.signing.HMAC", + }, + { + "_id": "am.services.oauth2.stateless.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.stateless.signing.RSA", + }, + { + "_id": "am.services.oauth2.stateless.token.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.services.oauth2.stateless.token.encryption", + }, + { + "_id": "am.services.saml2.metadata.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.saml2.metadata.signing.RSA", + }, + { + "_id": "am.services.uma.pct.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.services.uma.pct.encryption", + }, + ], + "providerName": "SunJCE", + "storePassword": "storepass", + "storetype": "JCEKS", + }, + "default-passwords-store": { + "_id": "default-passwords-store", + "_type": { + "_id": "FileSystemSecretStore", + "collection": true, + "name": "File System Secret Volumes", + }, + "directory": "/root/am/security/secrets/encrypted", + "format": "ENCRYPTED_PLAIN", + }, + }, +} +`; + +exports[`frodo secretstore export "frodo secretstore export -gm classic --all-separate --directory secretStoreExportTestDir2": should export all global seceretstores to separate files 1`] = `0`; + +exports[`frodo secretstore export "frodo secretstore export -gm classic --all-separate --directory secretStoreExportTestDir2": should export all global seceretstores to separate files 2`] = `""`; + +exports[`frodo secretstore export "frodo secretstore export -gm classic --all-separate --directory secretStoreExportTestDir2": should export all global seceretstores to separate files: secretStoreExportTestDir2/EnvironmentAndSystemPropertySecretStore.secretstore.json 1`] = ` +{ + "meta": Any, + "secretstore": { + "EnvironmentAndSystemPropertySecretStore": { + "_id": "EnvironmentAndSystemPropertySecretStore", + "_type": { + "_id": "EnvironmentAndSystemPropertySecretStore", + "collection": false, + "name": "Environment and System Property Secrets Store", + }, + "format": "BASE64", + }, + }, +} +`; + +exports[`frodo secretstore export "frodo secretstore export -gm classic --all-separate --directory secretStoreExportTestDir2": should export all global seceretstores to separate files: secretStoreExportTestDir2/default-keystore.secretstore.json 1`] = ` +{ + "meta": Any, + "secretstore": { + "default-keystore": { + "_id": "default-keystore", + "_type": { + "_id": "KeyStoreSecretStore", + "collection": true, + "name": "Keystore", + }, + "file": "/root/am/security/keystores/keystore.jceks", + "keyEntryPassword": "entrypass", + "leaseExpiryDuration": 5, + "mappings": [ + { + "_id": "am.applications.agents.remote.consent.request.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es256test", + "test", + "test2", + "test3", + "test4", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES256", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384test", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512test", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512", + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.applications.agents.remote.consent.request.signing.RSA", + }, + { + "_id": "am.authentication.nodes.persistentcookie.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.authentication.nodes.persistentcookie.encryption", + }, + { + "_id": "am.authn.authid.signing.HMAC", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.authn.authid.signing.HMAC", + }, + { + "_id": "am.authn.trees.transientstate.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.authn.trees.transientstate.encryption", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.idp.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.idp.encryption", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.idp.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.idp.signing", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.sp.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.sp.encryption", + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.sp.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.sp.signing", + }, + { + "_id": "am.default.authentication.modules.persistentcookie.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.default.authentication.modules.persistentcookie.encryption", + }, + { + "_id": "am.default.authentication.modules.persistentcookie.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.default.authentication.modules.persistentcookie.signing", + }, + { + "_id": "am.default.authentication.nodes.persistentcookie.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.default.authentication.nodes.persistentcookie.signing", + }, + { + "_id": "am.global.services.oauth2.oidc.agent.idtoken.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.global.services.oauth2.oidc.agent.idtoken.signing", + }, + { + "_id": "am.global.services.saml2.client.storage.jwt.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.global.services.saml2.client.storage.jwt.encryption", + }, + { + "_id": "am.global.services.session.clientbased.encryption.AES", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "aestest", + ], + "secretId": "am.global.services.session.clientbased.encryption.AES", + }, + { + "_id": "am.global.services.session.clientbased.signing.HMAC", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.global.services.session.clientbased.signing.HMAC", + }, + { + "_id": "am.services.iot.jwt.issuer.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.services.iot.jwt.issuer.signing", + }, + { + "_id": "am.services.oauth2.jwt.authenticity.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.services.oauth2.jwt.authenticity.signing", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP.256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP.256", + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA1.5", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA1.5", + }, + { + "_id": "am.services.oauth2.oidc.rp.idtoken.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.oidc.rp.idtoken.encryption", + }, + { + "_id": "am.services.oauth2.oidc.rp.jwt.authenticity.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.oidc.rp.jwt.authenticity.signing", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es256test", + ], + "secretId": "am.services.oauth2.oidc.signing.ES256", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384test", + ], + "secretId": "am.services.oauth2.oidc.signing.ES384", + }, + { + "_id": "am.services.oauth2.oidc.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512test", + ], + "secretId": "am.services.oauth2.oidc.signing.ES512", + }, + { + "_id": "am.services.oauth2.oidc.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.oidc.signing.RSA", + }, + { + "_id": "am.services.oauth2.remote.consent.request.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "selfserviceenctest", + ], + "secretId": "am.services.oauth2.remote.consent.request.encryption", + }, + { + "_id": "am.services.oauth2.remote.consent.response.decryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "test", + ], + "secretId": "am.services.oauth2.remote.consent.response.decryption", + }, + { + "_id": "am.services.oauth2.remote.consent.response.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.remote.consent.response.signing.RSA", + }, + { + "_id": "am.services.oauth2.stateless.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es256test", + ], + "secretId": "am.services.oauth2.stateless.signing.ES256", + }, + { + "_id": "am.services.oauth2.stateless.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es384test", + ], + "secretId": "am.services.oauth2.stateless.signing.ES384", + }, + { + "_id": "am.services.oauth2.stateless.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "es512test", + ], + "secretId": "am.services.oauth2.stateless.signing.ES512", + }, + { + "_id": "am.services.oauth2.stateless.signing.HMAC", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "hmacsigningtest", + ], + "secretId": "am.services.oauth2.stateless.signing.HMAC", + }, + { + "_id": "am.services.oauth2.stateless.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.oauth2.stateless.signing.RSA", + }, + { + "_id": "am.services.oauth2.stateless.token.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.services.oauth2.stateless.token.encryption", + }, + { + "_id": "am.services.saml2.metadata.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "rsajwtsigningkey", + ], + "secretId": "am.services.saml2.metadata.signing.RSA", + }, + { + "_id": "am.services.uma.pct.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings", + }, + "aliases": [ + "directenctest", + ], + "secretId": "am.services.uma.pct.encryption", + }, + ], + "providerName": "SunJCE", + "storePassword": "storepass", + "storetype": "JCEKS", + }, + }, +} +`; + +exports[`frodo secretstore export "frodo secretstore export -gm classic --all-separate --directory secretStoreExportTestDir2": should export all global seceretstores to separate files: secretStoreExportTestDir2/default-passwords-store.secretstore.json 1`] = ` +{ + "meta": Any, + "secretstore": { + "default-passwords-store": { + "_id": "default-passwords-store", + "_type": { + "_id": "FileSystemSecretStore", + "collection": true, + "name": "File System Secret Volumes", + }, + "directory": "/root/am/security/secrets/encrypted", + "format": "ENCRYPTED_PLAIN", + }, + }, +} +`; diff --git a/test/e2e/__snapshots__/secretstore-import.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-import.e2e.test.js.snap new file mode 100644 index 000000000..66224e975 --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-import.e2e.test.js.snap @@ -0,0 +1,59 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore import "frodo secretstore import --global --all --file test/e2e/exports/all/allGlobalSecretStores.json --type classic": should import all global secret stores 1`] = `""`; + +exports[`frodo secretstore import "frodo secretstore import --global --all --file test/e2e/exports/all/allGlobalSecretStores.json --type classic": should import all global secret stores 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +" +`; + +exports[`frodo secretstore import "frodo secretstore import --secretstore-id ESV --secretstore-type GoogleSecretManagerSecretStoreProvider -f test/e2e/exports/all/allAlphaSecretStores.json": should import the ESV secret store 1`] = `""`; + +exports[`frodo secretstore import "frodo secretstore import --secretstore-id ESV --secretstore-type GoogleSecretManagerSecretStoreProvider -f test/e2e/exports/all/allAlphaSecretStores.json": should import the ESV secret store 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Reading secret store... +- Importing secret store... +✔ Successfully imported secret store ESV. +" +`; + +exports[`frodo secretstore import "frodo secretstore import -AD test/e2e/exports/all-separate/cloud/realm/root-alpha/secretstore": should import all separate secret stores for realm 1`] = `""`; + +exports[`frodo secretstore import "frodo secretstore import -AD test/e2e/exports/all-separate/cloud/realm/root-alpha/secretstore": should import all separate secret stores for realm 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +" +`; + +exports[`frodo secretstore import "frodo secretstore import -af test/e2e/exports/all/allAlphaSecretStores.json": should import all secret stores for realm 1`] = `""`; + +exports[`frodo secretstore import "frodo secretstore import -af test/e2e/exports/all/allAlphaSecretStores.json": should import all secret stores for realm 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +" +`; + +exports[`frodo secretstore import "frodo secretstore import -gf test/e2e/exports/all/allGlobalSecretStores.json -i default-keystore -m classic": should import the default global keystore secret store 1`] = `""`; + +exports[`frodo secretstore import "frodo secretstore import -gf test/e2e/exports/all/allGlobalSecretStores.json -i default-keystore -m classic": should import the default global keystore secret store 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Reading secret store... +- Importing secret store... +✔ Successfully imported secret store default-keystore. +" +`; + +exports[`frodo secretstore import "frodo secretstore import -gm classic --all-separate --directory test/e2e/exports/all-separate/classic/global/secretstore": should import all separate global secret stores 1`] = `""`; + +exports[`frodo secretstore import "frodo secretstore import -gm classic --all-separate --directory test/e2e/exports/all-separate/classic/global/secretstore": should import all separate global secret stores 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +" +`; + +exports[`frodo secretstore import "frodo secretstore import -i ESV -f test/e2e/exports/all/allAlphaSecretStores.json": should import the ESV secret store 1`] = `""`; + +exports[`frodo secretstore import "frodo secretstore import -i ESV -f test/e2e/exports/all/allAlphaSecretStores.json": should import the ESV secret store 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Reading secret store... +- Importing secret store... +✔ Successfully imported secret store ESV. +" +`; diff --git a/test/e2e/__snapshots__/secretstore-list.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-list.e2e.test.js.snap new file mode 100644 index 000000000..6cea809e2 --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-list.e2e.test.js.snap @@ -0,0 +1,86 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore list "frodo secretstore list --long --global --type classic": should list global secret stores with more detail 1`] = ` +"Id │Type │Mappings +default-keystore │Keystore │am.applications.agents.remote.consent.request.signing.ES256 + │ │am.applications.agents.remote.consent.request.signing.ES384 + │ │am.applications.agents.remote.consent.request.signing.ES512 + │ │am.applications.agents.remote.consent.request.signing.RSA + │ │am.authentication.nodes.persistentcookie.encryption + │ │am.authn.authid.signing.HMAC + │ │am.authn.trees.transientstate.encryption + │ │am.default.applications.federation.entity.providers.saml2.idp.encryption + │ │am.default.applications.federation.entity.providers.saml2.idp.signing + │ │am.default.applications.federation.entity.providers.saml2.sp.encryption + │ │am.default.applications.federation.entity.providers.saml2.sp.signing + │ │am.default.authentication.modules.persistentcookie.encryption + │ │am.default.authentication.modules.persistentcookie.signing + │ │am.default.authentication.nodes.persistentcookie.signing + │ │am.global.services.oauth2.oidc.agent.idtoken.signing + │ │am.global.services.saml2.client.storage.jwt.encryption + │ │am.global.services.session.clientbased.encryption.AES + │ │am.global.services.session.clientbased.signing.HMAC + │ │am.services.iot.jwt.issuer.signing + │ │am.services.oauth2.jwt.authenticity.signing + │ │am.services.oauth2.oidc.decryption.RSA.OAEP + │ │am.services.oauth2.oidc.decryption.RSA.OAEP.256 + │ │am.services.oauth2.oidc.decryption.RSA1.5 + │ │am.services.oauth2.oidc.rp.idtoken.encryption + │ │am.services.oauth2.oidc.rp.jwt.authenticity.signing + │ │am.services.oauth2.oidc.signing.ES256 + │ │am.services.oauth2.oidc.signing.ES384 + │ │am.services.oauth2.oidc.signing.ES512 + │ │am.services.oauth2.oidc.signing.RSA + │ │am.services.oauth2.remote.consent.request.encryption + │ │am.services.oauth2.remote.consent.response.decryption + │ │am.services.oauth2.remote.consent.response.signing.RSA + │ │am.services.oauth2.stateless.signing.ES256 + │ │am.services.oauth2.stateless.signing.ES384 + │ │am.services.oauth2.stateless.signing.ES512 + │ │am.services.oauth2.stateless.signing.HMAC + │ │am.services.oauth2.stateless.signing.RSA + │ │am.services.oauth2.stateless.token.encryption + │ │am.services.saml2.metadata.signing.RSA + │ │am.services.uma.pct.encryption +default-passwords-store │File System Secret Volumes │N/A +EnvironmentAndSystemPropertySecretStore│Environment and System Property Secrets Store│N/A +" +`; + +exports[`frodo secretstore list "frodo secretstore list --long --global --type classic": should list global secret stores with more detail 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +" +`; + +exports[`frodo secretstore list "frodo secretstore list -gm classic": should list global secret stores 1`] = ` +"default-keystore +default-passwords-store +EnvironmentAndSystemPropertySecretStore +" +`; + +exports[`frodo secretstore list "frodo secretstore list -gm classic": should list global secret stores 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +" +`; + +exports[`frodo secretstore list "frodo secretstore list -l": should list the secret stores in current realm with more detail 1`] = ` +"Id │Type │Mappings +ESV│Google Secret Manager│am.services.httpclient.mtls.clientcert.testClientCert.secret +" +`; + +exports[`frodo secretstore list "frodo secretstore list -l": should list the secret stores in current realm with more detail 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +" +`; + +exports[`frodo secretstore list "frodo secretstore list": should list the secret stores in current realm 1`] = ` +"ESV +" +`; + +exports[`frodo secretstore list "frodo secretstore list": should list the secret stores in current realm 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +" +`; diff --git a/test/e2e/__snapshots__/secretstore-mapping-alias-activate.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-mapping-alias-activate.e2e.test.js.snap new file mode 100644 index 000000000..c6a211c25 --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-mapping-alias-activate.e2e.test.js.snap @@ -0,0 +1,35 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore mapping alias activate "frodo secretstore mapping alias activate --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --alias es256test --type classic": Should activate the es256test alias on a global secretstore 1`] = `""`; + +exports[`frodo secretstore mapping alias activate "frodo secretstore mapping alias activate --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --alias es256test --type classic": Should activate the es256test alias on a global secretstore 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Activating the mapping alias es256test in the mapping am.applications.agents.remote.consent.request.signing.ES256 in the secret store default-keystore... +✔ Activated the mapping alias es256test in the mapping am.applications.agents.remote.consent.request.signing.ES256 in the secret store default-keystore. +" +`; + +exports[`frodo secretstore mapping alias activate "frodo secretstore mapping alias activate -gi EnvironmentAndSystemPropertySecretStore -t EnvironmentAndSystemPropertySecretStore -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a alias -m classic": should fail since EnvironmentAndSystemPropertySecretStore has no mappings 1`] = ` +"'EnvironmentAndSystemPropertySecretStore' does not have mappings. +" +`; + +exports[`frodo secretstore mapping alias activate "frodo secretstore mapping alias activate -gi EnvironmentAndSystemPropertySecretStore -t EnvironmentAndSystemPropertySecretStore -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a alias -m classic": should fail since EnvironmentAndSystemPropertySecretStore has no mappings 2`] = `1`; + +exports[`frodo secretstore mapping alias activate "frodo secretstore mapping alias activate -i ESV -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-test-client-cert": Should activate the alias esv-test-client-cert 1`] = `""`; + +exports[`frodo secretstore mapping alias activate "frodo secretstore mapping alias activate -i ESV -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-test-client-cert": Should activate the alias esv-test-client-cert 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Activating the mapping alias esv-test-client-cert in the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV... +✔ Activated the mapping alias esv-test-client-cert in the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV. +" +`; + +exports[`frodo secretstore mapping alias activate "frodo secretstore mapping alias activate -i ESV -t GoogleSecretManagerSecretStoreProvider -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-does-not-exist": Should fail when alias does not exist 1`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Activating the mapping alias esv-does-not-exist in the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV... +✖ Could not find the alias esv-does-not-exist in the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV +" +`; + +exports[`frodo secretstore mapping alias activate "frodo secretstore mapping alias activate -i ESV -t GoogleSecretManagerSecretStoreProvider -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-does-not-exist": Should fail when alias does not exist 2`] = `1`; diff --git a/test/e2e/__snapshots__/secretstore-mapping-alias-create.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-mapping-alias-create.e2e.test.js.snap new file mode 100644 index 000000000..058fbd1b8 --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-mapping-alias-create.e2e.test.js.snap @@ -0,0 +1,48 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore mapping alias create "frodo secretstore mapping alias create --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --alias new --type classic": Should create the new alias on a global secretstore 1`] = `""`; + +exports[`frodo secretstore mapping alias create "frodo secretstore mapping alias create --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --alias new --type classic": Should create the new alias on a global secretstore 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Creating the mapping alias new in the mapping am.applications.agents.remote.consent.request.signing.ES256 in the secret store default-keystore... +✔ Created the mapping alias new in the mapping am.applications.agents.remote.consent.request.signing.ES256 in the secret store default-keystore. +" +`; + +exports[`frodo secretstore mapping alias create "frodo secretstore mapping alias create --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --alias new2 --activate --type classic": Should create and activate the new2 alias on a global secretstore 1`] = `""`; + +exports[`frodo secretstore mapping alias create "frodo secretstore mapping alias create --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --alias new2 --activate --type classic": Should create and activate the new2 alias on a global secretstore 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Creating the mapping alias new2 in the mapping am.applications.agents.remote.consent.request.signing.ES256 in the secret store default-keystore... +✔ Created the mapping alias new2 in the mapping am.applications.agents.remote.consent.request.signing.ES256 in the secret store default-keystore. +" +`; + +exports[`frodo secretstore mapping alias create "frodo secretstore mapping alias create -gi EnvironmentAndSystemPropertySecretStore -t EnvironmentAndSystemPropertySecretStore -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a alias -m classic": should fail since EnvironmentAndSystemPropertySecretStore has no mappings 1`] = ` +"'EnvironmentAndSystemPropertySecretStore' does not have mappings. +" +`; + +exports[`frodo secretstore mapping alias create "frodo secretstore mapping alias create -gi EnvironmentAndSystemPropertySecretStore -t EnvironmentAndSystemPropertySecretStore -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a alias -m classic": should fail since EnvironmentAndSystemPropertySecretStore has no mappings 2`] = `1`; + +exports[`frodo secretstore mapping alias create "frodo secretstore mapping alias create -i ESV -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-test-client-cert": Should fail when creating duplicate alias esv-test-client-cert 1`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Creating the mapping alias esv-test-client-cert in the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV... +✖ Duplicate alias esv-test-client-cert found in the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV. +" +`; + +exports[`frodo secretstore mapping alias create "frodo secretstore mapping alias create -i ESV -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-test-client-cert": Should fail when creating duplicate alias esv-test-client-cert 2`] = `1`; + +exports[`frodo secretstore mapping alias create "frodo secretstore mapping alias create -i ESV -t GoogleSecretManagerSecretStoreProvider -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-new --activate": Should fail when only one alias is allowed 1`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Creating the mapping alias esv-new in the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV... +✖ Error: Request failed with status code 400 +HTTP client error + Code: ERR_BAD_REQUEST + Status: 400 + Message: Invalid config: Only a single alias per mapping is allowed for this secret store type +" +`; + +exports[`frodo secretstore mapping alias create "frodo secretstore mapping alias create -i ESV -t GoogleSecretManagerSecretStoreProvider -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-new --activate": Should fail when only one alias is allowed 2`] = `1`; diff --git a/test/e2e/__snapshots__/secretstore-mapping-alias-delete.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-mapping-alias-delete.e2e.test.js.snap new file mode 100644 index 000000000..9552816bc --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-mapping-alias-delete.e2e.test.js.snap @@ -0,0 +1,53 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --alias test4 --type classic": Should delete the test4 alias on a global secretstore 1`] = `""`; + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --alias test4 --type classic": Should delete the test4 alias on a global secretstore 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Deleting the alias test4 from the mapping am.applications.agents.remote.consent.request.signing.ES256 in the secret store default-keystore... +✔ Deleted the alias test4 from the mapping am.applications.agents.remote.consent.request.signing.ES256 in the secret store default-keystore. +" +`; + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --all --type classic": Should delete the test4 alias on a global secretstore 1`] = `""`; + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --all --type classic": Should delete the test4 alias on a global secretstore 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Deleting all aliases from the mapping am.applications.agents.remote.consent.request.signing.ES256 in the secret store default-keystore... +✔ Deleted all aliases from the mapping am.applications.agents.remote.consent.request.signing.ES256 in the secret store default-keystore. +" +`; + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete -gi EnvironmentAndSystemPropertySecretStore -t EnvironmentAndSystemPropertySecretStore -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a alias -m classic": should fail since EnvironmentAndSystemPropertySecretStore has no mappings 1`] = ` +"'EnvironmentAndSystemPropertySecretStore' does not have mappings. +" +`; + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete -gi EnvironmentAndSystemPropertySecretStore -t EnvironmentAndSystemPropertySecretStore -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a alias -m classic": should fail since EnvironmentAndSystemPropertySecretStore has no mappings 2`] = `1`; + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete -i ESV -s am.services.httpclient.mtls.clientcert.testClientCert.secret --all": Should delete all aliases except active one on ESV secretstore 1`] = `""`; + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete -i ESV -s am.services.httpclient.mtls.clientcert.testClientCert.secret --all": Should delete all aliases except active one on ESV secretstore 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Deleting all aliases from the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV... +✔ Deleted all aliases from the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV. +" +`; + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete -i ESV -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-test-client-cert": Should fail when deleting the only alias esv-test-client-cert 1`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Deleting the alias esv-test-client-cert from the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV... +✖ Cannot delete alias esv-test-client-cert since it is the last remaining alias in the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV +" +`; + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete -i ESV -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-test-client-cert": Should fail when deleting the only alias esv-test-client-cert 2`] = `1`; + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete -i ESV -t GoogleSecretManagerSecretStoreProvider -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-does-not-exist": Should fail when alias does not exist 1`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Deleting the alias esv-does-not-exist from the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV... +✖ Could not find the alias esv-does-not-exist in the mapping am.services.httpclient.mtls.clientcert.testClientCert.secret in the secret store ESV +" +`; + +exports[`frodo secretstore mapping alias delete "frodo secretstore mapping alias delete -i ESV -t GoogleSecretManagerSecretStoreProvider -s am.services.httpclient.mtls.clientcert.testClientCert.secret -a esv-does-not-exist": Should fail when alias does not exist 2`] = `1`; diff --git a/test/e2e/__snapshots__/secretstore-mapping-alias-list.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-mapping-alias-list.e2e.test.js.snap new file mode 100644 index 000000000..0312702cb --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-mapping-alias-list.e2e.test.js.snap @@ -0,0 +1,47 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore mapping alias list "frodo secretstore mapping alias list --long --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --type classic": Should list the aliases for the global secret store mapping 1`] = ` +"Alias │Active +es256test│true +test │false +test2 │false +test3 │false +test4 │false +" +`; + +exports[`frodo secretstore mapping alias list "frodo secretstore mapping alias list --long --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --secret-id am.applications.agents.remote.consent.request.signing.ES256 --type classic": Should list the aliases for the global secret store mapping 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +" +`; + +exports[`frodo secretstore mapping alias list "frodo secretstore mapping alias list -gi EnvironmentAndSystemPropertySecretStore -s am.services.httpclient.mtls.clientcert.testClientCert.secret -m classic": should fail since EnvironmentAndSystemPropertySecretStore has no mappings 1`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +Error listing mapping aliases +Error reading secret store mapping 'am.services.httpclient.mtls.clientcert.testClientCert.secret' for the secret store 'EnvironmentAndSystemPropertySecretStore' + No mappings exist for the secret store type 'EnvironmentAndSystemPropertySecretStore' +" +`; + +exports[`frodo secretstore mapping alias list "frodo secretstore mapping alias list -gi EnvironmentAndSystemPropertySecretStore -s am.services.httpclient.mtls.clientcert.testClientCert.secret -m classic": should fail since EnvironmentAndSystemPropertySecretStore has no mappings 2`] = `1`; + +exports[`frodo secretstore mapping alias list "frodo secretstore mapping alias list -i ESV -s am.services.httpclient.mtls.clientcert.testClientCert.secret": Should list the aliases for the ESV secret store mapping 1`] = ` +"esv-test-client-cert +" +`; + +exports[`frodo secretstore mapping alias list "frodo secretstore mapping alias list -i ESV -s am.services.httpclient.mtls.clientcert.testClientCert.secret": Should list the aliases for the ESV secret store mapping 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +" +`; + +exports[`frodo secretstore mapping alias list "frodo secretstore mapping alias list -l -i ESV -t GoogleSecretManagerSecretStoreProvider -s am.services.httpclient.mtls.clientcert.testClientCert.secret": Should list the aliases for the ESV secret store mapping along with active statuses 1`] = ` +"Alias │Active +esv-test-client-cert│true +" +`; + +exports[`frodo secretstore mapping alias list "frodo secretstore mapping alias list -l -i ESV -t GoogleSecretManagerSecretStoreProvider -s am.services.httpclient.mtls.clientcert.testClientCert.secret": Should list the aliases for the ESV secret store mapping along with active statuses 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +" +`; diff --git a/test/e2e/__snapshots__/secretstore-mapping-create.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-mapping-create.e2e.test.js.snap new file mode 100644 index 000000000..744b01ff8 --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-mapping-create.e2e.test.js.snap @@ -0,0 +1,86 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore mapping create "frodo secretstore mapping create --global -i default-keystore -s am.uma.resource.labels.mtls.cert -a new,new2,new3 -m classic": should create mapping for the global default-keystore secret store 1`] = `""`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create --global -i default-keystore -s am.uma.resource.labels.mtls.cert -a new,new2,new3 -m classic": should create mapping for the global default-keystore secret store 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Creating the mapping am.uma.resource.labels.mtls.cert in the secret store default-keystore... +✔ Created the mapping am.uma.resource.labels.mtls.cert in the secret store default-keystore. +" +`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create --global -i default-keystore -s am.uma.resource.sets.mtls.cert -a new,new2,new,new3 --type classic": should fail due to duplicate aliases 1`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Creating the mapping am.uma.resource.sets.mtls.cert in the secret store default-keystore... +✖ Error: Error creating mapping 'am.uma.resource.sets.mtls.cert' for the secret store 'default-keystore' +Error creating mapping 'am.uma.resource.sets.mtls.cert' for the secret store 'default-keystore' + HTTP client error + Code: ERR_BAD_REQUEST + Status: 400 + Reason: Bad Request + Message: Data validation failed for the attribute, Aliases +" +`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create --global -i default-keystore -s am.uma.resource.sets.mtls.cert -a new,new2,new,new3 --type classic": should fail due to duplicate aliases 2`] = `1`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create --secretstore-id ESV --secret-id am.services.uma.pct.encryption --aliases esv-test-server-cert,esv-test-server-cert-2": should fail since only one alias is allowed for the mapping 1`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Creating the mapping am.services.uma.pct.encryption in the secret store ESV... +✖ Error: Error creating mapping 'am.services.uma.pct.encryption' for the secret store 'ESV' +Error creating mapping 'am.services.uma.pct.encryption' for the secret store 'ESV' + HTTP client error + Code: ERR_BAD_REQUEST + Status: 400 + Reason: Bad Request + Message: Invalid config: Only a single alias per mapping is allowed for this secret store type +" +`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create --secretstore-id ESV --secret-id am.services.uma.pct.encryption --aliases esv-test-server-cert,esv-test-server-cert-2": should fail since only one alias is allowed for the mapping 2`] = `1`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create -gi EnvironmentAndSystemPropertySecretStore --secretstore-type EnvironmentAndSystemPropertySecretStore -s am.services.uma.pct.encryption -a new -m classic": should fail since no mappings can exist for the EnvironmentAndSystemPropertySecretStore 1`] = ` +"'EnvironmentAndSystemPropertySecretStore' does not have mappings. +" +`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create -gi EnvironmentAndSystemPropertySecretStore --secretstore-type EnvironmentAndSystemPropertySecretStore -s am.services.uma.pct.encryption -a new -m classic": should fail since no mappings can exist for the EnvironmentAndSystemPropertySecretStore 2`] = `1`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create -gi default-keystore -s unknown.label -a new -m classic": should fail due to unknown label for the secret id 1`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Creating the mapping unknown.label in the secret store default-keystore... +✖ Error: Error creating mapping 'unknown.label' for the secret store 'default-keystore' +Error creating mapping 'unknown.label' for the secret store 'default-keystore' + HTTP client error + Code: ERR_BAD_REQUEST + Status: 400 + Reason: Bad Request + Message: Data validation failed for the attribute, Secret Label +" +`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create -gi default-keystore -s unknown.label -a new -m classic": should fail due to unknown label for the secret id 2`] = `1`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create -i ESV -s am.services.httpclient.mtls.servertrustcerts.testServerCert.secret -a esv-test-server-cert": should create mapping for the ESV secret store 1`] = `""`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create -i ESV -s am.services.httpclient.mtls.servertrustcerts.testServerCert.secret -a esv-test-server-cert": should create mapping for the ESV secret store 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Creating the mapping am.services.httpclient.mtls.servertrustcerts.testServerCert.secret in the secret store ESV... +✔ Created the mapping am.services.httpclient.mtls.servertrustcerts.testServerCert.secret in the secret store ESV. +" +`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create -i ESV -t GoogleSecretManagerSecretStoreProvider -s am.services.httpclient.mtls.servertrustcerts.testServerCert.secret -a esv-test-server-cert": should fail since mapping already exists 1`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Creating the mapping am.services.httpclient.mtls.servertrustcerts.testServerCert.secret in the secret store ESV... +✖ Error: Error creating mapping 'am.services.httpclient.mtls.servertrustcerts.testServerCert.secret' for the secret store 'ESV' +Error creating mapping 'am.services.httpclient.mtls.servertrustcerts.testServerCert.secret' for the secret store 'ESV' + HTTP client error + Code: ERR_BAD_REQUEST + Status: 409 + Reason: Conflict + Message: Unable to save config: Service already exists +" +`; + +exports[`frodo secretstore mapping create "frodo secretstore mapping create -i ESV -t GoogleSecretManagerSecretStoreProvider -s am.services.httpclient.mtls.servertrustcerts.testServerCert.secret -a esv-test-server-cert": should fail since mapping already exists 2`] = `1`; diff --git a/test/e2e/__snapshots__/secretstore-mapping-delete.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-mapping-delete.e2e.test.js.snap new file mode 100644 index 000000000..4b11abb29 --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-mapping-delete.e2e.test.js.snap @@ -0,0 +1,54 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete --all --secretstore-id ESV --secretstore-type GoogleSecretManagerSecretStoreProvider": should delete all mappings in ESV secret store 1`] = `""`; + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete --all --secretstore-id ESV --secretstore-type GoogleSecretManagerSecretStoreProvider": should delete all mappings in ESV secret store 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Deleting secret store mappings from the secret store ESV... +✔ Deleted all mappings from the secret store ESV. +" +`; + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete --global -i default-keystore -s am.uma.resource.labels.mtls.cert --type classic": should delete mapping in the global default-keystore secret store 1`] = `""`; + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete --global -i default-keystore -s am.uma.resource.labels.mtls.cert --type classic": should delete mapping in the global default-keystore secret store 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Deleting am.uma.resource.labels.mtls.cert from secret store default-keystore... +✔ Deleted am.uma.resource.labels.mtls.cert from secret store default-keystore. +" +`; + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete -agi default-keystore -m classic": should delete all mappings in global default-keystore secret store 1`] = `""`; + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete -agi default-keystore -m classic": should delete all mappings in global default-keystore secret store 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +- Deleting secret store mappings from the secret store default-keystore... +✔ Deleted all mappings from the secret store default-keystore. +" +`; + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete -gi EnvironmentAndSystemPropertySecretStore -t EnvironmentAndSystemPropertySecretStore -s am.services.uma.pct.encryption -m classic": should fail since no mappings can exist for the EnvironmentAndSystemPropertySecretStore 1`] = ` +"'EnvironmentAndSystemPropertySecretStore' does not have mappings. +" +`; + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete -gi EnvironmentAndSystemPropertySecretStore -t EnvironmentAndSystemPropertySecretStore -s am.services.uma.pct.encryption -m classic": should fail since no mappings can exist for the EnvironmentAndSystemPropertySecretStore 2`] = `1`; + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete -i ESV -s am.services.httpclient.mtls.servertrustcerts.testServerCert.secret": should delete mapping in the ESV secret store 1`] = `""`; + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete -i ESV -s am.services.httpclient.mtls.servertrustcerts.testServerCert.secret": should delete mapping in the ESV secret store 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Creating the mapping am.services.httpclient.mtls.servertrustcerts.testServerCert.secret in the secret store ESV... +✔ Created the mapping am.services.httpclient.mtls.servertrustcerts.testServerCert.secret in the secret store ESV. +" +`; + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete -i ESV -t GoogleSecretManagerSecretStoreProvider -s unknown.label": should fail since mapping does not exist 1`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +- Deleting unknown.label from secret store ESV... +✖ Error: Error deleting the secret store mapping unknown.label from the secret store ESV +Error deleting the secret store mapping unknown.label from the secret store ESV +" +`; + +exports[`frodo secretstore mapping delete "frodo secretstore mapping delete -i ESV -t GoogleSecretManagerSecretStoreProvider -s unknown.label": should fail since mapping does not exist 2`] = `1`; diff --git a/test/e2e/__snapshots__/secretstore-mapping-list.e2e.test.js.snap b/test/e2e/__snapshots__/secretstore-mapping-list.e2e.test.js.snap new file mode 100644 index 000000000..8b79c3530 --- /dev/null +++ b/test/e2e/__snapshots__/secretstore-mapping-list.e2e.test.js.snap @@ -0,0 +1,85 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`frodo secretstore mapping list "frodo secretstore mapping list --long --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --type classic": should list the secret store mappings for the global keystore secret store 1`] = ` +"Secret Label │Active Alias │Other Aliases +am.applications.agents.remote.consent.request.signing.ES256 │es256test │test + │ │test2 + │ │test3 + │ │test4 +am.applications.agents.remote.consent.request.signing.ES384 │es384test │ +am.applications.agents.remote.consent.request.signing.ES512 │es512test │ +am.applications.agents.remote.consent.request.signing.RSA │rsajwtsigningkey │ +am.authentication.nodes.persistentcookie.encryption │test │ +am.authn.authid.signing.HMAC │hmacsigningtest │ +am.authn.trees.transientstate.encryption │directenctest │ +am.default.applications.federation.entity.providers.saml2.idp.encryption│test │ +am.default.applications.federation.entity.providers.saml2.idp.signing │rsajwtsigningkey │ +am.default.applications.federation.entity.providers.saml2.sp.encryption │test │ +am.default.applications.federation.entity.providers.saml2.sp.signing │rsajwtsigningkey │ +am.default.authentication.modules.persistentcookie.encryption │test │ +am.default.authentication.modules.persistentcookie.signing │hmacsigningtest │ +am.default.authentication.nodes.persistentcookie.signing │hmacsigningtest │ +am.global.services.oauth2.oidc.agent.idtoken.signing │rsajwtsigningkey │ +am.global.services.saml2.client.storage.jwt.encryption │directenctest │ +am.global.services.session.clientbased.encryption.AES │aestest │ +am.global.services.session.clientbased.signing.HMAC │hmacsigningtest │ +am.services.iot.jwt.issuer.signing │hmacsigningtest │ +am.services.oauth2.jwt.authenticity.signing │hmacsigningtest │ +am.services.oauth2.oidc.decryption.RSA.OAEP │test │ +am.services.oauth2.oidc.decryption.RSA.OAEP.256 │test │ +am.services.oauth2.oidc.decryption.RSA1.5 │test │ +am.services.oauth2.oidc.rp.idtoken.encryption │test │ +am.services.oauth2.oidc.rp.jwt.authenticity.signing │rsajwtsigningkey │ +am.services.oauth2.oidc.signing.ES256 │es256test │ +am.services.oauth2.oidc.signing.ES384 │es384test │ +am.services.oauth2.oidc.signing.ES512 │es512test │ +am.services.oauth2.oidc.signing.RSA │rsajwtsigningkey │ +am.services.oauth2.remote.consent.request.encryption │selfserviceenctest│ +am.services.oauth2.remote.consent.response.decryption │test │ +am.services.oauth2.remote.consent.response.signing.RSA │rsajwtsigningkey │ +am.services.oauth2.stateless.signing.ES256 │es256test │ +am.services.oauth2.stateless.signing.ES384 │es384test │ +am.services.oauth2.stateless.signing.ES512 │es512test │ +am.services.oauth2.stateless.signing.HMAC │hmacsigningtest │ +am.services.oauth2.stateless.signing.RSA │rsajwtsigningkey │ +am.services.oauth2.stateless.token.encryption │directenctest │ +am.services.saml2.metadata.signing.RSA │rsajwtsigningkey │ +am.services.uma.pct.encryption │directenctest │ +" +`; + +exports[`frodo secretstore mapping list "frodo secretstore mapping list --long --secretstore-id default-keystore --secretstore-type KeyStoreSecretStore --global --type classic": should list the secret store mappings for the global keystore secret store 2`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +" +`; + +exports[`frodo secretstore mapping list "frodo secretstore mapping list -gi EnvironmentAndSystemPropertySecretStore -m classic": should fail since EnvironmentAndSystemPropertySecretStore has no mappings 1`] = ` +"Connected to http://openam-frodo-dev.classic.com:8080/am [/] as user amAdmin +Error listing secret store mappings +Error reading secret store mappings for the secret store 'EnvironmentAndSystemPropertySecretStore' + No mappings exist for the secret store type 'EnvironmentAndSystemPropertySecretStore' +" +`; + +exports[`frodo secretstore mapping list "frodo secretstore mapping list -gi EnvironmentAndSystemPropertySecretStore -m classic": should fail since EnvironmentAndSystemPropertySecretStore has no mappings 2`] = `1`; + +exports[`frodo secretstore mapping list "frodo secretstore mapping list -i ESV": should list the secret store mappings for the ESV secret store 1`] = ` +"am.services.httpclient.mtls.clientcert.testClientCert.secret +" +`; + +exports[`frodo secretstore mapping list "frodo secretstore mapping list -i ESV": should list the secret store mappings for the ESV secret store 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +" +`; + +exports[`frodo secretstore mapping list "frodo secretstore mapping list -l -i ESV -t GoogleSecretManagerSecretStoreProvider": should list the secret store mappings for the ESV secret store with extra details 1`] = ` +"Secret Label │Active Alias │Other Aliases +am.services.httpclient.mtls.clientcert.testClientCert.secret│esv-test-client-cert│ +" +`; + +exports[`frodo secretstore mapping list "frodo secretstore mapping list -l -i ESV -t GoogleSecretManagerSecretStoreProvider": should list the secret store mappings for the ESV secret store with extra details 2`] = ` +"Connected to https://openam-frodo-dev.forgeblocks.com/am [alpha] as service account Frodo-SA-1749160367930 [b672336b-41ef-428d-ae4a-e0c082875377] +" +`; diff --git a/test/e2e/__snapshots__/server-export.e2e.test.js.snap b/test/e2e/__snapshots__/server-export.e2e.test.js.snap index 054565bd0..a121eb5cf 100644 --- a/test/e2e/__snapshots__/server-export.e2e.test.js.snap +++ b/test/e2e/__snapshots__/server-export.e2e.test.js.snap @@ -14,7 +14,7 @@ exports[`frodo server export "frodo server export --all": should export all serv "properties": { "advanced": { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", @@ -135,7 +135,7 @@ exports[`frodo server export "frodo server export --all": should export all serv }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am", + "value": "/root/am", }, "com.sun.identity.client.notification.url": { "inherited": true, @@ -1756,7 +1756,7 @@ exports[`frodo server export "frodo server export --all-separate --directory ser "properties": { "advanced": { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", @@ -1877,7 +1877,7 @@ exports[`frodo server export "frodo server export --all-separate --directory ser }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am", + "value": "/root/am", }, "com.sun.identity.client.notification.url": { "inherited": true, @@ -3516,7 +3516,7 @@ exports[`frodo server export "frodo server export --server-id 01": should export "properties": { "advanced": { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", @@ -3637,7 +3637,7 @@ exports[`frodo server export "frodo server export --server-id 01": should export }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am", + "value": "/root/am", }, "com.sun.identity.client.notification.url": { "inherited": true, @@ -4754,7 +4754,7 @@ exports[`frodo server export "frodo server export -AxNdD serverExportTestDir4": exports[`frodo server export "frodo server export -AxNdD serverExportTestDir4": should export all servers to separate files along with extracted and default properties: serverExportTestDir4/01/advanced.properties.server.json 1`] = ` { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", @@ -4884,7 +4884,7 @@ exports[`frodo server export "frodo server export -AxNdD serverExportTestDir4": }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am", + "value": "/root/am", }, "com.sun.identity.client.notification.url": { "inherited": true, @@ -6963,7 +6963,7 @@ exports[`frodo server export "frodo server export -axNdf serverExportTestFile3.j exports[`frodo server export "frodo server export -axNdf serverExportTestFile3.json -D serverExportTestDir3": should export all servers to a single file in the directory serverExportTestDir3 along with extracted and default properties.: serverExportTestDir3/01/advanced.properties.server.json 1`] = ` { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", @@ -7093,7 +7093,7 @@ exports[`frodo server export "frodo server export -axNdf serverExportTestFile3.j }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am", + "value": "/root/am", }, "com.sun.identity.client.notification.url": { "inherited": true, @@ -9110,7 +9110,7 @@ exports[`frodo server export "frodo server export -i 01 -f serverExportTestFile1 exports[`frodo server export "frodo server export -i 01 -f serverExportTestFile1.json -xNdD serverExportTestDir1": should export the server with server id "01" along with extracted properties and default properties.: serverExportTestDir1/01/advanced.properties.server.json 1`] = ` { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", @@ -9240,7 +9240,7 @@ exports[`frodo server export "frodo server export -i 01 -f serverExportTestFile1 }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am", + "value": "/root/am", }, "com.sun.identity.client.notification.url": { "inherited": true, diff --git a/test/e2e/exports/all-separate/classic/global/authentication/global.authentication.settings.json b/test/e2e/exports/all-separate/classic/global/authentication/global.authentication.settings.json index d6fba81d8..d6210ec79 100644 --- a/test/e2e/exports/all-separate/classic/global/authentication/global.authentication.settings.json +++ b/test/e2e/exports/all-separate/classic/global/authentication/global.authentication.settings.json @@ -9,15 +9,15 @@ "authenticators": [ "com.sun.identity.authentication.modules.ad.AD", "org.forgerock.openam.authentication.modules.saml2.SAML2", - "org.forgerock.openam.authentication.modules.social.SocialAuthInstagram", "org.forgerock.openam.authentication.modules.oath.OATH", + "org.forgerock.openam.authentication.modules.social.SocialAuthInstagram", "org.forgerock.openam.authentication.modules.social.SocialAuthVK", "com.sun.identity.authentication.modules.membership.Membership", "com.sun.identity.authentication.modules.windowsdesktopsso.WindowsDesktopSSO", "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdSave", "com.sun.identity.authentication.modules.federation.Federation", - "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdMatch", "com.sun.identity.authentication.modules.jdbc.JDBC", + "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdMatch", "com.sun.identity.authentication.modules.radius.RADIUS", "com.sun.identity.authentication.modules.anonymous.Anonymous", "com.sun.identity.authentication.modules.cert.Cert", @@ -30,16 +30,16 @@ "org.forgerock.openam.authentication.modules.social.SocialAuthTwitter", "com.sun.identity.authentication.modules.ldap.LDAP", "org.forgerock.openam.authentication.modules.push.AuthenticatorPush", - "org.forgerock.openam.authentication.modules.oauth2.OAuth", "com.sun.identity.authentication.modules.nt.NT", + "org.forgerock.openam.authentication.modules.oauth2.OAuth", "org.forgerock.openam.authentication.modules.social.SocialAuthWeChatMobile", "org.forgerock.openam.authentication.modules.jwtpop.JwtProofOfPossession", "com.sun.identity.authentication.modules.application.Application", "org.forgerock.openam.authentication.modules.scripted.Scripted", "org.forgerock.openam.authentication.modules.social.SocialAuthOAuth2", "com.sun.identity.authentication.modules.hotp.HOTP", - "org.forgerock.openam.authentication.modules.adaptive.Adaptive", "org.forgerock.openam.authentication.modules.accountactivecheck.AccountActiveCheck", + "org.forgerock.openam.authentication.modules.adaptive.Adaptive", "org.forgerock.openam.authentication.modules.social.SocialAuthOpenID", "com.sun.identity.authentication.modules.msisdn.MSISDN", "org.forgerock.openam.authentication.modules.fr.oath.AuthenticatorOATH", diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/activedirectory.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/activedirectory.authenticationModules.json index 1b2d2b01a..5a0322e5e 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/activedirectory.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/activedirectory.authenticationModules.json @@ -11,10 +11,10 @@ "authenticationLevel": 0, "connectionHeartbeatInterval": 1, "connectionHeartbeatTimeUnit": "MINUTES", - "openam-auth-ldap-connection-mode": "LDAP", + "openam-auth-ldap-connection-mode": "LDAPS", "operationTimeout": 0, "primaryLdapServer": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "profileAttributeMappings": [], "returnUserDN": true, @@ -22,13 +22,13 @@ "secondaryLdapServer": [], "stopLdapbindAfterInmemoryLockedEnabled": false, "trustAllServerCertificates": false, - "userBindDN": "cn=Directory Manager", + "userBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities", "userProfileRetrievalAttribute": "uid", "userSearchAttributes": [ "uid" ], "userSearchStartDN": [ - "dc=openam,dc=forgerock,dc=org" + "ou=identities" ] } } diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/amster.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/amster.authenticationModules.json index 93c5a1dc5..ac53681ff 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/amster.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/amster.authenticationModules.json @@ -9,7 +9,7 @@ }, "defaults": { "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true } } diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialInstagram.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialInstagram.authenticationModules.json index 5f8094139..776d5d068 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialInstagram.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialInstagram.authenticationModules.json @@ -38,7 +38,7 @@ "scope": [ "basic" ], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "subjectProperty": "id", "tokenEndpoint": "https://api.instagram.com/oauth/access_token", "userInfoEndpoint": "https://api.instagram.com/v1/users/self", diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialOAuth2.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialOAuth2.authenticationModules.json index 6850b9f4e..b0576aa56 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialOAuth2.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialOAuth2.authenticationModules.json @@ -25,7 +25,7 @@ "logoutBehaviour": "prompt", "mixUpMitigation": false, "scope": [], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "usesBasicAuth": true }, "emailSettings": { diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialOpenID.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialOpenID.authenticationModules.json index 3c98df45d..d79246380 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialOpenID.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialOpenID.authenticationModules.json @@ -27,7 +27,7 @@ "scope": [ "openid" ], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "usesBasicAuth": true }, "emailSettings": { diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialTwitter.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialTwitter.authenticationModules.json index a7b25262a..d187d5db0 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialTwitter.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialTwitter.authenticationModules.json @@ -34,7 +34,7 @@ "authorizeEndpoint": "https://api.twitter.com/oauth/authenticate", "provider": "Twitter", "requestTokenEndpoint": "https://api.twitter.com/oauth/request_token", - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "subjectProperty": "id_str", "tokenEndpoint": "https://api.twitter.com/oauth/access_token", "userInfoEndpoint": "https://api.twitter.com/1.1/account/verify_credentials.json", diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialVk.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialVk.authenticationModules.json index 27eab9931..3279f6ec7 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialVk.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialVk.authenticationModules.json @@ -19,8 +19,8 @@ "first_name=givenName", "first_name=cn", "id=uid", - "last_name=sn", - "email=mail" + "email=mail", + "last_name=sn" ], "attributeMappingClasses": [ "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|vkontakte-" @@ -39,7 +39,7 @@ "scope": [ "email" ], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "subjectProperty": "id", "tokenEndpoint": "https://oauth.vk.com/access_token", "userInfoEndpoint": "https://api.vk.com/method/users.get" diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialWeChat.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialWeChat.authenticationModules.json index d1784f4ab..3cdb18781 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialWeChat.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialWeChat.authenticationModules.json @@ -37,7 +37,7 @@ "scope": [ "snsapi_login" ], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "subjectProperty": "openid", "tokenEndpoint": "https://api.wechat.com/sns/oauth2/access_token", "userInfoEndpoint": "https://api.wechat.com/sns/userinfo", diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialWeChatMobile.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialWeChatMobile.authenticationModules.json index 1d2754e9a..107c72227 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialWeChatMobile.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/authSocialWeChatMobile.authenticationModules.json @@ -36,7 +36,7 @@ "scope": [ "snsapi_userinfo" ], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "subjectProperty": "openid", "userInfoEndpoint": "https://api.wechat.com/sns/userinfo" }, diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/certificate.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/certificate.authenticationModules.json index da9da30e7..d8e284b24 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/certificate.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/certificate.authenticationModules.json @@ -13,7 +13,7 @@ "certificateAttributeProfileMappingExtension": "none", "certificateAttributeToProfileMapping": "subject CN", "certificateLdapServers": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "crlMatchingCertificateAttribute": "CN", "iplanet-am-auth-cert-gw-cert-preferred": false, @@ -28,7 +28,7 @@ "none" ], "updateCRLsFromDistributionPoint": true, - "userBindDN": "cn=Directory Manager" + "userBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities" } } } diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/ldap.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/ldap.authenticationModules.json index ebb09144c..227803163 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/ldap.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/ldap.authenticationModules.json @@ -13,10 +13,10 @@ "connectionHeartbeatInterval": 10, "connectionHeartbeatTimeUnit": "SECONDS", "minimumPasswordLength": "8", - "openam-auth-ldap-connection-mode": "LDAP", + "openam-auth-ldap-connection-mode": "LDAPS", "operationTimeout": 0, "primaryLdapServer": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "profileAttributeMappings": [], "returnUserDN": true, @@ -24,13 +24,13 @@ "secondaryLdapServer": [], "stopLdapbindAfterInmemoryLockedEnabled": false, "trustAllServerCertificates": false, - "userBindDN": "cn=Directory Manager", + "userBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities", "userProfileRetrievalAttribute": "uid", "userSearchAttributes": [ "uid" ], "userSearchStartDN": [ - "dc=openam,dc=forgerock,dc=org" + "ou=identities" ] } } diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/msisdn.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/msisdn.authenticationModules.json index 2d4dd05f5..7fe129f0e 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/msisdn.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/msisdn.authenticationModules.json @@ -10,13 +10,13 @@ "defaults": { "authenticationLevel": 0, "baseSearchDN": [ - "dc=openam,dc=forgerock,dc=org" + "ou=identities" ], "ldapProviderUrl": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "ldapSslEnabled": false, - "ldapUserBindDN": "cn=Directory Manager", + "ldapUserBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities", "msisdnParameterNames": [], "msisdnRequestSearchLocations": [ "searchRequest", diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/oauth2.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/oauth2.authenticationModules.json index 78058c0b1..87a639c0a 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/oauth2.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/oauth2.authenticationModules.json @@ -23,9 +23,9 @@ "email=facebook-email", "last_name=facebook-lname", "first_name=facebook-fname", - "name=cn", "email=mail", - "last_name=sn" + "last_name=sn", + "name=cn" ], "attributeMappingClasses": [ "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper" @@ -43,7 +43,7 @@ "smtpFromAddress": "info@forgerock.com", "smtpHostName": "localhost", "smtpHostPort": "25", - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "userProfileServiceUrl": "https://graph.facebook.com/me" } } diff --git a/test/e2e/exports/all-separate/classic/global/authenticationModules/securid.authenticationModules.json b/test/e2e/exports/all-separate/classic/global/authenticationModules/securid.authenticationModules.json index 83c0660b8..8eed110e7 100644 --- a/test/e2e/exports/all-separate/classic/global/authenticationModules/securid.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/global/authenticationModules/securid.authenticationModules.json @@ -9,7 +9,7 @@ }, "defaults": { "authenticationLevel": 0, - "serverConfigPath": "/home/prestonhales/am/config/auth/ace/data" + "serverConfigPath": "/root/am/config/auth/ace/data" } } } diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_CLIENT_SIDE.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_CLIENT_SIDE.scripttype.json index e7006b285..e279dd797 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_CLIENT_SIDE.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_CLIENT_SIDE.scripttype.json @@ -9,7 +9,8 @@ }, "context": { "_id": "AUTHENTICATION_CLIENT_SIDE", - "allowLists": {}, + "allowLists": [], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -20,6 +21,7 @@ } }, "defaultScript": "[Empty]", + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_SERVER_SIDE.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_SERVER_SIDE.scripttype.json index 858f3aa3f..f2d0643b2 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_SERVER_SIDE.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_SERVER_SIDE.scripttype.json @@ -9,142 +9,73 @@ }, "context": { "_id": "AUTHENTICATION_SERVER_SIDE", - "allowLists": { - "1.0": [ - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Character", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.ArrayList$Itr", - "java.util.ArrayList", - "java.util.HashMap$KeyIterator", - "java.util.HashMap", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.Cookie", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.json.JsonValue", - "org.forgerock.openam.authentication.modules.scripted.*", - "org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ], - "2.0": [ - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Character", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.ArrayList$Itr", - "java.util.ArrayList", - "java.util.HashMap$KeyIterator", - "java.util.HashMap", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.Cookie", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.json.JsonValue", - "org.forgerock.openam.authentication.modules.scripted.*", - "org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.ArrayList$Itr", + "java.util.ArrayList", + "java.util.HashMap$KeyIterator", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.authentication.modules.scripted.*", + "org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -242,6 +173,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_TREE_DECISION_NODE.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_TREE_DECISION_NODE.scripttype.json index a1162463b..adbe88ace 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_TREE_DECISION_NODE.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/AUTHENTICATION_TREE_DECISION_NODE.scripttype.json @@ -9,195 +9,131 @@ }, "context": { "_id": "AUTHENTICATION_TREE_DECISION_NODE", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$*", - "java.util.ArrayList", - "java.util.Collections", - "java.util.Collections$*", - "java.util.concurrent.TimeUnit", - "java.util.concurrent.ExecutionException", - "java.util.concurrent.TimeoutException", - "java.util.HashSet", - "java.util.HashMap", - "java.util.HashMap$KeyIterator", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.security.KeyPair", - "java.security.KeyPairGenerator", - "java.security.KeyPairGenerator$*", - "java.security.PrivateKey", - "java.security.PublicKey", - "java.security.spec.InvalidKeySpecException", - "java.security.spec.X509EncodedKeySpec", - "java.security.spec.MGF1ParameterSpec", - "javax.crypto.SecretKeyFactory", - "javax.crypto.spec.OAEPParameterSpec", - "javax.crypto.spec.PBEKeySpec", - "javax.crypto.spec.PSource", - "javax.crypto.spec.PSource$*", - "javax.security.auth.callback.NameCallback", - "javax.security.auth.callback.PasswordCallback", - "javax.security.auth.callback.ChoiceCallback", - "javax.security.auth.callback.ConfirmationCallback", - "javax.security.auth.callback.LanguageCallback", - "javax.security.auth.callback.TextInputCallback", - "javax.security.auth.callback.TextOutputCallback", - "com.sun.crypto.provider.PBKDF2KeyImpl", - "com.sun.identity.authentication.callbacks.HiddenValueCallback", - "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", - "com.sun.identity.authentication.spi.HttpCallback", - "com.sun.identity.authentication.spi.MetadataCallback", - "com.sun.identity.authentication.spi.RedirectCallback", - "com.sun.identity.authentication.spi.X509CertificateCallback", - "com.sun.identity.shared.debug.Debug", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.Client", - "org.forgerock.http.Handler", - "org.forgerock.http.Context", - "org.forgerock.http.context.RootContext", - "org.forgerock.http.protocol.Cookie", - "org.forgerock.http.header.*", - "org.forgerock.http.header.authorization.*", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.json.JsonValue", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.auth.node.api.Action", - "org.forgerock.openam.auth.node.api.Action$ActionBuilder", - "org.forgerock.openam.authentication.callbacks.IdPCallback", - "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", - "org.forgerock.openam.core.rest.authn.callbackhandlers.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "groovy.json.JsonSlurper", - "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", - "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.scripting.api.secrets.Secret", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.openam.auth.node.api.NodeState", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "org.mozilla.javascript.ConsString", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ], - "2.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$*", - "java.util.ArrayList", - "java.util.Collections", - "java.util.concurrent.TimeUnit", - "java.util.Collections$*", - "java.util.HashSet", - "java.util.HashMap$KeyIterator", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeSet", - "java.security.KeyPair", - "java.security.KeyPairGenerator", - "java.security.KeyPairGenerator$*", - "java.security.PrivateKey", - "java.security.PublicKey", - "java.security.spec.X509EncodedKeySpec", - "java.security.spec.MGF1ParameterSpec", - "javax.crypto.SecretKeyFactory", - "javax.crypto.spec.OAEPParameterSpec", - "javax.crypto.spec.PBEKeySpec", - "javax.crypto.spec.PSource", - "javax.crypto.spec.PSource$*", - "org.forgerock.json.JsonValue", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "java.util.concurrent.ExecutionException", - "java.util.concurrent.TimeoutException", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.core.rest.authn.callbackhandlers.*", - "com.sun.crypto.provider.PBKDF2KeyImpl", - "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "org.mozilla.javascript.ConsString", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "ch.qos.logback.classic.Logger", - "org.forgerock.util.promise.Promises$*", - "com.sun.proxy.$*", - "java.util.Date", - "java.security.spec.InvalidKeySpecException", - "jdk.proxy*" - ] - }, + "allowLists": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.concurrent.TimeUnit", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.HashSet", + "java.util.HashMap", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "javax.security.auth.callback.NameCallback", + "javax.security.auth.callback.PasswordCallback", + "javax.security.auth.callback.ChoiceCallback", + "javax.security.auth.callback.ConfirmationCallback", + "javax.security.auth.callback.LanguageCallback", + "javax.security.auth.callback.TextInputCallback", + "javax.security.auth.callback.TextOutputCallback", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.identity.authentication.callbacks.HiddenValueCallback", + "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", + "com.sun.identity.authentication.spi.HttpCallback", + "com.sun.identity.authentication.spi.MetadataCallback", + "com.sun.identity.authentication.spi.RedirectCallback", + "com.sun.identity.authentication.spi.X509CertificateCallback", + "com.sun.identity.shared.debug.Debug", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.header.*", + "org.forgerock.http.header.authorization.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.auth.node.api.Action", + "org.forgerock.openam.auth.node.api.Action$ActionBuilder", + "org.forgerock.openam.authentication.callbacks.IdPCallback", + "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.scripting.api.secrets.Secret", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openam.auth.node.api.NodeState", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "org.mozilla.javascript.ConsString", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.openam.auth.nodes.VerifyTransactionsHelper" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" ], "JAVASCRIPT": [ - "1.0", - "2.0" + "1.0" ] } }, @@ -340,6 +276,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/CONFIG_PROVIDER_NODE.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/CONFIG_PROVIDER_NODE.scripttype.json index 6bac1c2eb..f8753b3eb 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/CONFIG_PROVIDER_NODE.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/CONFIG_PROVIDER_NODE.scripttype.json @@ -9,244 +9,124 @@ }, "context": { "_id": "CONFIG_PROVIDER_NODE", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$*", - "java.util.ArrayList", - "java.util.Collections", - "java.util.Collections$*", - "java.util.concurrent.TimeUnit", - "java.util.concurrent.ExecutionException", - "java.util.concurrent.TimeoutException", - "java.util.HashSet", - "java.util.HashMap", - "java.util.HashMap$KeyIterator", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.security.KeyPair", - "java.security.KeyPairGenerator", - "java.security.KeyPairGenerator$*", - "java.security.PrivateKey", - "java.security.PublicKey", - "java.security.spec.InvalidKeySpecException", - "java.security.spec.X509EncodedKeySpec", - "java.security.spec.MGF1ParameterSpec", - "javax.crypto.SecretKeyFactory", - "javax.crypto.spec.OAEPParameterSpec", - "javax.crypto.spec.PBEKeySpec", - "javax.crypto.spec.PSource", - "javax.crypto.spec.PSource$*", - "javax.security.auth.callback.NameCallback", - "javax.security.auth.callback.PasswordCallback", - "javax.security.auth.callback.ChoiceCallback", - "javax.security.auth.callback.ConfirmationCallback", - "javax.security.auth.callback.LanguageCallback", - "javax.security.auth.callback.TextInputCallback", - "javax.security.auth.callback.TextOutputCallback", - "com.sun.crypto.provider.PBKDF2KeyImpl", - "com.sun.identity.authentication.callbacks.HiddenValueCallback", - "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", - "com.sun.identity.authentication.spi.HttpCallback", - "com.sun.identity.authentication.spi.MetadataCallback", - "com.sun.identity.authentication.spi.RedirectCallback", - "com.sun.identity.authentication.spi.X509CertificateCallback", - "com.sun.identity.shared.debug.Debug", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.Client", - "org.forgerock.http.Handler", - "org.forgerock.http.Context", - "org.forgerock.http.context.RootContext", - "org.forgerock.http.protocol.Cookie", - "org.forgerock.http.header.*", - "org.forgerock.http.header.authorization.*", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.json.JsonValue", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.auth.node.api.Action", - "org.forgerock.openam.auth.node.api.Action$ActionBuilder", - "org.forgerock.openam.authentication.callbacks.IdPCallback", - "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", - "org.forgerock.openam.core.rest.authn.callbackhandlers.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "groovy.json.JsonSlurper", - "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", - "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.scripting.api.secrets.Secret", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.openam.auth.node.api.NodeState", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "org.mozilla.javascript.ConsString", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ], - "2.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$*", - "java.util.ArrayList", - "java.util.Collections", - "java.util.Collections$*", - "java.util.concurrent.TimeUnit", - "java.util.concurrent.ExecutionException", - "java.util.concurrent.TimeoutException", - "java.util.HashSet", - "java.util.HashMap", - "java.util.HashMap$KeyIterator", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.security.KeyPair", - "java.security.KeyPairGenerator", - "java.security.KeyPairGenerator$*", - "java.security.PrivateKey", - "java.security.PublicKey", - "java.security.spec.InvalidKeySpecException", - "java.security.spec.X509EncodedKeySpec", - "java.security.spec.MGF1ParameterSpec", - "javax.crypto.SecretKeyFactory", - "javax.crypto.spec.OAEPParameterSpec", - "javax.crypto.spec.PBEKeySpec", - "javax.crypto.spec.PSource", - "javax.crypto.spec.PSource$*", - "javax.security.auth.callback.NameCallback", - "javax.security.auth.callback.PasswordCallback", - "javax.security.auth.callback.ChoiceCallback", - "javax.security.auth.callback.ConfirmationCallback", - "javax.security.auth.callback.LanguageCallback", - "javax.security.auth.callback.TextInputCallback", - "javax.security.auth.callback.TextOutputCallback", - "com.sun.crypto.provider.PBKDF2KeyImpl", - "com.sun.identity.authentication.callbacks.HiddenValueCallback", - "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", - "com.sun.identity.authentication.spi.HttpCallback", - "com.sun.identity.authentication.spi.MetadataCallback", - "com.sun.identity.authentication.spi.RedirectCallback", - "com.sun.identity.authentication.spi.X509CertificateCallback", - "com.sun.identity.shared.debug.Debug", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.Client", - "org.forgerock.http.Handler", - "org.forgerock.http.Context", - "org.forgerock.http.context.RootContext", - "org.forgerock.http.protocol.Cookie", - "org.forgerock.http.header.*", - "org.forgerock.http.header.authorization.*", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.json.JsonValue", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.auth.node.api.Action", - "org.forgerock.openam.auth.node.api.Action$ActionBuilder", - "org.forgerock.openam.authentication.callbacks.IdPCallback", - "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", - "org.forgerock.openam.core.rest.authn.callbackhandlers.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "groovy.json.JsonSlurper", - "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", - "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.scripting.api.secrets.Secret", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.openam.auth.node.api.NodeState", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "org.mozilla.javascript.ConsString", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ] - }, + "allowLists": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.concurrent.TimeUnit", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.HashSet", + "java.util.HashMap", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "javax.security.auth.callback.NameCallback", + "javax.security.auth.callback.PasswordCallback", + "javax.security.auth.callback.ChoiceCallback", + "javax.security.auth.callback.ConfirmationCallback", + "javax.security.auth.callback.LanguageCallback", + "javax.security.auth.callback.TextInputCallback", + "javax.security.auth.callback.TextOutputCallback", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.identity.authentication.callbacks.HiddenValueCallback", + "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", + "com.sun.identity.authentication.spi.HttpCallback", + "com.sun.identity.authentication.spi.MetadataCallback", + "com.sun.identity.authentication.spi.RedirectCallback", + "com.sun.identity.authentication.spi.X509CertificateCallback", + "com.sun.identity.shared.debug.Debug", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.header.*", + "org.forgerock.http.header.authorization.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.auth.node.api.Action", + "org.forgerock.openam.auth.node.api.Action$ActionBuilder", + "org.forgerock.openam.authentication.callbacks.IdPCallback", + "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.scripting.api.secrets.Secret", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openam.auth.node.api.NodeState", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "org.mozilla.javascript.ConsString", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -395,6 +275,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/CONFIG_PROVIDER_NODE_NEXT_GEN.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/CONFIG_PROVIDER_NODE_NEXT_GEN.scripttype.json new file mode 100644 index 000000000..8279dc3e0 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/global/scripttype/CONFIG_PROVIDER_NODE_NEXT_GEN.scripttype.json @@ -0,0 +1,1537 @@ +{ + "scripttype": { + "CONFIG_PROVIDER_NODE_NEXT_GEN": { + "_id": "CONFIG_PROVIDER_NODE_NEXT_GEN", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "CONFIG_PROVIDER_NODE_NEXT_GEN", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestParameters" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getIdentity", + "parameters": [ + { + "javaScriptType": "string", + "name": "userName" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper", + "javaScriptType": "object", + "name": "idRepository" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestHeaders" + }, + { + "elements": [ + { + "elementType": "method", + "name": "remove", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "get", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "keys", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getObject", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "isDefined", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "putShared", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putTransient", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeShared", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeTransient", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.node.api.NodeStateScriptWrapper", + "javaScriptType": "object", + "name": "nodeState" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "existingSession" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] + } + }, + "defaultScript": "[Empty]", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Object", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] + } + } +} diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/DEVICE_MATCH_NODE.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/DEVICE_MATCH_NODE.scripttype.json new file mode 100644 index 000000000..1f0b583ce --- /dev/null +++ b/test/e2e/exports/all-separate/classic/global/scripttype/DEVICE_MATCH_NODE.scripttype.json @@ -0,0 +1,3156 @@ +{ + "scripttype": { + "DEVICE_MATCH_NODE": { + "_id": "DEVICE_MATCH_NODE", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "DEVICE_MATCH_NODE", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.concurrent.TimeUnit", + "java.util.Collections$*", + "java.util.HashSet", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "sun.security.ec.ECPrivateKeyImpl", + "org.slf4j.Logger", + "com.sun.proxy.$*", + "java.util.Date", + "java.security.spec.InvalidKeySpecException", + "org.forgerock.openam.auth.nodes.VerifyTransactionsHelper" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "getDeviceProfiles", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + }, + { + "javaScriptType": "string", + "name": "realm" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "saveDeviceProfiles", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "javaScriptType": "array", + "name": "deviceProfiles" + } + ], + "returnType": "void" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.DeviceProfilesDaoScriptWrapper", + "javaScriptType": "object", + "name": "deviceProfilesDao" + }, + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestParameters" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getStringAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getNumberAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getKbaCreateCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getSelectIdPCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getTermsAndConditionsCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getChoiceCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getNameCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getPasswordCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getHiddenValueCallbacks", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getTextInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getBooleanAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getConfirmationCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getLanguageCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getIdpCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getValidatedPasswordCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getValidatedUsernameCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getHttpCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getX509CertificateCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getConsentMappingCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getDeviceProfileCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "isEmpty", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper", + "javaScriptType": "object", + "name": "callbacks" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getIdentity", + "parameters": [ + { + "javaScriptType": "string", + "name": "userName" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper", + "javaScriptType": "object", + "name": "idRepository" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestHeaders" + }, + { + "elements": [ + { + "elementType": "method", + "name": "generateJwt", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper", + "javaScriptType": "object", + "name": "jwtAssertion" + }, + { + "elements": [ + { + "elementType": "method", + "name": "remove", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "get", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "keys", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getObject", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "isDefined", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "putShared", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putTransient", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeShared", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeTransient", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.node.api.NodeStateScriptWrapper", + "javaScriptType": "object", + "name": "nodeState" + }, + { + "javaScriptType": "boolean", + "name": "resumedFromSuspend" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "elements": [ + { + "elementType": "method", + "name": "withIdentifiedUser", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withIdentifiedAgent", + "parameters": [ + { + "javaScriptType": "string", + "name": "agentName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + }, + { + "javaScriptType": "number", + "name": "maximumSuspendDuration" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "goTo", + "parameters": [ + { + "javaScriptType": "string", + "name": "outcome" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withHeader", + "parameters": [ + { + "javaScriptType": "string", + "name": "header" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withDescription", + "parameters": [ + { + "javaScriptType": "string", + "name": "description" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withStage", + "parameters": [ + { + "javaScriptType": "string", + "name": "stage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withErrorMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "errorMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withLockoutMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "lockoutMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "removeSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxSessionTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxSessionTime" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxIdleTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxIdleTime" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ActionWrapper", + "javaScriptType": "object", + "name": "action" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "validateJwtClaims", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper", + "javaScriptType": "object", + "name": "jwtValidator" + }, + { + "elements": [ + { + "elementType": "method", + "name": "suspendedTextOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultText" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "scriptTextOutputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "metadataCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "outputValue" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "languageCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "language" + }, + { + "javaScriptType": "string", + "name": "country" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + }, + { + "javaScriptType": "string", + "name": "token" + }, + { + "javaScriptType": "string", + "name": "tokenType" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authRHeader" + }, + { + "javaScriptType": "string", + "name": "negoName" + }, + { + "javaScriptType": "string", + "name": "negoValue" + }, + { + "javaScriptType": "number", + "name": "errorCode" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authorizationHeader" + }, + { + "javaScriptType": "string", + "name": "negotiationHeader" + }, + { + "javaScriptType": "string", + "name": "errorCode" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + }, + { + "javaScriptType": "boolean", + "name": "requestSignature" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "config" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "displayName" + }, + { + "javaScriptType": "string", + "name": "icon" + }, + { + "javaScriptType": "string", + "name": "accessLevel" + }, + { + "javaScriptType": "array", + "name": "titles" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "deviceProfileCallback", + "parameters": [ + { + "javaScriptType": "boolean", + "name": "metadata" + }, + { + "javaScriptType": "boolean", + "name": "location" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "kbaCreateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "predefinedQuestions" + }, + { + "javaScriptType": "boolean", + "name": "allowUserDefinedQuestions" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "selectIdPCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "providers" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "termsAndConditionsCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "version" + }, + { + "javaScriptType": "string", + "name": "terms" + }, + { + "javaScriptType": "string", + "name": "createDate" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "choiceCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "choices" + }, + { + "javaScriptType": "number", + "name": "defaultChoice" + }, + { + "javaScriptType": "boolean", + "name": "multipleSelectionsAllowed" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultName" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "passwordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "pollingWaitCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "waitTime" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "hiddenValueCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder", + "javaScriptType": "object", + "name": "callbacksBuilder" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestCookies" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] + } + }, + "defaultScript": "11e1a3c0-038b-4c16-956a-6c9d89328d00", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.proxy.$*", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.MGF1ParameterSpec", + "java.security.spec.X509EncodedKeySpec", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.concurrent.TimeUnit", + "java.util.Date", + "java.util.HashMap$KeyIterator", + "java.util.HashSet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeSet", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.auth.nodes.VerifyTransactionsHelper", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "org.slf4j.Logger", + "sun.security.ec.ECPrivateKeyImpl" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] + } + } +} diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/LIBRARY.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/LIBRARY.scripttype.json index 0ae9075ce..62aabbb6f 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/LIBRARY.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/LIBRARY.scripttype.json @@ -9,74 +9,1351 @@ }, "context": { "_id": "LIBRARY", - "allowLists": { - "1.0": [ - "java.lang.Float", - "org.forgerock.http.protocol.Header", - "java.lang.Integer", - "org.forgerock.http.Client", - "java.lang.Character$UnicodeBlock", - "java.lang.Character", - "java.lang.Long", - "java.lang.Short", - "java.util.Map", - "org.forgerock.http.client.*", - "java.lang.Math", - "org.forgerock.opendj.ldap.Dn", - "java.lang.Byte", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "java.lang.StrictMath", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.http.Context", - "java.lang.Void", - "org.codehaus.groovy.runtime.GStringImpl", - "groovy.json.JsonSlurper", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.context.RootContext", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "java.util.List", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Responses", - "org.forgerock.util.promise.Promise", - "java.util.HashMap$KeyIterator", - "com.sun.identity.shared.debug.Debug", - "java.lang.Double", - "org.forgerock.http.protocol.Headers", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.http.protocol.Status", - "java.util.HashMap", - "java.lang.Character$Subset", - "java.util.TreeSet", - "java.util.ArrayList", - "java.util.HashSet", - "java.util.LinkedHashMap", - "org.forgerock.http.protocol.ResponseException", - "java.util.Collections$UnmodifiableRandomAccessList", - "org.forgerock.http.protocol.Message", - "java.lang.Boolean", - "java.lang.String", - "java.lang.Number", - "java.util.LinkedList", - "java.util.LinkedHashSet", - "org.forgerock.http.protocol.Response", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.TreeMap", - "java.util.Collections$EmptyList", - "org.forgerock.openam.scripting.api.ScriptedSession", - "java.util.Collections$UnmodifiableCollection$1", - "org.forgerock.http.Handler", - "java.lang.Object", - "org.forgerock.http.protocol.Form", - "jdk.proxy*" - ], - "2.0": [ - "jdk.proxy*" - ] - }, + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], "evaluatorVersions": { "JAVASCRIPT": [ "2.0" @@ -166,6 +1443,7 @@ "org.forgerock.http.protocol.Form" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT" ] diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/NODE_DESIGNER.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/NODE_DESIGNER.scripttype.json new file mode 100644 index 000000000..52f0ec2c0 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/global/scripttype/NODE_DESIGNER.scripttype.json @@ -0,0 +1,3123 @@ +{ + "scripttype": { + "NODE_DESIGNER": { + "_id": "NODE_DESIGNER", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "NODE_DESIGNER", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.concurrent.TimeUnit", + "java.util.Collections$*", + "java.util.HashSet", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "sun.security.ec.ECPrivateKeyImpl", + "ch.qos.logback.classic.Logger", + "com.sun.proxy.$*", + "java.util.Date", + "java.security.spec.InvalidKeySpecException" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestParameters" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getStringAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getNumberAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getKbaCreateCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getSelectIdPCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getTermsAndConditionsCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getChoiceCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getNameCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getPasswordCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getHiddenValueCallbacks", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getTextInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getBooleanAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getConfirmationCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getLanguageCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getIdpCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getValidatedPasswordCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getValidatedUsernameCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getHttpCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getX509CertificateCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getConsentMappingCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getDeviceProfileCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "isEmpty", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper", + "javaScriptType": "object", + "name": "callbacks" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getIdentity", + "parameters": [ + { + "javaScriptType": "string", + "name": "userName" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper", + "javaScriptType": "object", + "name": "idRepository" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestHeaders" + }, + { + "elements": [ + { + "elementType": "method", + "name": "generateJwt", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper", + "javaScriptType": "object", + "name": "jwtAssertion" + }, + { + "elements": [ + { + "elementType": "method", + "name": "remove", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "get", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "keys", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getObject", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "isDefined", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "putShared", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putTransient", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeShared", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeTransient", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.node.api.NodeStateScriptWrapper", + "javaScriptType": "object", + "name": "nodeState" + }, + { + "javaScriptType": "boolean", + "name": "resumedFromSuspend" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "existingSession" + }, + { + "elements": [ + { + "elementType": "method", + "name": "withIdentifiedUser", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withIdentifiedAgent", + "parameters": [ + { + "javaScriptType": "string", + "name": "agentName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + }, + { + "javaScriptType": "number", + "name": "maximumSuspendDuration" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "goTo", + "parameters": [ + { + "javaScriptType": "string", + "name": "outcome" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withHeader", + "parameters": [ + { + "javaScriptType": "string", + "name": "header" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withDescription", + "parameters": [ + { + "javaScriptType": "string", + "name": "description" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withStage", + "parameters": [ + { + "javaScriptType": "string", + "name": "stage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withErrorMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "errorMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withLockoutMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "lockoutMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "removeSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxSessionTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxSessionTime" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxIdleTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxIdleTime" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ActionWrapper", + "javaScriptType": "object", + "name": "action" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "validateJwtClaims", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper", + "javaScriptType": "object", + "name": "jwtValidator" + }, + { + "elements": [ + { + "elementType": "method", + "name": "suspendedTextOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultText" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "scriptTextOutputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "metadataCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "outputValue" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "languageCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "language" + }, + { + "javaScriptType": "string", + "name": "country" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + }, + { + "javaScriptType": "string", + "name": "token" + }, + { + "javaScriptType": "string", + "name": "tokenType" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authRHeader" + }, + { + "javaScriptType": "string", + "name": "negoName" + }, + { + "javaScriptType": "string", + "name": "negoValue" + }, + { + "javaScriptType": "number", + "name": "errorCode" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authorizationHeader" + }, + { + "javaScriptType": "string", + "name": "negotiationHeader" + }, + { + "javaScriptType": "string", + "name": "errorCode" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + }, + { + "javaScriptType": "boolean", + "name": "requestSignature" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "config" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "displayName" + }, + { + "javaScriptType": "string", + "name": "icon" + }, + { + "javaScriptType": "string", + "name": "accessLevel" + }, + { + "javaScriptType": "array", + "name": "titles" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "deviceProfileCallback", + "parameters": [ + { + "javaScriptType": "boolean", + "name": "metadata" + }, + { + "javaScriptType": "boolean", + "name": "location" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "kbaCreateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "predefinedQuestions" + }, + { + "javaScriptType": "boolean", + "name": "allowUserDefinedQuestions" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "selectIdPCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "providers" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "termsAndConditionsCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "version" + }, + { + "javaScriptType": "string", + "name": "terms" + }, + { + "javaScriptType": "string", + "name": "createDate" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "choiceCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "choices" + }, + { + "javaScriptType": "number", + "name": "defaultChoice" + }, + { + "javaScriptType": "boolean", + "name": "multipleSelectionsAllowed" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultName" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "passwordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "pollingWaitCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "waitTime" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "hiddenValueCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder", + "javaScriptType": "object", + "name": "callbacksBuilder" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestCookies" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "properties" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] + } + }, + "defaultScript": "[Empty]", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "ch.qos.logback.classic.Logger", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.proxy.$*", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.MGF1ParameterSpec", + "java.security.spec.X509EncodedKeySpec", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.concurrent.TimeUnit", + "java.util.Date", + "java.util.HashMap$KeyIterator", + "java.util.HashSet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeSet", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "sun.security.ec.ECPrivateKeyImpl" + ] + }, + "isHidden": true, + "languages": [ + "JAVASCRIPT" + ] + } + } +} diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_ACCESS_TOKEN_MODIFICATION.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_ACCESS_TOKEN_MODIFICATION.scripttype.json index c300081dc..5c0e95fdf 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_ACCESS_TOKEN_MODIFICATION.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_ACCESS_TOKEN_MODIFICATION.scripttype.json @@ -9,176 +9,90 @@ }, "context": { "_id": "OAUTH2_ACCESS_TOKEN_MODIFICATION", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -293,6 +207,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER.scripttype.json index 8e78f7a05..804745689 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER.scripttype.json @@ -9,156 +9,80 @@ }, "context": { "_id": "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.exceptions.ServerException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.exceptions.ServerException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -263,6 +187,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_DYNAMIC_CLIENT_REGISTRATION.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_DYNAMIC_CLIENT_REGISTRATION.scripttype.json new file mode 100644 index 000000000..b068aa9ad --- /dev/null +++ b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_DYNAMIC_CLIENT_REGISTRATION.scripttype.json @@ -0,0 +1,1475 @@ +{ + "scripttype": { + "OAUTH2_DYNAMIC_CLIENT_REGISTRATION": { + "_id": "OAUTH2_DYNAMIC_CLIENT_REGISTRATION", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "OAUTH2_DYNAMIC_CLIENT_REGISTRATION", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "softwareStatement" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestProperties" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "javaScriptType": "string", + "name": "operation" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "store", + "parameters": [], + "returnType": "void" + }, + { + "elementType": "method", + "name": "setAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "array", + "name": "attributeValues" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "addAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "string", + "name": "attributeValue" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "getAttributeValues", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getUniversalId", + "parameters": [], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityScriptWrapper", + "javaScriptType": "object", + "name": "clientIdentity" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] + } + }, + "defaultScript": "4b6b7e8e-cf03-46c8-949f-c5742dbd6bc5", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Object", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] + } + } +} diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_EVALUATE_SCOPE.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_EVALUATE_SCOPE.scripttype.json index 78ca8b6d9..30a514695 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_EVALUATE_SCOPE.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_EVALUATE_SCOPE.scripttype.json @@ -9,176 +9,90 @@ }, "context": { "_id": "OAUTH2_EVALUATE_SCOPE", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -293,6 +207,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_MAY_ACT.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_MAY_ACT.scripttype.json index 9681acfb9..4a1f1b30e 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_MAY_ACT.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_MAY_ACT.scripttype.json @@ -9,180 +9,92 @@ }, "context": { "_id": "OAUTH2_MAY_ACT", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.oauth2.core.tokenexchange.ExchangeableToken", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.OpenIdConnectToken", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.oauth2.core.tokenexchange.ExchangeableToken", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.OpenIdConnectToken", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.oauth2.core.tokenexchange.ExchangeableToken", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.OpenIdConnectToken", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -299,6 +211,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_SCRIPTED_JWT_ISSUER.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_SCRIPTED_JWT_ISSUER.scripttype.json index f88597665..c627d9af2 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_SCRIPTED_JWT_ISSUER.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_SCRIPTED_JWT_ISSUER.scripttype.json @@ -9,158 +9,81 @@ }, "context": { "_id": "OAUTH2_SCRIPTED_JWT_ISSUER", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.TrustedJwtIssuerConfig", - "org.forgerock.oauth2.core.exceptions.ServerException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.TrustedJwtIssuerConfig", - "org.forgerock.oauth2.core.exceptions.ServerException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.TrustedJwtIssuerConfig", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -266,6 +189,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_VALIDATE_SCOPE.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_VALIDATE_SCOPE.scripttype.json index 18b885c16..3aeb02777 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_VALIDATE_SCOPE.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/OAUTH2_VALIDATE_SCOPE.scripttype.json @@ -9,154 +9,79 @@ }, "context": { "_id": "OAUTH2_VALIDATE_SCOPE", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.exceptions.InvalidScopeException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.exceptions.InvalidScopeException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.InvalidScopeException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -260,6 +185,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/OIDC_CLAIMS.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/OIDC_CLAIMS.scripttype.json index ea4c9bfa1..07cc2991f 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/OIDC_CLAIMS.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/OIDC_CLAIMS.scripttype.json @@ -9,170 +9,87 @@ }, "context": { "_id": "OIDC_CLAIMS", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -284,6 +201,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/PINGONE_VERIFY_COMPLETION_DECISION_NODE.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/PINGONE_VERIFY_COMPLETION_DECISION_NODE.scripttype.json new file mode 100644 index 000000000..999c60889 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/global/scripttype/PINGONE_VERIFY_COMPLETION_DECISION_NODE.scripttype.json @@ -0,0 +1,1696 @@ +{ + "scripttype": { + "PINGONE_VERIFY_COMPLETION_DECISION_NODE": { + "_id": "PINGONE_VERIFY_COMPLETION_DECISION_NODE", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "PINGONE_VERIFY_COMPLETION_DECISION_NODE", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [ + { + "elementType": "method", + "name": "remove", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "get", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "keys", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getObject", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "isDefined", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "putShared", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putTransient", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeShared", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeTransient", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.node.api.NodeStateScriptWrapper", + "javaScriptType": "object", + "name": "nodeState" + }, + { + "javaScriptType": "unknown", + "name": "verifyTransactionsHelper" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [ + { + "elementType": "method", + "name": "withIdentifiedUser", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withIdentifiedAgent", + "parameters": [ + { + "javaScriptType": "string", + "name": "agentName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + }, + { + "javaScriptType": "number", + "name": "maximumSuspendDuration" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "goTo", + "parameters": [ + { + "javaScriptType": "string", + "name": "outcome" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withHeader", + "parameters": [ + { + "javaScriptType": "string", + "name": "header" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withDescription", + "parameters": [ + { + "javaScriptType": "string", + "name": "description" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withStage", + "parameters": [ + { + "javaScriptType": "string", + "name": "stage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withErrorMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "errorMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withLockoutMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "lockoutMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "removeSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxSessionTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxSessionTime" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxIdleTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxIdleTime" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ActionWrapper", + "javaScriptType": "object", + "name": "action" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] + } + }, + "defaultScript": "[Empty]", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Object", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] + } + } +} diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/POLICY_CONDITION.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/POLICY_CONDITION.scripttype.json index 7baf23d48..998102899 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/POLICY_CONDITION.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/POLICY_CONDITION.scripttype.json @@ -9,74 +9,8 @@ }, "context": { "_id": "POLICY_CONDITION", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.ArrayList", - "java.util.HashSet", - "java.util.HashMap", - "java.util.HashMap$KeyIterator", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "com.sun.identity.shared.debug.Debug", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.Client", - "org.forgerock.http.Handler", - "org.forgerock.http.Context", - "org.forgerock.http.context.RootContext", - "java.util.Collections$EmptyList", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "groovy.json.JsonSlurper", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ], - "2.0": [ - "jdk.proxy*" - ] - }, + "allowLists": [], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -169,6 +103,7 @@ "org.forgerock.opendj.ldap.Dn" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/POLICY_CONDITION_NEXT_GEN.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/POLICY_CONDITION_NEXT_GEN.scripttype.json new file mode 100644 index 000000000..bef39b4ef --- /dev/null +++ b/test/e2e/exports/all-separate/classic/global/scripttype/POLICY_CONDITION_NEXT_GEN.scripttype.json @@ -0,0 +1,1510 @@ +{ + "scripttype": { + "POLICY_CONDITION_NEXT_GEN": { + "_id": "POLICY_CONDITION_NEXT_GEN", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "POLICY_CONDITION_NEXT_GEN", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "advice" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "responseAttributes" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.ScriptedSession", + "javaScriptType": "object", + "name": "session" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "javaScriptType": "string", + "name": "resourceURI" + }, + { + "javaScriptType": "number", + "name": "ttl" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "environment" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "store", + "parameters": [], + "returnType": "void" + }, + { + "elementType": "method", + "name": "setAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "array", + "name": "attributeValues" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "addAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "string", + "name": "attributeValue" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "getAttributeValues", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getUniversalId", + "parameters": [], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityScriptWrapper", + "javaScriptType": "object", + "name": "identity" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "javaScriptType": "boolean", + "name": "authorized" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "javaScriptType": "string", + "name": "username" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] + } + }, + "defaultScript": "[Empty]", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Object", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] + } + } +} diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_IDP_ADAPTER.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_IDP_ADAPTER.scripttype.json index 766df3724..9c315f5fd 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_IDP_ADAPTER.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_IDP_ADAPTER.scripttype.json @@ -9,140 +9,78 @@ }, "context": { "_id": "SAML2_IDP_ADAPTER", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "com.sun.identity.saml2.common.SAML2Exception", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "com.sun.identity.saml2.assertion.*", - "com.sun.identity.saml2.assertion.impl.*", - "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", - "com.sun.identity.saml2.protocol.*", - "com.sun.identity.saml2.protocol.impl.*", - "java.io.PrintWriter", - "javax.security.auth.Subject", - "javax.servlet.http.HttpServletRequestWrapper", - "javax.servlet.http.HttpServletResponseWrapper", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper", - "jdk.proxy*" - ], - "2.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.sun.identity.common.CaseInsensitiveHashMap", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "org.forgerock.util.promise.PromiseImpl", - "javax.servlet.http.Cookie", - "org.xml.sax.InputSource", - "java.security.cert.CertificateFactory", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.io.PrintWriter", - "javax.security.auth.Subject", - "javax.servlet.http.HttpServletRequestWrapper", - "javax.servlet.http.HttpServletResponseWrapper", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.saml2.assertion.*", + "com.sun.identity.saml2.assertion.impl.*", + "com.sun.identity.saml2.common.SAML2Exception", + "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", + "com.sun.identity.saml2.protocol.*", + "com.sun.identity.saml2.protocol.impl.*", + "com.sun.identity.shared.debug.Debug", + "java.io.PrintWriter", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.util.Collections$EmptyMap", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "javax.security.auth.Subject", + "jakarta.servlet.http.HttpServletRequestWrapper", + "jakarta.servlet.http.HttpServletResponseWrapper", + "groovy.json.internal.LazyMap", + "groovy.json.JsonSlurper", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -246,6 +184,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_IDP_ATTRIBUTE_MAPPER.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_IDP_ATTRIBUTE_MAPPER.scripttype.json index e6a6b2554..5fe7ee966 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_IDP_ATTRIBUTE_MAPPER.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_IDP_ATTRIBUTE_MAPPER.scripttype.json @@ -9,130 +9,75 @@ }, "context": { "_id": "SAML2_IDP_ATTRIBUTE_MAPPER", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "com.sun.identity.saml2.common.SAML2Exception", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "com.sun.identity.saml2.assertion.impl.AttributeImpl", - "com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper", - "javax.servlet.http.Cookie", - "javax.xml.parsers.DocumentBuilder", - "javax.xml.parsers.DocumentBuilderFactory", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.w3c.dom.Document", - "org.w3c.dom.Element", - "org.xml.sax.InputSource", - "jdk.proxy*" - ], - "2.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.sun.identity.common.CaseInsensitiveHashMap", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "org.forgerock.util.promise.PromiseImpl", - "javax.servlet.http.Cookie", - "org.xml.sax.InputSource", - "java.security.cert.CertificateFactory", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.iplanet.am.sdk.AMHashMap", + "com.sun.identity.saml2.assertion.impl.AttributeImpl", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.util.Collections$EmptyMap", + "java.lang.Double", + "java.lang.Float", + "com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.json.JsonValue", + "com.sun.identity.saml2.common.SAML2Exception", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "javax.servlet.http.Cookie", + "javax.xml.parsers.DocumentBuilder", + "javax.xml.parsers.DocumentBuilderFactory", + "org.w3c.dom.Document", + "org.w3c.dom.Element", + "org.xml.sax.InputSource" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -231,6 +176,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_NAMEID_MAPPER.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_NAMEID_MAPPER.scripttype.json new file mode 100644 index 000000000..9ac098b68 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_NAMEID_MAPPER.scripttype.json @@ -0,0 +1,1577 @@ +{ + "scripttype": { + "SAML2_NAMEID_MAPPER": { + "_id": "SAML2_NAMEID_MAPPER", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "SAML2_NAMEID_MAPPER", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.sun.identity.common.CaseInsensitiveHashMap", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "javax.servlet.http.Cookie", + "org.xml.sax.InputSource", + "java.security.cert.CertificateFactory", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.io.PrintWriter", + "javax.security.auth.Subject", + "jakarta.servlet.http.HttpServletRequestWrapper", + "jakarta.servlet.http.HttpServletResponseWrapper", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "javaScriptType": "unknown", + "name": "nameIDScriptHelper" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "store", + "parameters": [], + "returnType": "void" + }, + { + "elementType": "method", + "name": "setAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "array", + "name": "attributeValues" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "addAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "string", + "name": "attributeValue" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "getAttributeValues", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getUniversalId", + "parameters": [], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityScriptWrapper", + "javaScriptType": "object", + "name": "identity" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "javaScriptType": "string", + "name": "nameIDFormat" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "javaScriptType": "string", + "name": "remoteEntityId" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "javaScriptType": "string", + "name": "hostedEntityId" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] + } + }, + "defaultScript": "4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "jakarta.servlet.http.HttpServletRequestWrapper", + "jakarta.servlet.http.HttpServletResponseWrapper", + "java.io.PrintWriter", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.net.URI", + "java.security.cert.CertificateFactory", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "javax.security.auth.Subject", + "javax.servlet.http.Cookie", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "org.mozilla.javascript.JavaScriptException", + "org.xml.sax.InputSource", + "sun.security.ec.ECPrivateKeyImpl" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] + } + } +} diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_SP_ADAPTER.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_SP_ADAPTER.scripttype.json index db931a609..a3924bcd8 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_SP_ADAPTER.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/SAML2_SP_ADAPTER.scripttype.json @@ -9,140 +9,78 @@ }, "context": { "_id": "SAML2_SP_ADAPTER", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "com.sun.identity.saml2.common.SAML2Exception", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "com.sun.identity.saml2.assertion.*", - "com.sun.identity.saml2.assertion.impl.*", - "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", - "com.sun.identity.saml2.protocol.*", - "com.sun.identity.saml2.protocol.impl.*", - "java.io.PrintWriter", - "javax.security.auth.Subject", - "javax.servlet.http.HttpServletRequestWrapper", - "javax.servlet.http.HttpServletResponseWrapper", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper", - "jdk.proxy*" - ], - "2.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.sun.identity.common.CaseInsensitiveHashMap", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "org.forgerock.util.promise.PromiseImpl", - "javax.servlet.http.Cookie", - "org.xml.sax.InputSource", - "java.security.cert.CertificateFactory", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.io.PrintWriter", - "javax.security.auth.Subject", - "javax.servlet.http.HttpServletRequestWrapper", - "javax.servlet.http.HttpServletResponseWrapper", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.saml2.assertion.*", + "com.sun.identity.saml2.assertion.impl.*", + "com.sun.identity.saml2.common.SAML2Exception", + "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", + "com.sun.identity.saml2.protocol.*", + "com.sun.identity.saml2.protocol.impl.*", + "com.sun.identity.shared.debug.Debug", + "java.io.PrintWriter", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.util.Collections$EmptyMap", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "javax.security.auth.Subject", + "jakarta.servlet.http.HttpServletRequestWrapper", + "jakarta.servlet.http.HttpServletResponseWrapper", + "groovy.json.internal.LazyMap", + "groovy.json.JsonSlurper", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -246,6 +184,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/SCRIPTED_DECISION_NODE.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/SCRIPTED_DECISION_NODE.scripttype.json new file mode 100644 index 000000000..788ff3bc2 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/global/scripttype/SCRIPTED_DECISION_NODE.scripttype.json @@ -0,0 +1,3177 @@ +{ + "scripttype": { + "SCRIPTED_DECISION_NODE": { + "_id": "SCRIPTED_DECISION_NODE", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "SCRIPTED_DECISION_NODE", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.concurrent.TimeUnit", + "java.util.Collections$*", + "java.util.HashSet", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "sun.security.ec.ECPrivateKeyImpl", + "ch.qos.logback.classic.Logger", + "com.sun.proxy.$*", + "java.util.Date", + "java.security.spec.InvalidKeySpecException", + "org.forgerock.openam.auth.nodes.VerifyTransactionsHelper" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "getAuthnRequest", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getIdpAttributes", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getSpAttributes", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getFlowInitiator", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getApplicationId", + "parameters": [], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.saml2.SAMLScriptedBindingObjectImpl", + "javaScriptType": "object", + "name": "samlApplication" + }, + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestParameters" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getStringAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getNumberAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getKbaCreateCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getSelectIdPCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getTermsAndConditionsCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getChoiceCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getNameCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getPasswordCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getHiddenValueCallbacks", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getTextInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getBooleanAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getConfirmationCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getLanguageCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getIdpCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getValidatedPasswordCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getValidatedUsernameCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getHttpCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getX509CertificateCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getConsentMappingCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getDeviceProfileCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "isEmpty", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper", + "javaScriptType": "object", + "name": "callbacks" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getIdentity", + "parameters": [ + { + "javaScriptType": "string", + "name": "userName" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper", + "javaScriptType": "object", + "name": "idRepository" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getClientProperties", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getApplicationId", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRequestProperties", + "parameters": [], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.oauth2.core.application.tree.OAuthScriptedBindingObjectImpl", + "javaScriptType": "object", + "name": "oauthApplication" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestHeaders" + }, + { + "elements": [ + { + "elementType": "method", + "name": "generateJwt", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper", + "javaScriptType": "object", + "name": "jwtAssertion" + }, + { + "elements": [ + { + "elementType": "method", + "name": "remove", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "get", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "keys", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getObject", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "isDefined", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "putShared", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putTransient", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeShared", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeTransient", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.node.api.NodeStateScriptWrapper", + "javaScriptType": "object", + "name": "nodeState" + }, + { + "javaScriptType": "boolean", + "name": "resumedFromSuspend" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "elements": [ + { + "elementType": "method", + "name": "withIdentifiedUser", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withIdentifiedAgent", + "parameters": [ + { + "javaScriptType": "string", + "name": "agentName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + }, + { + "javaScriptType": "number", + "name": "maximumSuspendDuration" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "goTo", + "parameters": [ + { + "javaScriptType": "string", + "name": "outcome" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withHeader", + "parameters": [ + { + "javaScriptType": "string", + "name": "header" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withDescription", + "parameters": [ + { + "javaScriptType": "string", + "name": "description" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withStage", + "parameters": [ + { + "javaScriptType": "string", + "name": "stage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withErrorMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "errorMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withLockoutMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "lockoutMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "removeSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxSessionTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxSessionTime" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxIdleTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxIdleTime" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ActionWrapper", + "javaScriptType": "object", + "name": "action" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "validateJwtClaims", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper", + "javaScriptType": "object", + "name": "jwtValidator" + }, + { + "elements": [ + { + "elementType": "method", + "name": "suspendedTextOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultText" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "scriptTextOutputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "metadataCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "outputValue" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "languageCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "language" + }, + { + "javaScriptType": "string", + "name": "country" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + }, + { + "javaScriptType": "string", + "name": "token" + }, + { + "javaScriptType": "string", + "name": "tokenType" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authRHeader" + }, + { + "javaScriptType": "string", + "name": "negoName" + }, + { + "javaScriptType": "string", + "name": "negoValue" + }, + { + "javaScriptType": "number", + "name": "errorCode" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authorizationHeader" + }, + { + "javaScriptType": "string", + "name": "negotiationHeader" + }, + { + "javaScriptType": "string", + "name": "errorCode" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + }, + { + "javaScriptType": "boolean", + "name": "requestSignature" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "config" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "displayName" + }, + { + "javaScriptType": "string", + "name": "icon" + }, + { + "javaScriptType": "string", + "name": "accessLevel" + }, + { + "javaScriptType": "array", + "name": "titles" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "deviceProfileCallback", + "parameters": [ + { + "javaScriptType": "boolean", + "name": "metadata" + }, + { + "javaScriptType": "boolean", + "name": "location" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "kbaCreateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "predefinedQuestions" + }, + { + "javaScriptType": "boolean", + "name": "allowUserDefinedQuestions" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "selectIdPCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "providers" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "termsAndConditionsCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "version" + }, + { + "javaScriptType": "string", + "name": "terms" + }, + { + "javaScriptType": "string", + "name": "createDate" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "choiceCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "choices" + }, + { + "javaScriptType": "number", + "name": "defaultChoice" + }, + { + "javaScriptType": "boolean", + "name": "multipleSelectionsAllowed" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultName" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "passwordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "pollingWaitCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "waitTime" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "hiddenValueCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder", + "javaScriptType": "object", + "name": "callbacksBuilder" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestCookies" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] + } + }, + "defaultScript": "11e1a3c0-038b-4c16-956a-6c9d89328cff", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "ch.qos.logback.classic.Logger", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.proxy.$*", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.MGF1ParameterSpec", + "java.security.spec.X509EncodedKeySpec", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.concurrent.TimeUnit", + "java.util.Date", + "java.util.HashMap$KeyIterator", + "java.util.HashSet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeSet", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.auth.nodes.VerifyTransactionsHelper", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "sun.security.ec.ECPrivateKeyImpl" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] + } + } +} diff --git a/test/e2e/exports/all-separate/classic/global/scripttype/SOCIAL_IDP_PROFILE_TRANSFORMATION.scripttype.json b/test/e2e/exports/all-separate/classic/global/scripttype/SOCIAL_IDP_PROFILE_TRANSFORMATION.scripttype.json index 0db5af4bb..bcaf8bdd6 100644 --- a/test/e2e/exports/all-separate/classic/global/scripttype/SOCIAL_IDP_PROFILE_TRANSFORMATION.scripttype.json +++ b/test/e2e/exports/all-separate/classic/global/scripttype/SOCIAL_IDP_PROFILE_TRANSFORMATION.scripttype.json @@ -9,138 +9,71 @@ }, "context": { "_id": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "allowLists": { - "1.0": [ - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Character", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList$Itr", - "java.util.ArrayList", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$Node", - "java.util.HashMap", - "java.util.HashSet", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.Response", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.forgerock.oauth.clients.oidc.Claim", - "java.util.Locale", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ], - "2.0": [ - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Character", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList$Itr", - "java.util.ArrayList", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$Node", - "java.util.HashMap", - "java.util.HashSet", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.Response", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.forgerock.oauth.clients.oidc.Claim", - "java.util.Locale", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList$Itr", + "java.util.ArrayList", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$Node", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.Response", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.oauth.clients.oidc.Claim", + "java.util.Locale", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -236,6 +169,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" diff --git a/test/e2e/exports/all-separate/classic/global/secrets/GlobalSecrets.secrets.json b/test/e2e/exports/all-separate/classic/global/secrets/GlobalSecrets.secrets.json index d0754cd46..6e89762fb 100644 --- a/test/e2e/exports/all-separate/classic/global/secrets/GlobalSecrets.secrets.json +++ b/test/e2e/exports/all-separate/classic/global/secrets/GlobalSecrets.secrets.json @@ -10,8 +10,8 @@ "storeTypes": [ "EnvironmentAndSystemPropertySecretStore", "KeyStoreSecretStore", - "GoogleSecretManagerSecretStoreProvider", "GoogleKeyManagementServiceSecretStore", + "GoogleSecretManagerSecretStoreProvider", "HsmSecretStore", "FileSystemSecretStore" ] diff --git a/test/e2e/exports/all-separate/classic/global/secretstore/default-keystore.secretstore.json b/test/e2e/exports/all-separate/classic/global/secretstore/default-keystore.secretstore.json index 7dbc2c487..1d2eefd21 100644 --- a/test/e2e/exports/all-separate/classic/global/secretstore/default-keystore.secretstore.json +++ b/test/e2e/exports/all-separate/classic/global/secretstore/default-keystore.secretstore.json @@ -7,7 +7,7 @@ "collection": true, "name": "Keystore" }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", + "file": "/root/am/security/keystores/keystore.jceks", "keyEntryPassword": "entrypass", "leaseExpiryDuration": 5, "mappings": [ diff --git a/test/e2e/exports/all-separate/classic/global/secretstore/default-passwords-store.secretstore.json b/test/e2e/exports/all-separate/classic/global/secretstore/default-passwords-store.secretstore.json index 7176a9aab..19168bd7c 100644 --- a/test/e2e/exports/all-separate/classic/global/secretstore/default-passwords-store.secretstore.json +++ b/test/e2e/exports/all-separate/classic/global/secretstore/default-passwords-store.secretstore.json @@ -7,7 +7,7 @@ "collection": true, "name": "File System Secret Volumes" }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", + "directory": "/root/am/security/secrets/encrypted", "format": "ENCRYPTED_PLAIN" } } diff --git a/test/e2e/exports/all-separate/classic/global/server/01.server.json b/test/e2e/exports/all-separate/classic/global/server/01.server.json index 3308fc516..165edf240 100644 --- a/test/e2e/exports/all-separate/classic/global/server/01.server.json +++ b/test/e2e/exports/all-separate/classic/global/server/01.server.json @@ -22,7 +22,7 @@ "uma": "file://01/uma.properties.server.json" }, "siteName": null, - "url": "http://localhost:8080/am" + "url": "http://openam-frodo-dev.classic.com:8080/am" } } } diff --git a/test/e2e/exports/all-separate/classic/global/server/01/advanced.properties.server.json b/test/e2e/exports/all-separate/classic/global/server/01/advanced.properties.server.json index 092abf69f..5182b1f3b 100644 --- a/test/e2e/exports/all-separate/classic/global/server/01/advanced.properties.server.json +++ b/test/e2e/exports/all-separate/classic/global/server/01/advanced.properties.server.json @@ -1,6 +1,6 @@ { "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", "com.iplanet.am.lbcookie.value": "01", "com.iplanet.am.serverMode": true, "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", diff --git a/test/e2e/exports/all-separate/classic/global/server/01/directoryConfiguration.properties.server.json b/test/e2e/exports/all-separate/classic/global/server/01/directoryConfiguration.properties.server.json index b3a874a85..5ee2518ea 100644 --- a/test/e2e/exports/all-separate/classic/global/server/01/directoryConfiguration.properties.server.json +++ b/test/e2e/exports/all-separate/classic/global/server/01/directoryConfiguration.properties.server.json @@ -1,7 +1,7 @@ { "_id": "01/properties/directoryConfiguration", "directoryConfiguration": { - "bindDn": "cn=Directory Manager", + "bindDn": "uid=am-config,ou=admins,ou=am-config", "bindPassword": null, "maxConnectionPool": 10, "minConnectionPool": 1, @@ -15,8 +15,8 @@ "directoryServers": [ { "connectionType": "SSL", - "hostName": "localhost", - "portNumber": "50636", + "hostName": "opendj-frodo-dev.classic.com", + "portNumber": "1636", "serverName": "Server1" } ] diff --git a/test/e2e/exports/all-separate/classic/global/server/01/general.properties.server.json b/test/e2e/exports/all-separate/classic/global/server/01/general.properties.server.json index 089278e99..c90ac583d 100644 --- a/test/e2e/exports/all-separate/classic/global/server/01/general.properties.server.json +++ b/test/e2e/exports/all-separate/classic/global/server/01/general.properties.server.json @@ -6,12 +6,12 @@ "value": "%BASE_DIR%/var/debug" }, "com.iplanet.services.debug.level": { - "inherited": true, - "value": "off" + "inherited": false, + "value": "error" }, "com.sun.services.debug.mergeall": { - "inherited": true, - "value": "on" + "inherited": false, + "value": "off" } }, "amconfig.header.installdir": { @@ -25,7 +25,7 @@ }, "com.iplanet.services.configpath": { "inherited": false, - "value": "/home/prestonhales/am" + "value": "/root/am" }, "com.sun.identity.client.notification.url": { "inherited": true, diff --git a/test/e2e/exports/all-separate/classic/global/server/01/security.properties.server.json b/test/e2e/exports/all-separate/classic/global/server/01/security.properties.server.json index 7ea11a7b3..88bf35f8b 100644 --- a/test/e2e/exports/all-separate/classic/global/server/01/security.properties.server.json +++ b/test/e2e/exports/all-separate/classic/global/server/01/security.properties.server.json @@ -57,7 +57,7 @@ "amconfig.header.encryption": { "am.encryption.pwd": { "inherited": false, - "value": "efSYcwIhr7uKH30rgciGTVTFzb63LhYu" + "value": "4B9qeVEEXVDJsdLen/J7HWyN9yItJ1xB" }, "am.encryption.secret.alias": { "inherited": true, diff --git a/test/e2e/exports/all-separate/classic/global/server/03.server.json b/test/e2e/exports/all-separate/classic/global/server/03.server.json index c6aac93cf..1b4bb3c68 100644 --- a/test/e2e/exports/all-separate/classic/global/server/03.server.json +++ b/test/e2e/exports/all-separate/classic/global/server/03.server.json @@ -21,7 +21,7 @@ "session": "file://03/session.properties.server.json", "uma": "file://03/uma.properties.server.json" }, - "siteName": "testsite", + "siteName": null, "url": "http://localhost:8081/am" } } diff --git a/test/e2e/exports/all-separate/classic/global/server/03/directoryConfiguration.properties.server.json b/test/e2e/exports/all-separate/classic/global/server/03/directoryConfiguration.properties.server.json index 927474406..ba1a33134 100644 --- a/test/e2e/exports/all-separate/classic/global/server/03/directoryConfiguration.properties.server.json +++ b/test/e2e/exports/all-separate/classic/global/server/03/directoryConfiguration.properties.server.json @@ -1,7 +1,7 @@ { "_id": "03/properties/directoryConfiguration", "directoryConfiguration": { - "bindDn": "cn=Directory Manager", + "bindDn": "uid=am-config,ou=admins,ou=am-config", "bindPassword": null, "maxConnectionPool": 10, "minConnectionPool": 1, @@ -15,8 +15,8 @@ "directoryServers": [ { "connectionType": "SSL", - "hostName": "localhost", - "portNumber": "50636", + "hostName": "opendj-frodo-dev.classic.com", + "portNumber": "1636", "serverName": "Server1" } ] diff --git a/test/e2e/exports/all-separate/classic/global/server/03/general.properties.server.json b/test/e2e/exports/all-separate/classic/global/server/03/general.properties.server.json index 38f3fda62..640c58a21 100644 --- a/test/e2e/exports/all-separate/classic/global/server/03/general.properties.server.json +++ b/test/e2e/exports/all-separate/classic/global/server/03/general.properties.server.json @@ -43,6 +43,6 @@ } }, "amconfig.header.site": { - "singleChoiceSite": "testsite" + "singleChoiceSite": "[Empty]" } } diff --git a/test/e2e/exports/all-separate/classic/global/server/04/directoryConfiguration.properties.server.json b/test/e2e/exports/all-separate/classic/global/server/04/directoryConfiguration.properties.server.json index 64073d72e..f2a9f73c2 100644 --- a/test/e2e/exports/all-separate/classic/global/server/04/directoryConfiguration.properties.server.json +++ b/test/e2e/exports/all-separate/classic/global/server/04/directoryConfiguration.properties.server.json @@ -1,7 +1,7 @@ { "_id": "04/properties/directoryConfiguration", "directoryConfiguration": { - "bindDn": "cn=Directory Manager", + "bindDn": "uid=am-config,ou=admins,ou=am-config", "bindPassword": null, "maxConnectionPool": 10, "minConnectionPool": 1, @@ -15,8 +15,8 @@ "directoryServers": [ { "connectionType": "SSL", - "hostName": "localhost", - "portNumber": "50636", + "hostName": "opendj-frodo-dev.classic.com", + "portNumber": "1636", "serverName": "Server1" } ] diff --git a/test/e2e/exports/all-separate/classic/global/server/default/advanced.default.properties.server.json b/test/e2e/exports/all-separate/classic/global/server/default/advanced.default.properties.server.json index 8ef7874b4..88ff4f3af 100644 --- a/test/e2e/exports/all-separate/classic/global/server/default/advanced.default.properties.server.json +++ b/test/e2e/exports/all-separate/classic/global/server/default/advanced.default.properties.server.json @@ -1,8 +1,8 @@ { "_id": "null/properties/advanced", - "com.iplanet.am.buildDate": "2024-March-28 16:00", - "com.iplanet.am.buildRevision": "89116d59a1ebe73ed1931dd3649adb7f217cd06b", - "com.iplanet.am.buildVersion": "ForgeRock Access Management 7.5.0", + "com.iplanet.am.buildDate": "2025-April-15 11:37", + "com.iplanet.am.buildRevision": "b59bc0908346197b0c33afcb9e733d0400feeea1", + "com.iplanet.am.buildVersion": "ForgeRock Access Management 8.0.1", "com.iplanet.am.cookie.c66Encode": true, "com.iplanet.am.daemons": "securid", "com.iplanet.am.directory.ssl.enabled": false, @@ -22,7 +22,7 @@ "com.iplanet.am.session.client.polling.enable": false, "com.iplanet.am.session.client.polling.period": "180", "com.iplanet.am.session.httpSession.enabled": "true", - "com.iplanet.am.version": "ForgeRock Access Management 7.5.0 Build 89116d59a1ebe73ed1931dd3649adb7f217cd06b (2024-March-28 16:00)", + "com.iplanet.am.version": "ForgeRock Access Management 8.0.1 Build b59bc0908346197b0c33afcb9e733d0400feeea1 (2025-April-15 11:37)", "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", "com.sun.am.event.notification.expire.time": "5", "com.sun.embedded.sync.servers": "on", diff --git a/test/e2e/exports/all-separate/classic/global/serverInformation/information.serverInformation.json b/test/e2e/exports/all-separate/classic/global/serverInformation/information.serverInformation.json index e1131dbf7..bf20ada76 100644 --- a/test/e2e/exports/all-separate/classic/global/serverInformation/information.serverInformation.json +++ b/test/e2e/exports/all-separate/classic/global/serverInformation/information.serverInformation.json @@ -11,6 +11,7 @@ "forgotUsername": "false", "kbaEnabled": "false", "lang": "en-US", + "nodeDesignerXuiEnabled": true, "protectedUserAttributes": [ "telephoneNumber", "mail" @@ -21,7 +22,9 @@ "selfRegistration": "false", "socialImplementations": [], "successfulUserRegistrationDestination": "default", - "userIdAttributes": [], + "userIdAttributes": [ + "uid" + ], "xuiUserSessionValidationEnabled": true, "zeroPageLogin": { "allowedWithoutReferer": true, diff --git a/test/e2e/exports/all-separate/classic/global/serverVersion/version.serverVersion.json b/test/e2e/exports/all-separate/classic/global/serverVersion/version.serverVersion.json index ce4c6f621..f1f17f5f0 100644 --- a/test/e2e/exports/all-separate/classic/global/serverVersion/version.serverVersion.json +++ b/test/e2e/exports/all-separate/classic/global/serverVersion/version.serverVersion.json @@ -2,10 +2,10 @@ "serverVersion": { "version": { "_id": "version", - "date": "2024-March-28 16:00", - "fullVersion": "ForgeRock Access Management 7.5.0 Build 89116d59a1ebe73ed1931dd3649adb7f217cd06b (2024-March-28 16:00)", - "revision": "89116d59a1ebe73ed1931dd3649adb7f217cd06b", - "version": "7.5.0" + "date": "2025-April-15 11:37", + "fullVersion": "ForgeRock Access Management 8.0.1 Build b59bc0908346197b0c33afcb9e733d0400feeea1 (2025-April-15 11:37)", + "revision": "b59bc0908346197b0c33afcb9e733d0400feeea1", + "version": "8.0.1" } } } diff --git a/test/e2e/exports/all-separate/classic/global/service/authenticatorOathService.service.json b/test/e2e/exports/all-separate/classic/global/service/authenticatorOathService.service.json index cd0dbbc8b..e7ef73aa1 100644 --- a/test/e2e/exports/all-separate/classic/global/service/authenticatorOathService.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/authenticatorOathService.service.json @@ -8,7 +8,7 @@ "name": "ForgeRock Authenticator (OATH) Service" }, "defaults": { - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", diff --git a/test/e2e/exports/all-separate/classic/global/service/authenticatorPushService.service.json b/test/e2e/exports/all-separate/classic/global/service/authenticatorPushService.service.json index 00f3380f4..d9c629bcf 100644 --- a/test/e2e/exports/all-separate/classic/global/service/authenticatorPushService.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/authenticatorPushService.service.json @@ -8,7 +8,7 @@ "name": "ForgeRock Authenticator (Push) Service" }, "defaults": { - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", diff --git a/test/e2e/exports/all-separate/classic/global/service/authenticatorWebAuthnService.service.json b/test/e2e/exports/all-separate/classic/global/service/authenticatorWebAuthnService.service.json index feebaae83..77c1c5f75 100644 --- a/test/e2e/exports/all-separate/classic/global/service/authenticatorWebAuthnService.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/authenticatorWebAuthnService.service.json @@ -8,7 +8,7 @@ "name": "WebAuthn Profile Encryption Service" }, "defaults": { - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", diff --git a/test/e2e/exports/all-separate/classic/global/service/baseurl.service.json b/test/e2e/exports/all-separate/classic/global/service/baseurl.service.json index 66e57ca30..cd92c1048 100644 --- a/test/e2e/exports/all-separate/classic/global/service/baseurl.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/baseurl.service.json @@ -9,6 +9,7 @@ }, "defaults": { "contextPath": "/am", + "fixedValue": "http://openam-frodo-dev.classic.com:8080/am", "source": "REQUEST_VALUES" }, "location": "global", diff --git a/test/e2e/exports/all-separate/classic/global/service/deviceBindingService.service.json b/test/e2e/exports/all-separate/classic/global/service/deviceBindingService.service.json index 0bd36a724..9bbf61178 100644 --- a/test/e2e/exports/all-separate/classic/global/service/deviceBindingService.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/deviceBindingService.service.json @@ -9,7 +9,7 @@ }, "defaults": { "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE" diff --git a/test/e2e/exports/all-separate/classic/global/service/deviceIdService.service.json b/test/e2e/exports/all-separate/classic/global/service/deviceIdService.service.json index f12dfc890..ed2161140 100644 --- a/test/e2e/exports/all-separate/classic/global/service/deviceIdService.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/deviceIdService.service.json @@ -9,7 +9,7 @@ }, "defaults": { "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE" diff --git a/test/e2e/exports/all-separate/classic/global/service/deviceProfilesService.service.json b/test/e2e/exports/all-separate/classic/global/service/deviceProfilesService.service.json index 8e57c23a8..2eb758c4e 100644 --- a/test/e2e/exports/all-separate/classic/global/service/deviceProfilesService.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/deviceProfilesService.service.json @@ -9,7 +9,7 @@ }, "defaults": { "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE" diff --git a/test/e2e/exports/all-separate/classic/global/service/httpclient.service.json b/test/e2e/exports/all-separate/classic/global/service/httpclient.service.json new file mode 100644 index 000000000..4199fa505 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/global/service/httpclient.service.json @@ -0,0 +1,22 @@ +{ + "service": { + "httpclient": { + "_id": "", + "_type": { + "_id": "httpclient", + "collection": false, + "name": "Http Client Service" + }, + "core": { + "enabled": false + }, + "defaults": { + "core": { + "enabled": false + } + }, + "location": "global", + "nextDescendents": [] + } + } +} diff --git a/test/e2e/exports/all-separate/classic/global/service/idm-integration.service.json b/test/e2e/exports/all-separate/classic/global/service/idm-integration.service.json index 7dd962abd..f940d64be 100644 --- a/test/e2e/exports/all-separate/classic/global/service/idm-integration.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/idm-integration.service.json @@ -5,7 +5,7 @@ "_type": { "_id": "idm-integration", "collection": false, - "name": "IDM Provisioning" + "name": "IdmIntegrationService" }, "configurationCacheDuration": 0, "enabled": false, diff --git a/test/e2e/exports/all-separate/classic/global/service/monitoring.service.json b/test/e2e/exports/all-separate/classic/global/service/monitoring.service.json index 7d9e7bfcf..55a724237 100644 --- a/test/e2e/exports/all-separate/classic/global/service/monitoring.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/monitoring.service.json @@ -8,7 +8,7 @@ "name": "Monitoring" }, "authfilePath": "%BASE_DIR%/security/openam_mon_auth", - "enabled": true, + "enabled": false, "httpEnabled": false, "httpPort": 8082, "location": "global", @@ -38,9 +38,7 @@ "policyHistoryWindowSize": 10000, "rmiEnabled": false, "rmiPort": 9999, - "sessionHistoryWindowSize": 10000, - "snmpEnabled": false, - "snmpPort": 8085 + "sessionHistoryWindowSize": 10000 } } } diff --git a/test/e2e/exports/all-separate/classic/global/service/oauth-oidc.service.json b/test/e2e/exports/all-separate/classic/global/service/oauth-oidc.service.json index 2fffb7378..c94cd5acb 100644 --- a/test/e2e/exports/all-separate/classic/global/service/oauth-oidc.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/oauth-oidc.service.json @@ -36,6 +36,7 @@ "urn:ietf:params:oauth:grant-type:jwt-bearer" ], "hashSalt": "changeme", + "includeClientIdClaimInStatelessTokens": true, "includeSubnameInTokenClaims": true, "macaroonTokenFormat": "V2", "maxAgeOfRequestObjectNbfClaim": 0, @@ -59,7 +60,7 @@ ], "tlsCertificateBoundAccessTokensEnabled": true, "tlsCertificateRevocationCheckingEnabled": false, - "tlsClientCertificateHeaderFormat": "URLENCODED_PEM", + "tlsClientCertificateHeaderFormat": "BASE64_ENCODED_CERT", "tokenCompressionEnabled": false, "tokenEncryptionEnabled": false, "tokenExchangeClasses": [ @@ -246,6 +247,7 @@ "clientDynamicRegistrationConfig": { "allowDynamicRegistration": false, "dynamicClientRegistrationScope": "dynamic_client_registration", + "dynamicClientRegistrationScript": "[Empty]", "dynamicClientRegistrationSoftwareStatementRequired": false, "generateRegistrationAccessTokens": true, "requiredSoftwareStatementAttestedAttributes": [ diff --git a/test/e2e/exports/all-separate/classic/global/service/saml2.service.json b/test/e2e/exports/all-separate/classic/global/service/saml2.service.json index 843051d1d..47ef9f35e 100644 --- a/test/e2e/exports/all-separate/classic/global/service/saml2.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/saml2.service.json @@ -11,6 +11,7 @@ "caCertValidation": false, "cacheCleanupInterval": 600, "encryptedKeyInKeyInfo": true, + "idpDiscoveryCookieDomain": "openam-frodo-dev.classic.com", "idpDiscoveryCookieType": "PERSISTENT", "idpDiscoveryUrlSchema": "HTTPS", "location": "global", diff --git a/test/e2e/exports/all-separate/classic/global/service/uma.service.json b/test/e2e/exports/all-separate/classic/global/service/uma.service.json index 74257e44f..b3680a6b0 100644 --- a/test/e2e/exports/all-separate/classic/global/service/uma.service.json +++ b/test/e2e/exports/all-separate/classic/global/service/uma.service.json @@ -27,7 +27,8 @@ "pendingRequestsEnabled": true, "permissionTicketLifetime": 120, "resharingMode": "IMPLICIT", - "userProfileLocaleAttribute": "inetOrgPerson" + "userProfileLocaleAttribute": "inetOrgPerson", + "warnIfConfusablesInUsername": false } }, "location": "global", diff --git a/test/e2e/exports/all-separate/classic/global/service/webAuthnMetadataService.service.json b/test/e2e/exports/all-separate/classic/global/service/webAuthnMetadataService.service.json new file mode 100644 index 000000000..1997114d2 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/global/service/webAuthnMetadataService.service.json @@ -0,0 +1,18 @@ +{ + "service": { + "webAuthnMetadataService": { + "_id": "", + "_type": { + "_id": "webAuthnMetadataService", + "collection": false, + "name": "WebAuthn Metadata Service" + }, + "defaults": { + "enforceRevocationCheck": false, + "fidoMetadataServiceUris": [] + }, + "location": "global", + "nextDescendents": [] + } + } +} diff --git a/test/e2e/exports/all-separate/classic/global/site/testsite.site.json b/test/e2e/exports/all-separate/classic/global/site/testsite.site.json index b57564641..d624393b3 100644 --- a/test/e2e/exports/all-separate/classic/global/site/testsite.site.json +++ b/test/e2e/exports/all-separate/classic/global/site/testsite.site.json @@ -3,12 +3,7 @@ "testsite": { "_id": "testsite", "secondaryURLs": [], - "servers": [ - { - "id": "03", - "url": "http://localhost:8081/am" - } - ], + "servers": [], "url": "http://testurl.com:8080" } } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/authenticationModules/amster.authenticationModules.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/authenticationModules/amster.authenticationModules.json index 59cc7c40f..30bd7b614 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/authenticationModules/amster.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/authenticationModules/amster.authenticationModules.json @@ -8,7 +8,7 @@ "name": "ForgeRock Amster" }, "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true } } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/authenticationModules/ldap.authenticationModules.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/authenticationModules/ldap.authenticationModules.json index 5a3a90c46..d10476a61 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/authenticationModules/ldap.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/authenticationModules/ldap.authenticationModules.json @@ -15,7 +15,7 @@ "openam-auth-ldap-connection-mode": "LDAPS", "operationTimeout": 0, "primaryLdapServer": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "profileAttributeMappings": [], "returnUserDN": true, @@ -23,14 +23,14 @@ "secondaryLdapServer": [], "stopLdapbindAfterInmemoryLockedEnabled": false, "trustAllServerCertificates": false, - "userBindDN": "cn=Directory Manager", + "userBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities", "userBindPassword": null, "userProfileRetrievalAttribute": "uid", "userSearchAttributes": [ "uid" ], "userSearchStartDN": [ - "dc=openam,dc=forgerock,dc=org" + "ou=identities" ] } } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/conditionTypes/IdmUser.conditionTypes.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/conditionTypes/IdmUser.conditionTypes.json new file mode 100644 index 000000000..a340c64d1 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/conditionTypes/IdmUser.conditionTypes.json @@ -0,0 +1,36 @@ +{ + "conditionTypes": { + "IdmUser": { + "_id": "IdmUser", + "config": { + "properties": { + "comparator": { + "enum": [ + "EQUALS", + "CONTAINS", + "STARTS_WITH", + "ENDS_WITH", + "REGEX" + ], + "type": "string" + }, + "decisionField": { + "type": "string" + }, + "identityResource": { + "type": "string" + }, + "queryField": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "logical": false, + "title": "IdmUser" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/conditionTypes/Transaction.conditionTypes.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/conditionTypes/Transaction.conditionTypes.json index 37d6f4844..4a269b680 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/conditionTypes/Transaction.conditionTypes.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/conditionTypes/Transaction.conditionTypes.json @@ -5,6 +5,13 @@ "config": { "properties": { "authenticationStrategy": { + "enum": [ + "AuthenticateToServiceConditionAdvice", + "AuthenticateToRealmConditionAdvice", + "AuthenticateToTreeConditionAdvice", + "AuthSchemeConditionAdvice", + "AuthLevelConditionAdvice" + ], "type": "string" }, "strategySpecifier": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Agent.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Agent.journey.json index 3e13ebd5a..9ebb27278 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Agent.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Agent.journey.json @@ -57,6 +57,8 @@ "entryNodeId": "e4da3b7f-bbce-3345-9777-2b0674a318d5", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "a87ff679-a2f3-371d-9181-a67b7542122c": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Example.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Example.journey.json index 2cc773d81..1f56b9afe 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Example.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Example.journey.json @@ -85,6 +85,8 @@ "entryNodeId": "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "c4ca4238-a0b9-3382-8dcc-509a6f75849b": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Facebook-ProvisionIDMAccount.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Facebook-ProvisionIDMAccount.journey.json index 22a087eeb..6204744e6 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Facebook-ProvisionIDMAccount.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Facebook-ProvisionIDMAccount.journey.json @@ -42,7 +42,7 @@ }, "cfgMixUpMitigation": false, "clientId": "aClientId", - "clientSecret": null, + "issuer": "", "provider": "facebook", "redirectURI": "http://localhost:8080/am", "saveUserAttributesToSession": true, @@ -77,6 +77,8 @@ "entryNodeId": "37693cfc-7480-39e4-9d87-b8c7d8b9aacd", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "37693cfc-7480-39e4-9d87-b8c7d8b9aacd": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Google-AnonymousUser.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Google-AnonymousUser.journey.json index 9653fc1da..1865b7f16 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Google-AnonymousUser.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Google-AnonymousUser.journey.json @@ -57,7 +57,7 @@ }, "cfgMixUpMitigation": false, "clientId": "aClientId", - "clientSecret": null, + "issuer": "", "provider": "google", "redirectURI": "http://localhost:8080/am", "saveUserAttributesToSession": true, @@ -92,6 +92,8 @@ "entryNodeId": "4e732ced-3463-306d-a0ca-9a15b6153677", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "1ff1de77-4005-38da-93f4-2943881c655f": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Google-DynamicAccountCreation.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Google-DynamicAccountCreation.journey.json index 83d8c3e9c..3a253dcf4 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Google-DynamicAccountCreation.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Google-DynamicAccountCreation.journey.json @@ -72,7 +72,7 @@ }, "cfgMixUpMitigation": false, "clientId": "aClientId", - "clientSecret": null, + "issuer": "", "provider": "google", "redirectURI": "http://localhost:8080/am", "saveUserAttributesToSession": true, @@ -103,7 +103,6 @@ "fromEmailAddress": "admin@example.com", "hostName": "mail.example.com", "hostPort": 25, - "password": null, "smsGatewayImplementationClass": "com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl", "sslOption": "SSL", "username": "admin@example.com" @@ -174,6 +173,8 @@ "entryNodeId": "33e75ff0-9dd6-31bb-a69f-351039152189", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/HmacOneTimePassword.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/HmacOneTimePassword.journey.json index a7fcdf8b3..ada18e5c6 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/HmacOneTimePassword.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/HmacOneTimePassword.journey.json @@ -94,7 +94,6 @@ "fromEmailAddress": "admin@example.com", "hostName": "mail.example.com", "hostPort": 25, - "password": null, "smsGatewayImplementationClass": "com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl", "sslOption": "SSL", "username": "admin@example.com" @@ -125,6 +124,8 @@ "entryNodeId": "c74d97b0-1eae-357e-84aa-9d5bade97baf", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "1f0e3dad-9990-3345-b743-9f8ffabdffc4": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Login.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Login.journey.json new file mode 100644 index 000000000..f6201c962 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Login.journey.json @@ -0,0 +1,310 @@ +{ + "trees": { + "Login": { + "circlesOfTrust": {}, + "emailTemplates": {}, + "innerNodes": { + "4bacba23-414f-43d5-afbd-abe3b0481521": { + "_id": "4bacba23-414f-43d5-afbd-abe3b0481521", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "ValidatedUsernameNode", + "collection": true, + "name": "Platform Username" + }, + "usernameAttribute": "userName", + "validateInput": false + }, + "5fce2333-58f9-4635-a051-836e75f7f9bb": { + "_id": "5fce2333-58f9-4635-a051-836e75f7f9bb", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "ValidatedPasswordNode", + "collection": true, + "name": "Platform Password" + }, + "passwordAttribute": "password", + "validateInput": false + } + }, + "nodes": { + "470c9fc0-3484-4dea-8642-033e7d35c36a": { + "_id": "470c9fc0-3484-4dea-8642-033e7d35c36a", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "AccountLockoutNode", + "collection": true, + "name": "Account Lockout" + }, + "lockAction": "LOCK" + }, + "6889de95-837a-4648-9fa2-bab8082a205a": { + "_id": "6889de95-837a-4648-9fa2-bab8082a205a", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "ValidatedUsernameNode", + "collection": true, + "name": "Platform Username" + }, + "usernameAttribute": "userName", + "validateInput": false + }, + "70f38c95-78a5-49de-bf00-526c26b49067": { + "_id": "70f38c95-78a5-49de-bf00-526c26b49067", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "IncrementLoginCountNode", + "collection": true, + "name": "Increment Login Count" + }, + "identityAttribute": "userName" + }, + "7efaaec8-0a06-42b4-9de9-d438742b13b3": { + "_id": "7efaaec8-0a06-42b4-9de9-d438742b13b3", + "_outcomes": [ + { + "displayName": "Retry", + "id": "Retry" + }, + { + "displayName": "Reject", + "id": "Reject" + } + ], + "_type": { + "_id": "RetryLimitDecisionNode", + "collection": true, + "name": "Retry Limit Decision" + }, + "incrementUserAttributeOnFailure": true, + "retryLimit": 5 + }, + "9d9384ef-b068-4bca-a25b-18eeb096d1f0": { + "_id": "9d9384ef-b068-4bca-a25b-18eeb096d1f0", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "PageNode", + "collection": true, + "name": "Page Node" + }, + "nodes": [ + { + "_id": "4bacba23-414f-43d5-afbd-abe3b0481521", + "displayName": "Platform Username", + "nodeType": "ValidatedUsernameNode" + }, + { + "_id": "5fce2333-58f9-4635-a051-836e75f7f9bb", + "displayName": "Platform Password", + "nodeType": "ValidatedPasswordNode" + } + ], + "pageDescription": {}, + "pageHeader": {} + }, + "dc983965-b76f-4033-a21b-922fc56d57ff": { + "_id": "dc983965-b76f-4033-a21b-922fc56d57ff", + "_outcomes": [ + { + "displayName": "True", + "id": "true" + }, + { + "displayName": "False", + "id": "false" + } + ], + "_type": { + "_id": "DataStoreDecisionNode", + "collection": true, + "name": "Data Store Decision" + } + }, + "e9bce8c7-e9b1-45fc-b0d2-4813e367d39a": { + "_id": "e9bce8c7-e9b1-45fc-b0d2-4813e367d39a", + "_outcomes": [ + { + "displayName": "True", + "id": "TRUE" + }, + { + "displayName": "False", + "id": "FALSE" + }, + { + "displayName": "Locked", + "id": "LOCKED" + }, + { + "displayName": "Cancelled", + "id": "CANCELLED" + }, + { + "displayName": "Expired", + "id": "EXPIRED" + } + ], + "_type": { + "_id": "LdapDecisionNode", + "collection": true, + "name": "LDAP Decision" + }, + "accountSearchBaseDn": [ + "ou=people,ou=identities" + ], + "adminDn": "uid=admin", + "adminPassword": null, + "affinityLevel": "NONE", + "beheraEnabled": true, + "heartbeatInterval": 10, + "heartbeatTimeUnit": "SECONDS", + "ldapConnectionMode": "LDAP", + "ldapOperationsTimeout": 0, + "minimumPasswordLength": 8, + "mixedCaseForPasswordChangeMessages": false, + "mtlsEnabled": false, + "primaryServers": [ + "opendj-frodo-dev.classic.com:2636" + ], + "returnUserDn": true, + "searchFilterAttributes": [ + "uid" + ], + "searchScope": "SUBTREE", + "secondaryServers": [], + "trustAllServerCertificates": false, + "userCreationAttrs": [], + "userProfileAttribute": "uid" + } + }, + "saml2Entities": {}, + "scripts": {}, + "socialIdentityProviders": {}, + "themes": [], + "tree": { + "_id": "Login", + "enabled": true, + "entryNodeId": "6889de95-837a-4648-9fa2-bab8082a205a", + "innerTreeOnly": false, + "mustRun": false, + "noSession": false, + "nodes": { + "470c9fc0-3484-4dea-8642-033e7d35c36a": { + "connections": { + "outcome": "e301438c-0bd0-429c-ab0c-66126501069a" + }, + "displayName": "Account Lockout", + "nodeType": "AccountLockoutNode", + "x": 618, + "y": 239 + }, + "6889de95-837a-4648-9fa2-bab8082a205a": { + "connections": { + "outcome": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Platform Username", + "nodeType": "ValidatedUsernameNode", + "x": 643, + "y": 524.1000061035156 + }, + "70f38c95-78a5-49de-bf00-526c26b49067": { + "connections": { + "outcome": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Increment Login Count", + "nodeType": "IncrementLoginCountNode", + "x": 498, + "y": 34 + }, + "7efaaec8-0a06-42b4-9de9-d438742b13b3": { + "connections": { + "Reject": "470c9fc0-3484-4dea-8642-033e7d35c36a", + "Retry": "9d9384ef-b068-4bca-a25b-18eeb096d1f0" + }, + "displayName": "Retry Limit Decision", + "nodeType": "RetryLimitDecisionNode", + "x": 506, + "y": 89 + }, + "9d9384ef-b068-4bca-a25b-18eeb096d1f0": { + "connections": { + "outcome": "dc983965-b76f-4033-a21b-922fc56d57ff" + }, + "displayName": "Page Node", + "nodeType": "PageNode", + "x": 140, + "y": 32 + }, + "dc983965-b76f-4033-a21b-922fc56d57ff": { + "connections": { + "false": "7efaaec8-0a06-42b4-9de9-d438742b13b3", + "true": "70f38c95-78a5-49de-bf00-526c26b49067" + }, + "displayName": "Data Store Decision", + "nodeType": "DataStoreDecisionNode", + "x": 317, + "y": 31 + }, + "e9bce8c7-e9b1-45fc-b0d2-4813e367d39a": { + "connections": { + "CANCELLED": "e301438c-0bd0-429c-ab0c-66126501069a", + "EXPIRED": "e301438c-0bd0-429c-ab0c-66126501069a", + "FALSE": "7efaaec8-0a06-42b4-9de9-d438742b13b3", + "LOCKED": "e301438c-0bd0-429c-ab0c-66126501069a", + "TRUE": "70f38c95-78a5-49de-bf00-526c26b49067" + }, + "displayName": "LDAP Decision", + "nodeType": "LdapDecisionNode", + "x": 321, + "y": 453 + } + }, + "staticNodes": { + "70e691a5-1e33-4ac3-a356-e7b6d60d92e0": { + "x": 704, + "y": 55 + }, + "e301438c-0bd0-429c-ab0c-66126501069a": { + "x": 811, + "y": 183 + }, + "startNode": { + "x": 50, + "y": 25 + } + }, + "uiConfig": {} + } + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PersistentCookie.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PersistentCookie.journey.json index 3cb226bc9..c1cc2a56f 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PersistentCookie.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PersistentCookie.journey.json @@ -32,7 +32,6 @@ "collection": true, "name": "Set Persistent Cookie" }, - "hmacSigningKey": null, "idleTimeout": 5, "maxLife": 5, "persistentCookieName": "session-jwt", @@ -57,7 +56,6 @@ "name": "Persistent Cookie Decision" }, "enforceClientIp": false, - "hmacSigningKey": null, "idleTimeout": 5, "persistentCookieName": "session-jwt", "useHttpOnlyCookie": true, @@ -107,6 +105,8 @@ "entryNodeId": "aab32389-22bc-325a-af60-6eb525ffdc56", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "6512bd43-d9ca-36e0-ac99-0b0a82652dca": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformForgottenUsername.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformForgottenUsername.journey.json index 6a2786329..be774533f 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformForgottenUsername.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformForgottenUsername.journey.json @@ -43,6 +43,7 @@ "collection": true, "name": "Inner Tree Evaluator" }, + "displayErrorOutcome": false, "tree": "PlatformLogin" }, "9f61408e-3afb-333e-90cd-f1b20de6f466": { @@ -111,6 +112,7 @@ "collection": true, "name": "Identify Existing User" }, + "identifier": "userName", "identityAttribute": "mail" } }, @@ -125,6 +127,8 @@ "entryNodeId": "a684ecee-e76f-3522-b732-86a895bc8436", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "72b32a1f-754b-31c0-9b36-95e0cb6cde7f": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformLogin.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformLogin.journey.json index 671d3ccdc..37d826b45 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformLogin.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformLogin.journey.json @@ -70,6 +70,7 @@ "collection": true, "name": "Inner Tree Evaluator" }, + "displayErrorOutcome": false, "tree": "PlatformProgressiveProfile" }, "c0c7c76d-30bd-3dca-afc9-6f40275bdc0a": { @@ -135,6 +136,8 @@ "entryNodeId": "f457c545-a9de-388f-98ec-ee47145a72c0", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "2838023a-778d-3aec-9c21-2708f721b788": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformProgressiveProfile.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformProgressiveProfile.journey.json index feb05fcd6..c76db5a8d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformProgressiveProfile.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformProgressiveProfile.journey.json @@ -128,6 +128,8 @@ "entryNodeId": "a1d0c6e8-3f02-3327-9846-1063f4ac58a6", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "17e62166-fc85-36df-a4d1-bc0e1742c08b": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformRegistration.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformRegistration.journey.json index 870a0b012..43cea01cf 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformRegistration.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformRegistration.journey.json @@ -188,6 +188,8 @@ "entryNodeId": "d67d8ab4-f4c1-3bf2-aaa3-53e27879133c", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "3416a75f-4cea-3109-907c-acd8e2f2aefc": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformResetPassword.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformResetPassword.journey.json index dfa5b2ace..b1cc6abc9 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformResetPassword.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformResetPassword.journey.json @@ -173,6 +173,8 @@ "entryNodeId": "093f65e0-80a2-35f8-876b-1c5722a46aa2", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "03afdbd6-6e79-39b1-a5f8-597834fa83a4": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformUpdatePassword.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformUpdatePassword.journey.json index 512542fcf..93b2011e0 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformUpdatePassword.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/PlatformUpdatePassword.journey.json @@ -205,6 +205,8 @@ "entryNodeId": "fc490ca4-5c00-3124-9bbe-3554a4fdf6fb", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "14bfa6bb-1487-3e45-bba0-28a21ed38046": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/RetryLimit.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/RetryLimit.journey.json index f3b7b59ff..e6cd423d1 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/RetryLimit.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/RetryLimit.journey.json @@ -98,6 +98,8 @@ "entryNodeId": "1679091c-5a88-3faf-afb5-e6087eb1b2dc", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "1679091c-5a88-3faf-afb5-e6087eb1b2dc": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Test-Tree.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Test-Tree.journey.json index cf6812ce0..8ff3a1a22 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Test-Tree.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/Test-Tree.journey.json @@ -29,6 +29,8 @@ "enabled": true, "entryNodeId": "0254ab35-daea-40db-9a53-44fc06715e48", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "0254ab35-daea-40db-9a53-44fc06715e48": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/amsterService.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/amsterService.journey.json new file mode 100644 index 000000000..c006ba50c --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/amsterService.journey.json @@ -0,0 +1,57 @@ +{ + "trees": { + "amsterService": { + "circlesOfTrust": {}, + "emailTemplates": {}, + "innerNodes": {}, + "nodes": { + "cfcd2084-95d5-35ef-a6e7-d7f9f98764db": { + "_id": "cfcd2084-95d5-35ef-a6e7-d7f9f98764db", + "_outcomes": [ + { + "displayName": "True", + "id": "true" + }, + { + "displayName": "False", + "id": "false" + } + ], + "_type": { + "_id": "AmsterJwtDecisionNode", + "collection": true, + "name": "Amster Jwt Decision Node" + }, + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys" + } + }, + "saml2Entities": {}, + "scripts": {}, + "socialIdentityProviders": {}, + "themes": [], + "tree": { + "_id": "amsterService", + "description": "null", + "enabled": true, + "entryNodeId": "cfcd2084-95d5-35ef-a6e7-d7f9f98764db", + "identityResource": "null", + "innerTreeOnly": false, + "mustRun": false, + "noSession": false, + "nodes": { + "cfcd2084-95d5-35ef-a6e7-d7f9f98764db": { + "connections": { + "false": "e301438c-0bd0-429c-ab0c-66126501069a", + "true": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Amster Jwt Decision Node", + "nodeType": "AmsterJwtDecisionNode", + "x": 0, + "y": 0 + } + }, + "uiConfig": {} + } + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/ldapService.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/ldapService.journey.json new file mode 100644 index 000000000..082d32341 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/journey/ldapService.journey.json @@ -0,0 +1,159 @@ +{ + "trees": { + "ldapService": { + "circlesOfTrust": {}, + "emailTemplates": {}, + "innerNodes": { + "c4ca4238-a0b9-3382-8dcc-509a6f75849c": { + "_id": "c4ca4238-a0b9-3382-8dcc-509a6f75849c", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "PasswordCollectorNode", + "collection": true, + "name": "Password Collector" + } + }, + "cfcd2084-95d5-35ef-a6e7-dff9f98764db": { + "_id": "cfcd2084-95d5-35ef-a6e7-dff9f98764db", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "UsernameCollectorNode", + "collection": true, + "name": "Username Collector" + } + } + }, + "nodes": { + "6c8349cc-7260-3e62-a3b1-396831a8398a": { + "_id": "6c8349cc-7260-3e62-a3b1-396831a8398a", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "PageNode", + "collection": true, + "name": "Page Node" + }, + "nodes": [ + { + "_id": "cfcd2084-95d5-35ef-a6e7-dff9f98764db", + "displayName": "User Name Collector", + "nodeType": "UsernameCollectorNode" + }, + { + "_id": "c4ca4238-a0b9-3382-8dcc-509a6f75849c", + "displayName": "Password Collector", + "nodeType": "PasswordCollectorNode" + } + ], + "pageDescription": { + "en": "" + }, + "pageHeader": { + "en": "Sign In" + }, + "stage": "null" + }, + "c81e728d-9d4c-3f63-af06-7f89cc14862d": { + "_id": "c81e728d-9d4c-3f63-af06-7f89cc14862d", + "_outcomes": [ + { + "displayName": "True", + "id": "true" + }, + { + "displayName": "False", + "id": "false" + } + ], + "_type": { + "_id": "DataStoreDecisionNode", + "collection": true, + "name": "Data Store Decision" + } + }, + "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5": { + "_id": "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5", + "_outcomes": [ + { + "displayName": "Has Credentials", + "id": "true" + }, + { + "displayName": "No Credentials", + "id": "false" + } + ], + "_type": { + "_id": "ZeroPageLoginNode", + "collection": true, + "name": "Zero Page Login Collector" + }, + "allowWithoutReferer": true, + "passwordHeader": "X-OpenAM-Password", + "referrerWhiteList": [], + "usernameHeader": "X-OpenAM-Username" + } + }, + "saml2Entities": {}, + "scripts": {}, + "socialIdentityProviders": {}, + "themes": [], + "tree": { + "_id": "ldapService", + "description": "null", + "enabled": true, + "entryNodeId": "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5", + "identityResource": "null", + "innerTreeOnly": false, + "mustRun": false, + "noSession": false, + "nodes": { + "6c8349cc-7260-3e62-a3b1-396831a8398a": { + "connections": { + "outcome": "c81e728d-9d4c-3f63-af06-7f89cc14862d" + }, + "displayName": "Page Node", + "nodeType": "PageNode", + "x": 0, + "y": 0 + }, + "c81e728d-9d4c-3f63-af06-7f89cc14862d": { + "connections": { + "false": "e301438c-0bd0-429c-ab0c-66126501069a", + "true": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Data Store Decision", + "nodeType": "DataStoreDecisionNode", + "x": 0, + "y": 0 + }, + "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5": { + "connections": { + "false": "6c8349cc-7260-3e62-a3b1-396831a8398a", + "true": "c81e728d-9d4c-3f63-af06-7f89cc14862d" + }, + "displayName": "Zero Page Login Collector", + "nodeType": "ZeroPageLoginNode", + "x": 0, + "y": 0 + } + }, + "uiConfig": {} + } + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/policyset/oauth2Scopes.policyset.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/policyset/oauth2Scopes.policyset.json index 9142a9513..01cc6f9bf 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/policyset/oauth2Scopes.policyset.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/policyset/oauth2Scopes.policyset.json @@ -30,8 +30,8 @@ "displayName": "Default OAuth2 Scopes Policy Set", "editable": true, "entitlementCombiner": "DenyOverride", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509790191, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533575849, "name": "oauth2Scopes", "resourceComparator": null, "resourceTypeUuids": [ diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/resourcetype/OAuth2-Scope.resourcetype.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/resourcetype/OAuth2-Scope.resourcetype.json index 2787d74d9..bfd42f41d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/resourcetype/OAuth2-Scope.resourcetype.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/resourcetype/OAuth2-Scope.resourcetype.json @@ -7,8 +7,8 @@ "createdBy": "id=dsameuser,ou=user,ou=am-config", "creationDate": 1595479030586, "description": "The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509790156, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533575835, "name": "OAuth2 Scope", "patterns": [ "*://*:*/*", diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/resourcetype/URL.resourcetype.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/resourcetype/URL.resourcetype.json index 2cf42c6c0..0a930b37c 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/resourcetype/URL.resourcetype.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/resourcetype/URL.resourcetype.json @@ -13,8 +13,8 @@ "createdBy": "id=dsameuser,ou=user,ou=am-config", "creationDate": 1595479030487, "description": "The built-in URL Resource Type available to OpenAM Policies.", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509790171, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533575825, "name": "URL", "patterns": [ "*://*:*/*", diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Amazon-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Amazon-Profile-Normalization.script.json index cd850b54c..c1cd8a3d9 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Amazon-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Amazon-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30": { "_id": "6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Amazon", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937017, "name": "Amazon Profile Normalization", "script": "file://Amazon-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Apple-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Apple-Profile-Normalization.script.json index 75d8730d4..33b43e787 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Apple-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Apple-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "484e6246-dbc6-4288-97e6-54e55431402e": { "_id": "484e6246-dbc6-4288-97e6-54e55431402e", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Apple", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936947, "name": "Apple Profile Normalization", "script": "file://Apple-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Authentication-Tree-Decision-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Authentication-Tree-Decision-Node-Script.script.json index bac191479..17167e5a4 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Authentication-Tree-Decision-Node-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Authentication-Tree-Decision-Node-Script.script.json @@ -3,14 +3,14 @@ "01e1a3c0-038b-4c16-956a-6c9d89328cff": { "_id": "01e1a3c0-038b-4c16-956a-6c9d89328cff", "context": "AUTHENTICATION_TREE_DECISION_NODE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for a scripted decision node", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936730, "name": "Authentication Tree Decision Node Script", "script": "file://Authentication-Tree-Decision-Node-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Config-Provider-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Config-Provider-Node-Script.script.json index 5448e5b0d..28060d01c 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Config-Provider-Node-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Config-Provider-Node-Script.script.json @@ -3,14 +3,14 @@ "5e854779-6ec1-4c39-aeba-0477e0986646": { "_id": "5e854779-6ec1-4c39-aeba-0477e0986646", "context": "CONFIG_PROVIDER_NODE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Script to provide values for a config provider node", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936992, "name": "Config Provider Node Script", "script": "file://Config-Provider-Node-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Id-(Match)-Client-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Id-(Match)-Client-Side.script.json index d532e222d..009b1b643 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Id-(Match)-Client-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Id-(Match)-Client-Side.script.json @@ -3,14 +3,14 @@ "157298c0-7d31-4059-a95b-eeb08473b7e5": { "_id": "157298c0-7d31-4059-a95b-eeb08473b7e5", "context": "AUTHENTICATION_CLIENT_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for client side Device Id (Match) Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936771, "name": "Device Id (Match) - Client Side", "script": "file://Device-Id-(Match)-Client-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Id-(Match)-Server-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Id-(Match)-Server-Side.script.json index 3485db70b..6e7444efd 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Id-(Match)-Server-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Id-(Match)-Server-Side.script.json @@ -3,14 +3,14 @@ "703dab1a-1921-4981-98dd-b8e5349d8548": { "_id": "703dab1a-1921-4981-98dd-b8e5349d8548", "context": "AUTHENTICATION_SERVER_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for server side Device Id (Match) Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937041, "name": "Device Id (Match) - Server Side", "script": "file://Device-Id-(Match)-Server-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Profile-Match-Template-Decision-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Profile-Match-Template-Decision-Node-Script.script.json index 865226ed8..b2a132012 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Profile-Match-Template-Decision-Node-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Device-Profile-Match-Template-Decision-Node-Script.script.json @@ -3,14 +3,14 @@ "13e3f263-9cd3-4844-8d1c-040fd0dd02eb": { "_id": "13e3f263-9cd3-4844-8d1c-040fd0dd02eb", "context": "AUTHENTICATION_TREE_DECISION_NODE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script template for Device Profile Match decision node script for Authentication Tree", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936757, "name": "Device Profile Match Template - Decision Node Script", "script": "file://Device-Profile-Match-Template-Decision-Node-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Element-NameID-Mapper.script.js b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Element-NameID-Mapper.script.js new file mode 100644 index 000000000..40fa420ec --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Element-NameID-Mapper.script.js @@ -0,0 +1 @@ +identity.getAttributeValues("uid")[0]; diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Element-NameID-Mapper.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Element-NameID-Mapper.script.json new file mode 100644 index 000000000..58bc68ce9 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Element-NameID-Mapper.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "046d1344-8ef1-4e67-8d2a-28fd9266f44e": { + "_id": "046d1344-8ef1-4e67-8d2a-28fd9266f44e", + "context": "SAML2_NAMEID_MAPPER", + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": 1748630811197, + "default": false, + "description": null, + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1748630957225, + "name": "Element NameID Mapper", + "script": "file://Element-NameID-Mapper.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Facebook-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Facebook-Profile-Normalization.script.json index 9e64ea37c..624c778f5 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Facebook-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Facebook-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "bae1d54a-e97d-4997-aa5d-c027f21af82c": { "_id": "bae1d54a-e97d-4997-aa5d-c027f21af82c", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Facebook", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937150, "name": "Facebook Profile Normalization", "script": "file://Facebook-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/GitHub-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/GitHub-Profile-Normalization.script.json index c42d44733..092b92abe 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/GitHub-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/GitHub-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "a7a78773-445b-4eca-bb93-409e86bced81": { "_id": "a7a78773-445b-4eca-bb93-409e86bced81", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from GitHub", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937134, "name": "GitHub Profile Normalization", "script": "file://GitHub-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Google-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Google-Profile-Normalization.script.json index 9b6990cb6..344f54bf0 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Google-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Google-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "58d29080-4563-480b-89bb-1e7719776a21": { "_id": "58d29080-4563-480b-89bb-1e7719776a21", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Google", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936980, "name": "Google Profile Normalization", "script": "file://Google-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Instagram-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Instagram-Profile-Normalization.script.json index 79b1a10c0..892b6c3b0 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Instagram-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Instagram-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "1244e639-4a31-401d-ab61-d75133d8dc9e": { "_id": "1244e639-4a31-401d-ab61-d75133d8dc9e", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Instagram", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936742, "name": "Instagram Profile Normalization", "script": "file://Instagram-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Itsme-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Itsme-Profile-Normalization.script.json index 987af65c2..9ee578076 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Itsme-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Itsme-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "3d97c436-42c0-4dd0-a571-ea6f34f752b3": { "_id": "3d97c436-42c0-4dd0-a571-ea6f34f752b3", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Itsme", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936854, "name": "Itsme Profile Normalization", "script": "file://Itsme-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LINE-Profile-Normalization.script.groovy b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LINE-Profile-Normalization.script.groovy new file mode 100644 index 000000000..145d8d7a1 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LINE-Profile-Normalization.script.groovy @@ -0,0 +1,44 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ + + +import static org.forgerock.json.JsonValue.field +import static org.forgerock.json.JsonValue.fieldIfNotNull +import static org.forgerock.json.JsonValue.json +import static org.forgerock.json.JsonValue.object + +// LINE does not return the email from the userInfo endpoint but should return it from the token endpoint and therefore +// it should be set in the shared state +var email = null +var username = null +var firstName = null +var lastName = null + +if (sharedState.get("claims_set") != null && sharedState.get("claims_set").email != null) { + email = sharedState.get("claims_set").email + username = email +} else { + // Ensure that your LINE provider is configured to provide users' email addresses + throw new Exception("Email is required") +} + +if (rawProfile.isDefined("name") && rawProfile.name.isNotNull()) { + var splitName = rawProfile.name.asString().split(" ") + firstName = splitName[0] + lastName = splitName[-1] +} + +return json(object( + field("id", rawProfile.sub), + field("displayName", rawProfile.name), + field("photoUrl", rawProfile.picture), + field("email", email), + fieldIfNotNull("givenName", firstName), + fieldIfNotNull("familyName", lastName), + field("username", username))) diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LINE-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LINE-Profile-Normalization.script.json new file mode 100644 index 000000000..a0d5e698a --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LINE-Profile-Normalization.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "60609c1a-4cef-4729-a417-354aafdebf3f": { + "_id": "60609c1a-4cef-4729-a417-354aafdebf3f", + "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Normalizes raw profile data from LINE", + "evaluatorVersion": "1.0", + "language": "GROOVY", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "LINE Profile Normalization", + "script": "file://LINE-Profile-Normalization.script.groovy" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Library-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Library-Script.script.json index 0e203020c..0f43112fb 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Library-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Library-Script.script.json @@ -3,8 +3,8 @@ "6c49bebe-3a62-11ed-a261-0242ac120002": { "_id": "6c49bebe-3a62-11ed-a261-0242ac120002", "context": "LIBRARY", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global library script to be referenced from other scripts", "evaluatorVersion": "2.0", @@ -31,8 +31,8 @@ } ], "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937027, "name": "Library Script", "script": "file://Library-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization-imported-(1).script.groovy b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization-imported-(1).script.groovy new file mode 100644 index 000000000..0942c43a5 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization-imported-(1).script.groovy @@ -0,0 +1,19 @@ +/* + * Copyright 2020 ForgeRock AS. All Rights Reserved + * + * Use of this code requires a commercial software license with ForgeRock AS. + * or with one of its affiliates. All use shall be exclusively subject + * to such license between the licensee and ForgeRock AS. + */ + +import static org.forgerock.json.JsonValue.field +import static org.forgerock.json.JsonValue.json +import static org.forgerock.json.JsonValue.object + +return json(object( + field("id", rawProfile.id), + field("givenName", rawProfile.firstName.localized.get(0)), + field("familyName", rawProfile.lastName.localized.get(0)), + field("photoUrl", rawProfile.profilePicture.displayImage), + field("email", rawProfile.elements.get(0).get("handle~").emailAddress), + field("username", rawProfile.elements.get(0).get("handle~").emailAddress))) diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization-imported-(1).script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization-imported-(1).script.json new file mode 100644 index 000000000..4b5382858 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization-imported-(1).script.json @@ -0,0 +1,18 @@ +{ + "script": { + "8862ca8f-7770-4af5-a888-ac0df0947f36": { + "_id": "8862ca8f-7770-4af5-a888-ac0df0947f36", + "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Normalizes raw profile data from LinkedIn", + "evaluatorVersion": "1.0", + "language": "GROOVY", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937090, + "name": "LinkedIn Profile Normalization - imported (1)", + "script": "file://LinkedIn-Profile-Normalization-imported-(1).script.groovy" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization.script.groovy b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization.script.groovy index 0942c43a5..e481a4eac 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization.script.groovy +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization.script.groovy @@ -1,19 +1,23 @@ /* - * Copyright 2020 ForgeRock AS. All Rights Reserved + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved * - * Use of this code requires a commercial software license with ForgeRock AS. - * or with one of its affiliates. All use shall be exclusively subject - * to such license between the licensee and ForgeRock AS. + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. */ + import static org.forgerock.json.JsonValue.field import static org.forgerock.json.JsonValue.json import static org.forgerock.json.JsonValue.object return json(object( - field("id", rawProfile.id), - field("givenName", rawProfile.firstName.localized.get(0)), - field("familyName", rawProfile.lastName.localized.get(0)), - field("photoUrl", rawProfile.profilePicture.displayImage), - field("email", rawProfile.elements.get(0).get("handle~").emailAddress), - field("username", rawProfile.elements.get(0).get("handle~").emailAddress))) + field("id", rawProfile.sub), + field("displayName", rawProfile.name), + field("givenName", rawProfile.given_name), + field("familyName", rawProfile.family_name), + field("photoUrl", rawProfile.picture), + field("email", rawProfile.email), + field("emailVerified", rawProfile.email_verified), + field("username", rawProfile.email))) diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization.script.json index fd7733b94..4b4775605 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/LinkedIn-Profile-Normalization.script.json @@ -1,16 +1,16 @@ { "script": { - "8862ca8f-7770-4af5-a888-ac0df0947f36": { - "_id": "8862ca8f-7770-4af5-a888-ac0df0947f36", + "b4f3facb-c754-4e7f-b1c0-f4d46f592126": { + "_id": "b4f3facb-c754-4e7f-b1c0-f4d46f592126", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from LinkedIn", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, "name": "LinkedIn Profile Normalization", "script": "file://LinkedIn-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Microsoft-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Microsoft-Profile-Normalization.script.json index 2c271160f..3cdd39dec 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Microsoft-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Microsoft-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "73cecbfc-dad0-4395-be6a-6858ee3a80e5": { "_id": "73cecbfc-dad0-4395-be6a-6858ee3a80e5", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Microsoft", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937058, "name": "Microsoft Profile Normalization", "script": "file://Microsoft-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Device-Match-Node-Script.script.js b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Device-Match-Node-Script.script.js new file mode 100644 index 000000000..bc57aca00 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Device-Match-Node-Script.script.js @@ -0,0 +1,14 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ +/* + - Data made available by nodes that have already executed is available in the nodeState variable. + - Use the action object to set the outcome of the node. + */ + +action.goTo("true"); diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Device-Match-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Device-Match-Node-Script.script.json new file mode 100644 index 000000000..843987f0d --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Device-Match-Node-Script.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "11e1a3c0-038b-4c16-956a-6c9d89328d00": { + "_id": "11e1a3c0-038b-4c16-956a-6c9d89328d00", + "context": "DEVICE_MATCH_NODE", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for a device match node", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "Next Generation Device Match Node Script", + "script": "file://Next-Generation-Device-Match-Node-Script.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Scripted-Decision-Node-Script.script.js b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Scripted-Decision-Node-Script.script.js new file mode 100644 index 000000000..bc57aca00 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Scripted-Decision-Node-Script.script.js @@ -0,0 +1,14 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ +/* + - Data made available by nodes that have already executed is available in the nodeState variable. + - Use the action object to set the outcome of the node. + */ + +action.goTo("true"); diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Scripted-Decision-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Scripted-Decision-Node-Script.script.json new file mode 100644 index 000000000..219868307 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Next-Generation-Scripted-Decision-Node-Script.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "11e1a3c0-038b-4c16-956a-6c9d89328cff": { + "_id": "11e1a3c0-038b-4c16-956a-6c9d89328cff", + "context": "SCRIPTED_DECISION_NODE", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for a scripted decision node", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "Next Generation Scripted Decision Node Script", + "script": "file://Next-Generation-Scripted-Decision-Node-Script.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Normalized-Profile-to-Identity.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Normalized-Profile-to-Identity.script.json index 5d63586e0..8b52709a3 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Normalized-Profile-to-Identity.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Normalized-Profile-to-Identity.script.json @@ -3,14 +3,14 @@ "ed685f9f-5909-4726-86e8-22bd38b47663": { "_id": "ed685f9f-5909-4726-86e8-22bd38b47663", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Converts a normalized social profile into an Identity", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937227, "name": "Normalized Profile to Identity", "script": "file://Normalized-Profile-to-Identity.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Normalized-Profile-to-Managed-User.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Normalized-Profile-to-Managed-User.script.json index 52a3af82d..d7d4cd380 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Normalized-Profile-to-Managed-User.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Normalized-Profile-to-Managed-User.script.json @@ -3,14 +3,14 @@ "58c824ae-84ed-4724-82cd-db128fc3f6c": { "_id": "58c824ae-84ed-4724-82cd-db128fc3f6c", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Converts a normalized social profile into a managed user", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936966, "name": "Normalized Profile to Managed User", "script": "file://Normalized-Profile-to-Managed-User.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Access-Token-Modification-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Access-Token-Modification-Script.script.json index 3cc1399f6..7dfac2c7e 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Access-Token-Modification-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Access-Token-Modification-Script.script.json @@ -3,14 +3,14 @@ "d22f9a0c-426a-4466-b95e-d0f125b0d5fa": { "_id": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", "context": "OAUTH2_ACCESS_TOKEN_MODIFICATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Access Token Modification", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937205, "name": "OAuth2 Access Token Modification Script", "script": "file://OAuth2-Access-Token-Modification-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json index bdad11efe..05305f790 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json @@ -3,14 +3,14 @@ "3f93ef6e-e54a-4393-aba1-f322656db28a": { "_id": "3f93ef6e-e54a-4393-aba1-f322656db28a", "context": "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Authorize Endpoint Data Provider", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936873, "name": "OAuth2 Authorize Endpoint Data Provider Script", "script": "file://OAuth2-Authorize-Endpoint-Data-Provider-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Dynamic-Client-Registration.script.js b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Dynamic-Client-Registration.script.js new file mode 100644 index 000000000..de215145f --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Dynamic-Client-Registration.script.js @@ -0,0 +1,71 @@ +/* + * Copyright 2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ + +/* + * This script is run after the following Dynamic Client Registration operations: CREATE, UPDATE, DELETE. + * + * Defined variables: + * Common script bindings for next-generation scripts (1) + * requestProperties - An unmodifiable map of the following request properties: + * requestUri - The request URI. + * realm - The realm that the request relates to. + * requestParams - A map of the request params and/or posted data. + * Each value is a list of one or more properties. + * Please note that these should be handled in accordance with OWASP best practices: + * https://owasp.org/www-community/vulnerabilities/Unsafe_use_of_Reflection. + * requestHeaders - A map of the request headers. + * Case-sensitive. + * requestBody - A map representing the body of the request. + * operation - A string to denote the dynamic client registration request operation. + * Possible values: CREATE, UPDATE, DELETE + * clientIdentity - The AMIdentity that represents the created or updated OAuth2Client. + * Null if the operation is DELETE. + * softwareStatement - A map representing the decoded data of the software statement from the request. + * Empty map if no software statement is provided. + * + * Return - no value is expected, any changes shall be made via the bindings directly. + * + * Reference: + * (1) Script Bindings - https://docs.pingidentity.com/pingoneaic/latest/am-scripting/script-bindings.html + */ + +// logger.info("Executing: {}", scriptName); + +/* +// Example: Update the OAuth2Client identity on CREATE +// NOTE: setAttribute() overwrites the whole attribute if it exists already +if (operation === "CREATE") { + // Read a property from the request body + var requestBody = requestProperties.get("requestBody"); + var grantType = requestBody.get("grant_type"); + + if (grantType != null) { + var grantTypes = ["[0]=authorization_code"]; + grantTypes.push("[1]=".concat(grantType)); + clientIdentity.setAttribute( "com.forgerock.openam.oauth2provider.grantTypes", grantTypes); + clientIdentity.store(); + }; +}; + +// Example: Update the OAuth2Client identity on UPDATE +// NOTE: addAttribute() adds the provided value to the set if it exists already. +// Otherwise, it sets the attribute with the single value. +if (operation === "UPDATE") { + // Example: Read a property from the software statement + var redirectUris = softwareStatement.get("redirect_uris"); + if (redirectUris != null) { + var firstUri = redirectUris[0]; + }; + + if (firstUri != null) { + clientIdentity.addAttribute("com.forgerock.openam.oauth2provider.redirectionURIs", "[0]=".concat(firstUri)); + clientIdentity.store(); + }; +}; +*/ diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Dynamic-Client-Registration.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Dynamic-Client-Registration.script.json new file mode 100644 index 000000000..e1bb08560 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Dynamic-Client-Registration.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "4b6b7e8e-cf03-46c8-949f-c5742dbd6bc5": { + "_id": "4b6b7e8e-cf03-46c8-949f-c5742dbd6bc5", + "context": "OAUTH2_DYNAMIC_CLIENT_REGISTRATION", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for Dynamic Client Registration", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "OAuth2 Dynamic Client Registration", + "script": "file://OAuth2-Dynamic-Client-Registration.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Evaluate-Scope-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Evaluate-Scope-Script.script.json index 8f1b03eb7..eff780dcd 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Evaluate-Scope-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Evaluate-Scope-Script.script.json @@ -3,14 +3,14 @@ "da56fe60-8b38-4c46-a405-d6b306d4b336": { "_id": "da56fe60-8b38-4c46-a405-d6b306d4b336", "context": "OAUTH2_EVALUATE_SCOPE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Scope Evaluation", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937216, "name": "OAuth2 Evaluate Scope Script", "script": "file://OAuth2-Evaluate-Scope-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-JWT-Issuer-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-JWT-Issuer-Script.script.json index d2bad38a2..e5cfdd3da 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-JWT-Issuer-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-JWT-Issuer-Script.script.json @@ -3,14 +3,14 @@ "400e48ba-3f13-4144-ac7b-f824ea8e98c5": { "_id": "400e48ba-3f13-4144-ac7b-f824ea8e98c5", "context": "OAUTH2_SCRIPTED_JWT_ISSUER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for scripted JWT Issuers", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936890, "name": "OAuth2 JWT Issuer Script", "script": "file://OAuth2-JWT-Issuer-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-May-Act-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-May-Act-Script.script.json index 3cf7db318..ca0db16e1 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-May-Act-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-May-Act-Script.script.json @@ -3,14 +3,14 @@ "c735de08-f8f2-4e69-aa4a-2d8d3d438323": { "_id": "c735de08-f8f2-4e69-aa4a-2d8d3d438323", "context": "OAUTH2_MAY_ACT", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 May Act", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937176, "name": "OAuth2 May Act Script", "script": "file://OAuth2-May-Act-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Validate-Scope-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Validate-Scope-Script.script.json index 557429a4b..96b6cbd3b 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Validate-Scope-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OAuth2-Validate-Scope-Script.script.json @@ -3,14 +3,14 @@ "25e6c06d-cf70-473b-bd28-26931edc476b": { "_id": "25e6c06d-cf70-473b-bd28-26931edc476b", "context": "OAUTH2_VALIDATE_SCOPE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Scope Validation", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936809, "name": "OAuth2 Validate Scope Script", "script": "file://OAuth2-Validate-Scope-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OIDC-Claims-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OIDC-Claims-Script.script.json index 13b863291..286e17862 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OIDC-Claims-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/OIDC-Claims-Script.script.json @@ -3,14 +3,14 @@ "36863ffb-40ec-48b9-94b1-9a99f71cc3b5": { "_id": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", "context": "OIDC_CLAIMS", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OIDC claims", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936837, "name": "OIDC Claims Script", "script": "file://OIDC-Claims-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-IDP-Adapter-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-IDP-Adapter-Script.script.json index e0e03fd70..ca243b60d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-IDP-Adapter-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-IDP-Adapter-Script.script.json @@ -3,14 +3,14 @@ "248b8a56-df81-4b1b-b4ba-45d994f6504c": { "_id": "248b8a56-df81-4b1b-b4ba-45d994f6504c", "context": "SAML2_IDP_ADAPTER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for SAML2 IDP Adapter", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936797, "name": "SAML2 IDP Adapter Script", "script": "file://SAML2-IDP-Adapter-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-IDP-Attribute-Mapper-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-IDP-Attribute-Mapper-Script.script.json index bdae7b156..1da41aa4a 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-IDP-Attribute-Mapper-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-IDP-Attribute-Mapper-Script.script.json @@ -3,14 +3,14 @@ "c4f22465-2368-4e27-8013-e6399974fd48": { "_id": "c4f22465-2368-4e27-8013-e6399974fd48", "context": "SAML2_IDP_ATTRIBUTE_MAPPER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for SAML2 IDP Attribute Mapper", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937162, "name": "SAML2 IDP Attribute Mapper Script", "script": "file://SAML2-IDP-Attribute-Mapper-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-NameID-Mapper-Script.script.js b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-NameID-Mapper-Script.script.js new file mode 100644 index 000000000..99d04cbcc --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-NameID-Mapper-Script.script.js @@ -0,0 +1,15 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ + +/* + * This is an example SAML2 NameID Mapper script. + * This script should return a string value representing the SAML2 NameID identifier. + * The example script delegates to the configured java plugin via the nameIDScriptHelper binding. + */ +nameIDScriptHelper.getNameIDValue(); diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-NameID-Mapper-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-NameID-Mapper-Script.script.json new file mode 100644 index 000000000..e11d1a11e --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-NameID-Mapper-Script.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5": { + "_id": "4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5", + "context": "SAML2_NAMEID_MAPPER", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for SAML2 NameID Mapper", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "SAML2 NameID Mapper Script", + "script": "file://SAML2-NameID-Mapper-Script.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-SP-Adapter-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-SP-Adapter-Script.script.json index 72cc8b1a3..8e7d3ac7d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-SP-Adapter-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/SAML2-SP-Adapter-Script.script.json @@ -3,14 +3,14 @@ "69f06e63-128c-4e2f-af52-079a8a6f448b": { "_id": "69f06e63-128c-4e2f-af52-079a8a6f448b", "context": "SAML2_SP_ADAPTER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for SAML2 SP Adapter", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937005, "name": "SAML2 SP Adapter Script", "script": "file://SAML2-SP-Adapter-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Salesforce-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Salesforce-Profile-Normalization.script.json index 3ee9bd140..a45fa265b 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Salesforce-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Salesforce-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "312e951f-70c5-49d2-a9ae-93aef909d5df": { "_id": "312e951f-70c5-49d2-a9ae-93aef909d5df", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Salesforce", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936823, "name": "Salesforce Profile Normalization", "script": "file://Salesforce-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Module-Client-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Module-Client-Side.script.json index 6dc813c3e..b2dcac3fd 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Module-Client-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Module-Client-Side.script.json @@ -3,14 +3,14 @@ "c827d2b4-3608-4693-868e-bbcf86bd87c7": { "_id": "c827d2b4-3608-4693-868e-bbcf86bd87c7", "context": "AUTHENTICATION_CLIENT_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for client side Scripted Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937190, "name": "Scripted Module - Client Side", "script": "file://Scripted-Module-Client-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Module-Server-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Module-Server-Side.script.json index 654961a61..94dd8593f 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Module-Server-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Module-Server-Side.script.json @@ -3,14 +3,14 @@ "7e3d7067-d50f-4674-8c76-a3e13a810c33": { "_id": "7e3d7067-d50f-4674-8c76-a3e13a810c33", "context": "AUTHENTICATION_SERVER_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for server side Scripted Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937070, "name": "Scripted Module - Server Side", "script": "file://Scripted-Module-Server-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Policy-Condition.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Policy-Condition.script.json index 7433e6c61..9ff9ab987 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Policy-Condition.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Scripted-Policy-Condition.script.json @@ -3,14 +3,14 @@ "9de3eb62-f131-4fac-a294-7bd170fd4acb": { "_id": "9de3eb62-f131-4fac-a294-7bd170fd4acb", "context": "POLICY_CONDITION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for Scripted Policy Conditions", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937122, "name": "Scripted Policy Condition", "script": "file://Scripted-Policy-Condition.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Social-Identity-Provider-Profile-Transformation-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Social-Identity-Provider-Profile-Transformation-Script.script.json index 80fdd9df3..3ff67ac6e 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Social-Identity-Provider-Profile-Transformation-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Social-Identity-Provider-Profile-Transformation-Script.script.json @@ -3,14 +3,14 @@ "1d475815-72cb-42eb-aafd-4026989d28a7": { "_id": "1d475815-72cb-42eb-aafd-4026989d28a7", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for Social Identity Provider Profile Transformation", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936785, "name": "Social Identity Provider Profile Transformation Script", "script": "file://Social-Identity-Provider-Profile-Transformation-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Twitter-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Twitter-Profile-Normalization.script.json index 82f7eddf4..cea69de50 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Twitter-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Twitter-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "8e298710-b55e-4085-a464-88a375a4004b": { "_id": "8e298710-b55e-4085-a464-88a375a4004b", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Twitter", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937100, "name": "Twitter Profile Normalization", "script": "file://Twitter-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/VKontakte-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/VKontakte-Profile-Normalization.script.json index fe7f120a2..48f46cf37 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/VKontakte-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/VKontakte-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "403cf226-6051-4368-8b72-9ba14f9a5140": { "_id": "403cf226-6051-4368-8b72-9ba14f9a5140", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from VKontakte", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936907, "name": "VKontakte Profile Normalization", "script": "file://VKontakte-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/WeChat-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/WeChat-Profile-Normalization.script.json index b5055281d..a4a7b6418 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/WeChat-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/WeChat-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "472534ec-a25f-468d-a606-3fb1935190df": { "_id": "472534ec-a25f-468d-a606-3fb1935190df", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from WeChat", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936934, "name": "WeChat Profile Normalization", "script": "file://WeChat-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/WordPress-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/WordPress-Profile-Normalization.script.json index 0870d779a..8161f1d8b 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/WordPress-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/WordPress-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "91d197de-5916-4dca-83b5-9a4df26e7159": { "_id": "91d197de-5916-4dca-83b5-9a4df26e7159", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from WordPress", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937110, "name": "WordPress Profile Normalization", "script": "file://WordPress-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Yahoo-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Yahoo-Profile-Normalization.script.json index abd0293e8..4c6d3e8a3 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Yahoo-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/script/Yahoo-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "424da748-82cc-4b54-be6f-82bd64d82a74": { "_id": "424da748-82cc-4b54-be6f-82bd64d82a74", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Yahoo", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936920, "name": "Yahoo Profile Normalization", "script": "file://Yahoo-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/Keystore.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/Keystore.secretstore.json new file mode 100644 index 000000000..5e05bd8f3 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/Keystore.secretstore.json @@ -0,0 +1,72 @@ +{ + "secretstore": { + "Keystore": { + "_id": "Keystore", + "_type": { + "_id": "KeyStoreSecretStore", + "collection": true, + "name": "Keystore" + }, + "file": "/home/trivir/secrets/keystore.jceks", + "leaseExpiryDuration": 5, + "mappings": [ + { + "_id": "a5f8a49b-a954-41c4-9f8a-f643c43ebc7e", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mysecretkey" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512" + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mypassword", + "mysecretkey", + "thirdpassword", + "fourthpassword" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES256" + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mypassword", + "mysecretkey" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384" + }, + { + "_id": "am.services.uma.pct.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mysecretkey", + "mypassword", + "thirdpassword", + "fourthpassword" + ], + "secretId": "am.services.uma.pct.encryption" + } + ], + "storetype": "JCEKS" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/Volumes.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/Volumes.secretstore.json new file mode 100644 index 000000000..3719dee71 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/Volumes.secretstore.json @@ -0,0 +1,16 @@ +{ + "secretstore": { + "Volumes": { + "_id": "Volumes", + "_type": { + "_id": "FileSystemSecretStore", + "collection": true, + "name": "File System Secret Volumes" + }, + "directory": "/home/trivir/secrets", + "format": "BASE64", + "suffix": ".txt", + "versionSuffix": ".v" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/default-keystore.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/default-keystore.secretstore.json deleted file mode 100644 index 7f655dbd7..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/default-keystore.secretstore.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "secretstore": { - "default-keystore": { - "_id": "default-keystore", - "_type": { - "_id": "KeyStoreSecretStore", - "collection": true, - "name": "Keystore" - }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", - "keyEntryPassword": "entrypass", - "leaseExpiryDuration": 5, - "mappings": [], - "providerName": "SunJCE", - "storePassword": "storepass", - "storetype": "JCEKS" - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/default-passwords-store.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/default-passwords-store.secretstore.json deleted file mode 100644 index 7176a9aab..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/secretstore/default-passwords-store.secretstore.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "secretstore": { - "default-passwords-store": { - "_id": "default-passwords-store", - "_type": { - "_id": "FileSystemSecretStore", - "collection": true, - "name": "File System Secret Volumes" - }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", - "format": "ENCRYPTED_PLAIN" - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/service/SocialIdentityProviders.service.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/service/SocialIdentityProviders.service.json index 4d6ce1ac8..f50daa2cc 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/service/SocialIdentityProviders.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/service/SocialIdentityProviders.service.json @@ -8,8 +8,7 @@ "name": "Social Identity Provider Service" }, "enabled": true, - "location": "/first/second", - "nextDescendents": [] + "location": "/first/second" } } } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/service/id-repositories.service.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/service/id-repositories.service.json index 122e0401b..27346fefd 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/service/id-repositories.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/service/id-repositories.service.json @@ -50,12 +50,12 @@ "openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client": false, "openam-idrepo-ldapv3-heartbeat-interval": 10, "openam-idrepo-ldapv3-heartbeat-timeunit": "SECONDS", + "openam-idrepo-ldapv3-keepalive-searchbase": "", "openam-idrepo-ldapv3-keepalive-searchfilter": "(objectclass=*)", "openam-idrepo-ldapv3-mtls-enabled": false, "openam-idrepo-ldapv3-proxied-auth-denied-fallback": false, "openam-idrepo-ldapv3-proxied-auth-enabled": false, "sun-idrepo-ldapv3-config-authid": "cn=Directory Manager", - "sun-idrepo-ldapv3-config-authpw": null, "sun-idrepo-ldapv3-config-connection-mode": "LDAPS", "sun-idrepo-ldapv3-config-connection_pool_max_size": 10, "sun-idrepo-ldapv3-config-connection_pool_min_size": 1, @@ -188,6 +188,185 @@ "sun-idrepo-ldapv3-config-users-search-attribute": "uid", "sun-idrepo-ldapv3-config-users-search-filter": "(objectclass=inetorgperson)" } + }, + { + "_id": "OpenDJ", + "_type": { + "_id": "LDAPv3ForOpenDS", + "collection": true, + "name": "OpenDJ" + }, + "authentication": { + "sun-idrepo-ldapv3-config-auth-naming-attr": "uid" + }, + "cachecontrol": { + "sun-idrepo-ldapv3-dncache-enabled": true, + "sun-idrepo-ldapv3-dncache-size": 1500 + }, + "errorhandling": { + "com.iplanet.am.ldap.connection.delay.between.retries": 1000 + }, + "groupconfig": { + "sun-idrepo-ldapv3-config-group-attributes": [ + "cn", + "dn", + "objectclass", + "uniqueMember" + ], + "sun-idrepo-ldapv3-config-group-container-name": "ou", + "sun-idrepo-ldapv3-config-group-container-value": "groups", + "sun-idrepo-ldapv3-config-group-objectclass": [ + "groupofuniquenames", + "top" + ], + "sun-idrepo-ldapv3-config-groups-search-attribute": "cn", + "sun-idrepo-ldapv3-config-groups-search-filter": "(objectclass=groupOfUniqueNames)", + "sun-idrepo-ldapv3-config-memberurl": "memberUrl", + "sun-idrepo-ldapv3-config-uniquemember": "uniqueMember" + }, + "ldapsettings": { + "openam-idrepo-ldapv3-affinity-level": "all", + "openam-idrepo-ldapv3-behera-support-enabled": true, + "openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client": false, + "openam-idrepo-ldapv3-heartbeat-interval": 10, + "openam-idrepo-ldapv3-heartbeat-timeunit": "SECONDS", + "openam-idrepo-ldapv3-keepalive-searchfilter": "(objectclass=*)", + "openam-idrepo-ldapv3-mtls-enabled": false, + "openam-idrepo-ldapv3-proxied-auth-denied-fallback": false, + "openam-idrepo-ldapv3-proxied-auth-enabled": false, + "sun-idrepo-ldapv3-config-authid": "uid=am-identity-bind-account,ou=admins,ou=identities", + "sun-idrepo-ldapv3-config-authpw": null, + "sun-idrepo-ldapv3-config-connection-mode": "LDAPS", + "sun-idrepo-ldapv3-config-connection_pool_max_size": 10, + "sun-idrepo-ldapv3-config-connection_pool_min_size": 1, + "sun-idrepo-ldapv3-config-ldap-server": [ + "opendj-frodo-dev.classic.com:2636" + ], + "sun-idrepo-ldapv3-config-max-result": 1000, + "sun-idrepo-ldapv3-config-organization_name": "ou=identities", + "sun-idrepo-ldapv3-config-search-scope": "SCOPE_SUB", + "sun-idrepo-ldapv3-config-time-limit": 10, + "sun-idrepo-ldapv3-config-trust-all-server-certificates": false + }, + "persistentsearch": { + "sun-idrepo-ldapv3-config-psearch-filter": "(!(objectclass=frCoreToken))", + "sun-idrepo-ldapv3-config-psearch-scope": "SCOPE_SUB", + "sun-idrepo-ldapv3-config-psearchbase": "ou=identities" + }, + "pluginconfig": { + "sunIdRepoAttributeMapping": [], + "sunIdRepoClass": "org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo", + "sunIdRepoSupportedOperations": [ + "group=read,create,edit,delete", + "realm=read,create,edit,delete,service", + "user=read,create,edit,delete,service" + ] + }, + "userconfig": { + "sun-idrepo-ldapv3-config-active": "Active", + "sun-idrepo-ldapv3-config-auth-kba-attempts-attr": [ + "kbaInfoAttempts" + ], + "sun-idrepo-ldapv3-config-auth-kba-attr": [ + "kbaInfo" + ], + "sun-idrepo-ldapv3-config-auth-kba-index-attr": "kbaActiveIndex", + "sun-idrepo-ldapv3-config-createuser-attr-mapping": [ + "cn", + "sn" + ], + "sun-idrepo-ldapv3-config-inactive": "Inactive", + "sun-idrepo-ldapv3-config-isactive": "inetuserstatus", + "sun-idrepo-ldapv3-config-people-container-name": "ou", + "sun-idrepo-ldapv3-config-people-container-value": "people", + "sun-idrepo-ldapv3-config-user-attributes": [ + "adminRole", + "assignedDashboard", + "authorityRevocationList", + "boundDevices", + "caCertificate", + "cn", + "createTimestamp", + "devicePrintProfiles", + "deviceProfiles", + "distinguishedName", + "dn", + "employeeNumber", + "givenName", + "inetUserHttpURL", + "inetUserStatus", + "iplanet-am-auth-configuration", + "iplanet-am-session-destroy-sessions", + "iplanet-am-session-get-valid-sessions", + "iplanet-am-session-max-caching-time", + "iplanet-am-session-max-idle-time", + "iplanet-am-session-max-session-time", + "iplanet-am-session-quota-limit", + "iplanet-am-session-service-status", + "iplanet-am-user-account-life", + "iplanet-am-user-admin-start-dn", + "iplanet-am-user-alias-list", + "iplanet-am-user-auth-config", + "iplanet-am-user-auth-modules", + "iplanet-am-user-failure-url", + "iplanet-am-user-login-status", + "iplanet-am-user-password-reset-force-reset", + "iplanet-am-user-password-reset-options", + "iplanet-am-user-password-reset-question-answer", + "iplanet-am-user-success-url", + "kbaActiveIndex", + "kbaInfo", + "kbaInfoAttempts", + "lastEmailSent", + "mail", + "manager", + "memberOf", + "modifyTimestamp", + "oath2faEnabled", + "oathDeviceProfiles", + "objectClass", + "postalAddress", + "preferredlanguage", + "preferredLocale", + "preferredtimezone", + "push2faEnabled", + "pushDeviceProfiles", + "retryLimitNodeCount", + "sn", + "sun-fm-saml2-nameid-info", + "sun-fm-saml2-nameid-infokey", + "sunAMAuthInvalidAttemptsData", + "sunIdentityMSISDNNumber", + "telephoneNumber", + "uid", + "userCertificate", + "userPassword", + "webauthnDeviceProfiles" + ], + "sun-idrepo-ldapv3-config-user-objectclass": [ + "boundDevicesContainer", + "devicePrintProfilesContainer", + "deviceProfilesContainer", + "forgerock-am-dashboard-service", + "inetorgperson", + "inetuser", + "iplanet-am-auth-configuration-service", + "iplanet-am-managed-person", + "iplanet-am-user-service", + "iPlanetPreferences", + "kbaInfoContainer", + "oathDeviceProfilesContainer", + "organizationalperson", + "person", + "pushDeviceProfilesContainer", + "sunAMAuthAccountLockout", + "sunFMSAML2NameIdentifier", + "top", + "webauthnDeviceProfilesContainer" + ], + "sun-idrepo-ldapv3-config-users-search-attribute": "uid", + "sun-idrepo-ldapv3-config-users-search-filter": "(objectclass=inetorgperson)" + } } ], "sunIdRepoAttributeCombiner": "com.iplanet.am.sdk.AttributeCombiner", diff --git a/test/e2e/exports/all-separate/classic/realm/root-first-second/service/oauth-oidc.service.json b/test/e2e/exports/all-separate/classic/realm/root-first-second/service/oauth-oidc.service.json index c61bd3de9..2af2ada96 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first-second/service/oauth-oidc.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first-second/service/oauth-oidc.service.json @@ -31,6 +31,7 @@ "urn:ietf:params:oauth:grant-type:jwt-bearer" ], "hashSalt": "changeme", + "includeClientIdClaimInStatelessTokens": true, "includeSubnameInTokenClaims": true, "macaroonTokenFormat": "V2", "maxAgeOfRequestObjectNbfClaim": 0, @@ -55,7 +56,7 @@ ], "tlsCertificateBoundAccessTokensEnabled": true, "tlsCertificateRevocationCheckingEnabled": false, - "tlsClientCertificateHeaderFormat": "URLENCODED_PEM", + "tlsClientCertificateHeaderFormat": "BASE64_ENCODED_CERT", "tokenCompressionEnabled": false, "tokenEncryptionEnabled": false, "tokenExchangeClasses": [ @@ -242,6 +243,7 @@ "clientDynamicRegistrationConfig": { "allowDynamicRegistration": false, "dynamicClientRegistrationScope": "dynamic_client_registration", + "dynamicClientRegistrationScript": "[Empty]", "dynamicClientRegistrationSoftwareStatementRequired": false, "generateRegistrationAccessTokens": true, "requiredSoftwareStatementAttestedAttributes": [ diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/authenticationModules/amster.authenticationModules.json b/test/e2e/exports/all-separate/classic/realm/root-first/authenticationModules/amster.authenticationModules.json index 59cc7c40f..30bd7b614 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/authenticationModules/amster.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/authenticationModules/amster.authenticationModules.json @@ -8,7 +8,7 @@ "name": "ForgeRock Amster" }, "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true } } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/authenticationModules/ldap.authenticationModules.json b/test/e2e/exports/all-separate/classic/realm/root-first/authenticationModules/ldap.authenticationModules.json index 5a3a90c46..d10476a61 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/authenticationModules/ldap.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/authenticationModules/ldap.authenticationModules.json @@ -15,7 +15,7 @@ "openam-auth-ldap-connection-mode": "LDAPS", "operationTimeout": 0, "primaryLdapServer": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "profileAttributeMappings": [], "returnUserDN": true, @@ -23,14 +23,14 @@ "secondaryLdapServer": [], "stopLdapbindAfterInmemoryLockedEnabled": false, "trustAllServerCertificates": false, - "userBindDN": "cn=Directory Manager", + "userBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities", "userBindPassword": null, "userProfileRetrievalAttribute": "uid", "userSearchAttributes": [ "uid" ], "userSearchStartDN": [ - "dc=openam,dc=forgerock,dc=org" + "ou=identities" ] } } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/conditionTypes/IdmUser.conditionTypes.json b/test/e2e/exports/all-separate/classic/realm/root-first/conditionTypes/IdmUser.conditionTypes.json new file mode 100644 index 000000000..a340c64d1 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/conditionTypes/IdmUser.conditionTypes.json @@ -0,0 +1,36 @@ +{ + "conditionTypes": { + "IdmUser": { + "_id": "IdmUser", + "config": { + "properties": { + "comparator": { + "enum": [ + "EQUALS", + "CONTAINS", + "STARTS_WITH", + "ENDS_WITH", + "REGEX" + ], + "type": "string" + }, + "decisionField": { + "type": "string" + }, + "identityResource": { + "type": "string" + }, + "queryField": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "logical": false, + "title": "IdmUser" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/conditionTypes/Transaction.conditionTypes.json b/test/e2e/exports/all-separate/classic/realm/root-first/conditionTypes/Transaction.conditionTypes.json index 37d6f4844..4a269b680 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/conditionTypes/Transaction.conditionTypes.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/conditionTypes/Transaction.conditionTypes.json @@ -5,6 +5,13 @@ "config": { "properties": { "authenticationStrategy": { + "enum": [ + "AuthenticateToServiceConditionAdvice", + "AuthenticateToRealmConditionAdvice", + "AuthenticateToTreeConditionAdvice", + "AuthSchemeConditionAdvice", + "AuthLevelConditionAdvice" + ], "type": "string" }, "strategySpecifier": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/Agent.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Agent.journey.json index 3e13ebd5a..9ebb27278 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/Agent.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Agent.journey.json @@ -57,6 +57,8 @@ "entryNodeId": "e4da3b7f-bbce-3345-9777-2b0674a318d5", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "a87ff679-a2f3-371d-9181-a67b7542122c": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/Example.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Example.journey.json index 2cc773d81..1f56b9afe 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/Example.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Example.journey.json @@ -85,6 +85,8 @@ "entryNodeId": "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "c4ca4238-a0b9-3382-8dcc-509a6f75849b": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/Facebook-ProvisionIDMAccount.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Facebook-ProvisionIDMAccount.journey.json index 22a087eeb..6204744e6 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/Facebook-ProvisionIDMAccount.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Facebook-ProvisionIDMAccount.journey.json @@ -42,7 +42,7 @@ }, "cfgMixUpMitigation": false, "clientId": "aClientId", - "clientSecret": null, + "issuer": "", "provider": "facebook", "redirectURI": "http://localhost:8080/am", "saveUserAttributesToSession": true, @@ -77,6 +77,8 @@ "entryNodeId": "37693cfc-7480-39e4-9d87-b8c7d8b9aacd", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "37693cfc-7480-39e4-9d87-b8c7d8b9aacd": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/Google-AnonymousUser.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Google-AnonymousUser.journey.json index 9653fc1da..1865b7f16 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/Google-AnonymousUser.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Google-AnonymousUser.journey.json @@ -57,7 +57,7 @@ }, "cfgMixUpMitigation": false, "clientId": "aClientId", - "clientSecret": null, + "issuer": "", "provider": "google", "redirectURI": "http://localhost:8080/am", "saveUserAttributesToSession": true, @@ -92,6 +92,8 @@ "entryNodeId": "4e732ced-3463-306d-a0ca-9a15b6153677", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "1ff1de77-4005-38da-93f4-2943881c655f": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/Google-DynamicAccountCreation.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Google-DynamicAccountCreation.journey.json index 83d8c3e9c..3a253dcf4 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/Google-DynamicAccountCreation.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Google-DynamicAccountCreation.journey.json @@ -72,7 +72,7 @@ }, "cfgMixUpMitigation": false, "clientId": "aClientId", - "clientSecret": null, + "issuer": "", "provider": "google", "redirectURI": "http://localhost:8080/am", "saveUserAttributesToSession": true, @@ -103,7 +103,6 @@ "fromEmailAddress": "admin@example.com", "hostName": "mail.example.com", "hostPort": 25, - "password": null, "smsGatewayImplementationClass": "com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl", "sslOption": "SSL", "username": "admin@example.com" @@ -174,6 +173,8 @@ "entryNodeId": "33e75ff0-9dd6-31bb-a69f-351039152189", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/HmacOneTimePassword.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/HmacOneTimePassword.journey.json index a7fcdf8b3..ada18e5c6 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/HmacOneTimePassword.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/HmacOneTimePassword.journey.json @@ -94,7 +94,6 @@ "fromEmailAddress": "admin@example.com", "hostName": "mail.example.com", "hostPort": 25, - "password": null, "smsGatewayImplementationClass": "com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl", "sslOption": "SSL", "username": "admin@example.com" @@ -125,6 +124,8 @@ "entryNodeId": "c74d97b0-1eae-357e-84aa-9d5bade97baf", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "1f0e3dad-9990-3345-b743-9f8ffabdffc4": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/Login.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Login.journey.json new file mode 100644 index 000000000..f6201c962 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/Login.journey.json @@ -0,0 +1,310 @@ +{ + "trees": { + "Login": { + "circlesOfTrust": {}, + "emailTemplates": {}, + "innerNodes": { + "4bacba23-414f-43d5-afbd-abe3b0481521": { + "_id": "4bacba23-414f-43d5-afbd-abe3b0481521", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "ValidatedUsernameNode", + "collection": true, + "name": "Platform Username" + }, + "usernameAttribute": "userName", + "validateInput": false + }, + "5fce2333-58f9-4635-a051-836e75f7f9bb": { + "_id": "5fce2333-58f9-4635-a051-836e75f7f9bb", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "ValidatedPasswordNode", + "collection": true, + "name": "Platform Password" + }, + "passwordAttribute": "password", + "validateInput": false + } + }, + "nodes": { + "470c9fc0-3484-4dea-8642-033e7d35c36a": { + "_id": "470c9fc0-3484-4dea-8642-033e7d35c36a", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "AccountLockoutNode", + "collection": true, + "name": "Account Lockout" + }, + "lockAction": "LOCK" + }, + "6889de95-837a-4648-9fa2-bab8082a205a": { + "_id": "6889de95-837a-4648-9fa2-bab8082a205a", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "ValidatedUsernameNode", + "collection": true, + "name": "Platform Username" + }, + "usernameAttribute": "userName", + "validateInput": false + }, + "70f38c95-78a5-49de-bf00-526c26b49067": { + "_id": "70f38c95-78a5-49de-bf00-526c26b49067", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "IncrementLoginCountNode", + "collection": true, + "name": "Increment Login Count" + }, + "identityAttribute": "userName" + }, + "7efaaec8-0a06-42b4-9de9-d438742b13b3": { + "_id": "7efaaec8-0a06-42b4-9de9-d438742b13b3", + "_outcomes": [ + { + "displayName": "Retry", + "id": "Retry" + }, + { + "displayName": "Reject", + "id": "Reject" + } + ], + "_type": { + "_id": "RetryLimitDecisionNode", + "collection": true, + "name": "Retry Limit Decision" + }, + "incrementUserAttributeOnFailure": true, + "retryLimit": 5 + }, + "9d9384ef-b068-4bca-a25b-18eeb096d1f0": { + "_id": "9d9384ef-b068-4bca-a25b-18eeb096d1f0", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "PageNode", + "collection": true, + "name": "Page Node" + }, + "nodes": [ + { + "_id": "4bacba23-414f-43d5-afbd-abe3b0481521", + "displayName": "Platform Username", + "nodeType": "ValidatedUsernameNode" + }, + { + "_id": "5fce2333-58f9-4635-a051-836e75f7f9bb", + "displayName": "Platform Password", + "nodeType": "ValidatedPasswordNode" + } + ], + "pageDescription": {}, + "pageHeader": {} + }, + "dc983965-b76f-4033-a21b-922fc56d57ff": { + "_id": "dc983965-b76f-4033-a21b-922fc56d57ff", + "_outcomes": [ + { + "displayName": "True", + "id": "true" + }, + { + "displayName": "False", + "id": "false" + } + ], + "_type": { + "_id": "DataStoreDecisionNode", + "collection": true, + "name": "Data Store Decision" + } + }, + "e9bce8c7-e9b1-45fc-b0d2-4813e367d39a": { + "_id": "e9bce8c7-e9b1-45fc-b0d2-4813e367d39a", + "_outcomes": [ + { + "displayName": "True", + "id": "TRUE" + }, + { + "displayName": "False", + "id": "FALSE" + }, + { + "displayName": "Locked", + "id": "LOCKED" + }, + { + "displayName": "Cancelled", + "id": "CANCELLED" + }, + { + "displayName": "Expired", + "id": "EXPIRED" + } + ], + "_type": { + "_id": "LdapDecisionNode", + "collection": true, + "name": "LDAP Decision" + }, + "accountSearchBaseDn": [ + "ou=people,ou=identities" + ], + "adminDn": "uid=admin", + "adminPassword": null, + "affinityLevel": "NONE", + "beheraEnabled": true, + "heartbeatInterval": 10, + "heartbeatTimeUnit": "SECONDS", + "ldapConnectionMode": "LDAP", + "ldapOperationsTimeout": 0, + "minimumPasswordLength": 8, + "mixedCaseForPasswordChangeMessages": false, + "mtlsEnabled": false, + "primaryServers": [ + "opendj-frodo-dev.classic.com:2636" + ], + "returnUserDn": true, + "searchFilterAttributes": [ + "uid" + ], + "searchScope": "SUBTREE", + "secondaryServers": [], + "trustAllServerCertificates": false, + "userCreationAttrs": [], + "userProfileAttribute": "uid" + } + }, + "saml2Entities": {}, + "scripts": {}, + "socialIdentityProviders": {}, + "themes": [], + "tree": { + "_id": "Login", + "enabled": true, + "entryNodeId": "6889de95-837a-4648-9fa2-bab8082a205a", + "innerTreeOnly": false, + "mustRun": false, + "noSession": false, + "nodes": { + "470c9fc0-3484-4dea-8642-033e7d35c36a": { + "connections": { + "outcome": "e301438c-0bd0-429c-ab0c-66126501069a" + }, + "displayName": "Account Lockout", + "nodeType": "AccountLockoutNode", + "x": 618, + "y": 239 + }, + "6889de95-837a-4648-9fa2-bab8082a205a": { + "connections": { + "outcome": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Platform Username", + "nodeType": "ValidatedUsernameNode", + "x": 643, + "y": 524.1000061035156 + }, + "70f38c95-78a5-49de-bf00-526c26b49067": { + "connections": { + "outcome": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Increment Login Count", + "nodeType": "IncrementLoginCountNode", + "x": 498, + "y": 34 + }, + "7efaaec8-0a06-42b4-9de9-d438742b13b3": { + "connections": { + "Reject": "470c9fc0-3484-4dea-8642-033e7d35c36a", + "Retry": "9d9384ef-b068-4bca-a25b-18eeb096d1f0" + }, + "displayName": "Retry Limit Decision", + "nodeType": "RetryLimitDecisionNode", + "x": 506, + "y": 89 + }, + "9d9384ef-b068-4bca-a25b-18eeb096d1f0": { + "connections": { + "outcome": "dc983965-b76f-4033-a21b-922fc56d57ff" + }, + "displayName": "Page Node", + "nodeType": "PageNode", + "x": 140, + "y": 32 + }, + "dc983965-b76f-4033-a21b-922fc56d57ff": { + "connections": { + "false": "7efaaec8-0a06-42b4-9de9-d438742b13b3", + "true": "70f38c95-78a5-49de-bf00-526c26b49067" + }, + "displayName": "Data Store Decision", + "nodeType": "DataStoreDecisionNode", + "x": 317, + "y": 31 + }, + "e9bce8c7-e9b1-45fc-b0d2-4813e367d39a": { + "connections": { + "CANCELLED": "e301438c-0bd0-429c-ab0c-66126501069a", + "EXPIRED": "e301438c-0bd0-429c-ab0c-66126501069a", + "FALSE": "7efaaec8-0a06-42b4-9de9-d438742b13b3", + "LOCKED": "e301438c-0bd0-429c-ab0c-66126501069a", + "TRUE": "70f38c95-78a5-49de-bf00-526c26b49067" + }, + "displayName": "LDAP Decision", + "nodeType": "LdapDecisionNode", + "x": 321, + "y": 453 + } + }, + "staticNodes": { + "70e691a5-1e33-4ac3-a356-e7b6d60d92e0": { + "x": 704, + "y": 55 + }, + "e301438c-0bd0-429c-ab0c-66126501069a": { + "x": 811, + "y": 183 + }, + "startNode": { + "x": 50, + "y": 25 + } + }, + "uiConfig": {} + } + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PersistentCookie.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PersistentCookie.journey.json index 3cb226bc9..c1cc2a56f 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PersistentCookie.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PersistentCookie.journey.json @@ -32,7 +32,6 @@ "collection": true, "name": "Set Persistent Cookie" }, - "hmacSigningKey": null, "idleTimeout": 5, "maxLife": 5, "persistentCookieName": "session-jwt", @@ -57,7 +56,6 @@ "name": "Persistent Cookie Decision" }, "enforceClientIp": false, - "hmacSigningKey": null, "idleTimeout": 5, "persistentCookieName": "session-jwt", "useHttpOnlyCookie": true, @@ -107,6 +105,8 @@ "entryNodeId": "aab32389-22bc-325a-af60-6eb525ffdc56", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "6512bd43-d9ca-36e0-ac99-0b0a82652dca": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformForgottenUsername.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformForgottenUsername.journey.json index 6a2786329..be774533f 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformForgottenUsername.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformForgottenUsername.journey.json @@ -43,6 +43,7 @@ "collection": true, "name": "Inner Tree Evaluator" }, + "displayErrorOutcome": false, "tree": "PlatformLogin" }, "9f61408e-3afb-333e-90cd-f1b20de6f466": { @@ -111,6 +112,7 @@ "collection": true, "name": "Identify Existing User" }, + "identifier": "userName", "identityAttribute": "mail" } }, @@ -125,6 +127,8 @@ "entryNodeId": "a684ecee-e76f-3522-b732-86a895bc8436", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "72b32a1f-754b-31c0-9b36-95e0cb6cde7f": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformLogin.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformLogin.journey.json index 671d3ccdc..37d826b45 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformLogin.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformLogin.journey.json @@ -70,6 +70,7 @@ "collection": true, "name": "Inner Tree Evaluator" }, + "displayErrorOutcome": false, "tree": "PlatformProgressiveProfile" }, "c0c7c76d-30bd-3dca-afc9-6f40275bdc0a": { @@ -135,6 +136,8 @@ "entryNodeId": "f457c545-a9de-388f-98ec-ee47145a72c0", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "2838023a-778d-3aec-9c21-2708f721b788": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformProgressiveProfile.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformProgressiveProfile.journey.json index feb05fcd6..c76db5a8d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformProgressiveProfile.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformProgressiveProfile.journey.json @@ -128,6 +128,8 @@ "entryNodeId": "a1d0c6e8-3f02-3327-9846-1063f4ac58a6", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "17e62166-fc85-36df-a4d1-bc0e1742c08b": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformRegistration.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformRegistration.journey.json index 870a0b012..43cea01cf 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformRegistration.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformRegistration.journey.json @@ -188,6 +188,8 @@ "entryNodeId": "d67d8ab4-f4c1-3bf2-aaa3-53e27879133c", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "3416a75f-4cea-3109-907c-acd8e2f2aefc": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformResetPassword.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformResetPassword.journey.json index dfa5b2ace..b1cc6abc9 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformResetPassword.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformResetPassword.journey.json @@ -173,6 +173,8 @@ "entryNodeId": "093f65e0-80a2-35f8-876b-1c5722a46aa2", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "03afdbd6-6e79-39b1-a5f8-597834fa83a4": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformUpdatePassword.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformUpdatePassword.journey.json index 512542fcf..93b2011e0 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformUpdatePassword.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/PlatformUpdatePassword.journey.json @@ -205,6 +205,8 @@ "entryNodeId": "fc490ca4-5c00-3124-9bbe-3554a4fdf6fb", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "14bfa6bb-1487-3e45-bba0-28a21ed38046": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/RetryLimit.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/RetryLimit.journey.json index f3b7b59ff..e6cd423d1 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/journey/RetryLimit.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/RetryLimit.journey.json @@ -98,6 +98,8 @@ "entryNodeId": "1679091c-5a88-3faf-afb5-e6087eb1b2dc", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "1679091c-5a88-3faf-afb5-e6087eb1b2dc": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/amsterService.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/amsterService.journey.json new file mode 100644 index 000000000..c006ba50c --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/amsterService.journey.json @@ -0,0 +1,57 @@ +{ + "trees": { + "amsterService": { + "circlesOfTrust": {}, + "emailTemplates": {}, + "innerNodes": {}, + "nodes": { + "cfcd2084-95d5-35ef-a6e7-d7f9f98764db": { + "_id": "cfcd2084-95d5-35ef-a6e7-d7f9f98764db", + "_outcomes": [ + { + "displayName": "True", + "id": "true" + }, + { + "displayName": "False", + "id": "false" + } + ], + "_type": { + "_id": "AmsterJwtDecisionNode", + "collection": true, + "name": "Amster Jwt Decision Node" + }, + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys" + } + }, + "saml2Entities": {}, + "scripts": {}, + "socialIdentityProviders": {}, + "themes": [], + "tree": { + "_id": "amsterService", + "description": "null", + "enabled": true, + "entryNodeId": "cfcd2084-95d5-35ef-a6e7-d7f9f98764db", + "identityResource": "null", + "innerTreeOnly": false, + "mustRun": false, + "noSession": false, + "nodes": { + "cfcd2084-95d5-35ef-a6e7-d7f9f98764db": { + "connections": { + "false": "e301438c-0bd0-429c-ab0c-66126501069a", + "true": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Amster Jwt Decision Node", + "nodeType": "AmsterJwtDecisionNode", + "x": 0, + "y": 0 + } + }, + "uiConfig": {} + } + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/journey/ldapService.journey.json b/test/e2e/exports/all-separate/classic/realm/root-first/journey/ldapService.journey.json new file mode 100644 index 000000000..082d32341 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/journey/ldapService.journey.json @@ -0,0 +1,159 @@ +{ + "trees": { + "ldapService": { + "circlesOfTrust": {}, + "emailTemplates": {}, + "innerNodes": { + "c4ca4238-a0b9-3382-8dcc-509a6f75849c": { + "_id": "c4ca4238-a0b9-3382-8dcc-509a6f75849c", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "PasswordCollectorNode", + "collection": true, + "name": "Password Collector" + } + }, + "cfcd2084-95d5-35ef-a6e7-dff9f98764db": { + "_id": "cfcd2084-95d5-35ef-a6e7-dff9f98764db", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "UsernameCollectorNode", + "collection": true, + "name": "Username Collector" + } + } + }, + "nodes": { + "6c8349cc-7260-3e62-a3b1-396831a8398a": { + "_id": "6c8349cc-7260-3e62-a3b1-396831a8398a", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "PageNode", + "collection": true, + "name": "Page Node" + }, + "nodes": [ + { + "_id": "cfcd2084-95d5-35ef-a6e7-dff9f98764db", + "displayName": "User Name Collector", + "nodeType": "UsernameCollectorNode" + }, + { + "_id": "c4ca4238-a0b9-3382-8dcc-509a6f75849c", + "displayName": "Password Collector", + "nodeType": "PasswordCollectorNode" + } + ], + "pageDescription": { + "en": "" + }, + "pageHeader": { + "en": "Sign In" + }, + "stage": "null" + }, + "c81e728d-9d4c-3f63-af06-7f89cc14862d": { + "_id": "c81e728d-9d4c-3f63-af06-7f89cc14862d", + "_outcomes": [ + { + "displayName": "True", + "id": "true" + }, + { + "displayName": "False", + "id": "false" + } + ], + "_type": { + "_id": "DataStoreDecisionNode", + "collection": true, + "name": "Data Store Decision" + } + }, + "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5": { + "_id": "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5", + "_outcomes": [ + { + "displayName": "Has Credentials", + "id": "true" + }, + { + "displayName": "No Credentials", + "id": "false" + } + ], + "_type": { + "_id": "ZeroPageLoginNode", + "collection": true, + "name": "Zero Page Login Collector" + }, + "allowWithoutReferer": true, + "passwordHeader": "X-OpenAM-Password", + "referrerWhiteList": [], + "usernameHeader": "X-OpenAM-Username" + } + }, + "saml2Entities": {}, + "scripts": {}, + "socialIdentityProviders": {}, + "themes": [], + "tree": { + "_id": "ldapService", + "description": "null", + "enabled": true, + "entryNodeId": "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5", + "identityResource": "null", + "innerTreeOnly": false, + "mustRun": false, + "noSession": false, + "nodes": { + "6c8349cc-7260-3e62-a3b1-396831a8398a": { + "connections": { + "outcome": "c81e728d-9d4c-3f63-af06-7f89cc14862d" + }, + "displayName": "Page Node", + "nodeType": "PageNode", + "x": 0, + "y": 0 + }, + "c81e728d-9d4c-3f63-af06-7f89cc14862d": { + "connections": { + "false": "e301438c-0bd0-429c-ab0c-66126501069a", + "true": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Data Store Decision", + "nodeType": "DataStoreDecisionNode", + "x": 0, + "y": 0 + }, + "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5": { + "connections": { + "false": "6c8349cc-7260-3e62-a3b1-396831a8398a", + "true": "c81e728d-9d4c-3f63-af06-7f89cc14862d" + }, + "displayName": "Zero Page Login Collector", + "nodeType": "ZeroPageLoginNode", + "x": 0, + "y": 0 + } + }, + "uiConfig": {} + } + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/policyset/oauth2Scopes.policyset.json b/test/e2e/exports/all-separate/classic/realm/root-first/policyset/oauth2Scopes.policyset.json index 5d18f092b..bf434822d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/policyset/oauth2Scopes.policyset.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/policyset/oauth2Scopes.policyset.json @@ -30,8 +30,8 @@ "displayName": "Default OAuth2 Scopes Policy Set", "editable": true, "entitlementCombiner": "DenyOverride", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509788713, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533575137, "name": "oauth2Scopes", "resourceComparator": null, "resourceTypeUuids": [ diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/resourcetype/OAuth2-Scope.resourcetype.json b/test/e2e/exports/all-separate/classic/realm/root-first/resourcetype/OAuth2-Scope.resourcetype.json index 6266b577f..6278de44d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/resourcetype/OAuth2-Scope.resourcetype.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/resourcetype/OAuth2-Scope.resourcetype.json @@ -7,8 +7,8 @@ "createdBy": "id=dsameuser,ou=user,ou=am-config", "creationDate": 1595479030586, "description": "The built-in OAuth2 Scope Resource Type for OAuth2policy-provided scope.", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509788670, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533575122, "name": "OAuth2 Scope", "patterns": [ "*://*:*/*", diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/resourcetype/URL.resourcetype.json b/test/e2e/exports/all-separate/classic/realm/root-first/resourcetype/URL.resourcetype.json index e94d857aa..6fd82ecb9 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/resourcetype/URL.resourcetype.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/resourcetype/URL.resourcetype.json @@ -13,8 +13,8 @@ "createdBy": "id=dsameuser,ou=user,ou=am-config", "creationDate": 1595479030487, "description": "The built-in URL Resource Type available to OpenAM Policies.", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509788692, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533575114, "name": "URL", "patterns": [ "*://*:*/*", diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Amazon-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Amazon-Profile-Normalization.script.json index cd850b54c..c1cd8a3d9 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Amazon-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Amazon-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30": { "_id": "6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Amazon", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937017, "name": "Amazon Profile Normalization", "script": "file://Amazon-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Apple-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Apple-Profile-Normalization.script.json index 75d8730d4..33b43e787 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Apple-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Apple-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "484e6246-dbc6-4288-97e6-54e55431402e": { "_id": "484e6246-dbc6-4288-97e6-54e55431402e", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Apple", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936947, "name": "Apple Profile Normalization", "script": "file://Apple-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Authentication-Tree-Decision-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Authentication-Tree-Decision-Node-Script.script.json index bac191479..17167e5a4 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Authentication-Tree-Decision-Node-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Authentication-Tree-Decision-Node-Script.script.json @@ -3,14 +3,14 @@ "01e1a3c0-038b-4c16-956a-6c9d89328cff": { "_id": "01e1a3c0-038b-4c16-956a-6c9d89328cff", "context": "AUTHENTICATION_TREE_DECISION_NODE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for a scripted decision node", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936730, "name": "Authentication Tree Decision Node Script", "script": "file://Authentication-Tree-Decision-Node-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Config-Provider-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Config-Provider-Node-Script.script.json index 5448e5b0d..28060d01c 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Config-Provider-Node-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Config-Provider-Node-Script.script.json @@ -3,14 +3,14 @@ "5e854779-6ec1-4c39-aeba-0477e0986646": { "_id": "5e854779-6ec1-4c39-aeba-0477e0986646", "context": "CONFIG_PROVIDER_NODE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Script to provide values for a config provider node", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936992, "name": "Config Provider Node Script", "script": "file://Config-Provider-Node-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Id-(Match)-Client-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Id-(Match)-Client-Side.script.json index d532e222d..009b1b643 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Id-(Match)-Client-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Id-(Match)-Client-Side.script.json @@ -3,14 +3,14 @@ "157298c0-7d31-4059-a95b-eeb08473b7e5": { "_id": "157298c0-7d31-4059-a95b-eeb08473b7e5", "context": "AUTHENTICATION_CLIENT_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for client side Device Id (Match) Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936771, "name": "Device Id (Match) - Client Side", "script": "file://Device-Id-(Match)-Client-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Id-(Match)-Server-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Id-(Match)-Server-Side.script.json index 3485db70b..6e7444efd 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Id-(Match)-Server-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Id-(Match)-Server-Side.script.json @@ -3,14 +3,14 @@ "703dab1a-1921-4981-98dd-b8e5349d8548": { "_id": "703dab1a-1921-4981-98dd-b8e5349d8548", "context": "AUTHENTICATION_SERVER_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for server side Device Id (Match) Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937041, "name": "Device Id (Match) - Server Side", "script": "file://Device-Id-(Match)-Server-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Profile-Match-Template-Decision-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Profile-Match-Template-Decision-Node-Script.script.json index 865226ed8..b2a132012 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Profile-Match-Template-Decision-Node-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Device-Profile-Match-Template-Decision-Node-Script.script.json @@ -3,14 +3,14 @@ "13e3f263-9cd3-4844-8d1c-040fd0dd02eb": { "_id": "13e3f263-9cd3-4844-8d1c-040fd0dd02eb", "context": "AUTHENTICATION_TREE_DECISION_NODE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script template for Device Profile Match decision node script for Authentication Tree", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936757, "name": "Device Profile Match Template - Decision Node Script", "script": "file://Device-Profile-Match-Template-Decision-Node-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Element-NameID-Mapper.script.js b/test/e2e/exports/all-separate/classic/realm/root-first/script/Element-NameID-Mapper.script.js new file mode 100644 index 000000000..40fa420ec --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Element-NameID-Mapper.script.js @@ -0,0 +1 @@ +identity.getAttributeValues("uid")[0]; diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Element-NameID-Mapper.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Element-NameID-Mapper.script.json new file mode 100644 index 000000000..58bc68ce9 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Element-NameID-Mapper.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "046d1344-8ef1-4e67-8d2a-28fd9266f44e": { + "_id": "046d1344-8ef1-4e67-8d2a-28fd9266f44e", + "context": "SAML2_NAMEID_MAPPER", + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": 1748630811197, + "default": false, + "description": null, + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1748630957225, + "name": "Element NameID Mapper", + "script": "file://Element-NameID-Mapper.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Facebook-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Facebook-Profile-Normalization.script.json index 9e64ea37c..624c778f5 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Facebook-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Facebook-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "bae1d54a-e97d-4997-aa5d-c027f21af82c": { "_id": "bae1d54a-e97d-4997-aa5d-c027f21af82c", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Facebook", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937150, "name": "Facebook Profile Normalization", "script": "file://Facebook-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/GitHub-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/GitHub-Profile-Normalization.script.json index c42d44733..092b92abe 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/GitHub-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/GitHub-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "a7a78773-445b-4eca-bb93-409e86bced81": { "_id": "a7a78773-445b-4eca-bb93-409e86bced81", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from GitHub", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937134, "name": "GitHub Profile Normalization", "script": "file://GitHub-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Google-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Google-Profile-Normalization.script.json index 9b6990cb6..344f54bf0 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Google-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Google-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "58d29080-4563-480b-89bb-1e7719776a21": { "_id": "58d29080-4563-480b-89bb-1e7719776a21", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Google", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936980, "name": "Google Profile Normalization", "script": "file://Google-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Instagram-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Instagram-Profile-Normalization.script.json index 79b1a10c0..892b6c3b0 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Instagram-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Instagram-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "1244e639-4a31-401d-ab61-d75133d8dc9e": { "_id": "1244e639-4a31-401d-ab61-d75133d8dc9e", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Instagram", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936742, "name": "Instagram Profile Normalization", "script": "file://Instagram-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Itsme-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Itsme-Profile-Normalization.script.json index 987af65c2..9ee578076 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Itsme-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Itsme-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "3d97c436-42c0-4dd0-a571-ea6f34f752b3": { "_id": "3d97c436-42c0-4dd0-a571-ea6f34f752b3", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Itsme", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936854, "name": "Itsme Profile Normalization", "script": "file://Itsme-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/LINE-Profile-Normalization.script.groovy b/test/e2e/exports/all-separate/classic/realm/root-first/script/LINE-Profile-Normalization.script.groovy new file mode 100644 index 000000000..145d8d7a1 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/LINE-Profile-Normalization.script.groovy @@ -0,0 +1,44 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ + + +import static org.forgerock.json.JsonValue.field +import static org.forgerock.json.JsonValue.fieldIfNotNull +import static org.forgerock.json.JsonValue.json +import static org.forgerock.json.JsonValue.object + +// LINE does not return the email from the userInfo endpoint but should return it from the token endpoint and therefore +// it should be set in the shared state +var email = null +var username = null +var firstName = null +var lastName = null + +if (sharedState.get("claims_set") != null && sharedState.get("claims_set").email != null) { + email = sharedState.get("claims_set").email + username = email +} else { + // Ensure that your LINE provider is configured to provide users' email addresses + throw new Exception("Email is required") +} + +if (rawProfile.isDefined("name") && rawProfile.name.isNotNull()) { + var splitName = rawProfile.name.asString().split(" ") + firstName = splitName[0] + lastName = splitName[-1] +} + +return json(object( + field("id", rawProfile.sub), + field("displayName", rawProfile.name), + field("photoUrl", rawProfile.picture), + field("email", email), + fieldIfNotNull("givenName", firstName), + fieldIfNotNull("familyName", lastName), + field("username", username))) diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/LINE-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/LINE-Profile-Normalization.script.json new file mode 100644 index 000000000..a0d5e698a --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/LINE-Profile-Normalization.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "60609c1a-4cef-4729-a417-354aafdebf3f": { + "_id": "60609c1a-4cef-4729-a417-354aafdebf3f", + "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Normalizes raw profile data from LINE", + "evaluatorVersion": "1.0", + "language": "GROOVY", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "LINE Profile Normalization", + "script": "file://LINE-Profile-Normalization.script.groovy" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Library-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Library-Script.script.json index 0e203020c..0f43112fb 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Library-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Library-Script.script.json @@ -3,8 +3,8 @@ "6c49bebe-3a62-11ed-a261-0242ac120002": { "_id": "6c49bebe-3a62-11ed-a261-0242ac120002", "context": "LIBRARY", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global library script to be referenced from other scripts", "evaluatorVersion": "2.0", @@ -31,8 +31,8 @@ } ], "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937027, "name": "Library Script", "script": "file://Library-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization-imported-(1).script.groovy b/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization-imported-(1).script.groovy new file mode 100644 index 000000000..0942c43a5 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization-imported-(1).script.groovy @@ -0,0 +1,19 @@ +/* + * Copyright 2020 ForgeRock AS. All Rights Reserved + * + * Use of this code requires a commercial software license with ForgeRock AS. + * or with one of its affiliates. All use shall be exclusively subject + * to such license between the licensee and ForgeRock AS. + */ + +import static org.forgerock.json.JsonValue.field +import static org.forgerock.json.JsonValue.json +import static org.forgerock.json.JsonValue.object + +return json(object( + field("id", rawProfile.id), + field("givenName", rawProfile.firstName.localized.get(0)), + field("familyName", rawProfile.lastName.localized.get(0)), + field("photoUrl", rawProfile.profilePicture.displayImage), + field("email", rawProfile.elements.get(0).get("handle~").emailAddress), + field("username", rawProfile.elements.get(0).get("handle~").emailAddress))) diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization-imported-(1).script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization-imported-(1).script.json new file mode 100644 index 000000000..4b5382858 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization-imported-(1).script.json @@ -0,0 +1,18 @@ +{ + "script": { + "8862ca8f-7770-4af5-a888-ac0df0947f36": { + "_id": "8862ca8f-7770-4af5-a888-ac0df0947f36", + "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Normalizes raw profile data from LinkedIn", + "evaluatorVersion": "1.0", + "language": "GROOVY", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937090, + "name": "LinkedIn Profile Normalization - imported (1)", + "script": "file://LinkedIn-Profile-Normalization-imported-(1).script.groovy" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization.script.groovy b/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization.script.groovy index 0942c43a5..e481a4eac 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization.script.groovy +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization.script.groovy @@ -1,19 +1,23 @@ /* - * Copyright 2020 ForgeRock AS. All Rights Reserved + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved * - * Use of this code requires a commercial software license with ForgeRock AS. - * or with one of its affiliates. All use shall be exclusively subject - * to such license between the licensee and ForgeRock AS. + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. */ + import static org.forgerock.json.JsonValue.field import static org.forgerock.json.JsonValue.json import static org.forgerock.json.JsonValue.object return json(object( - field("id", rawProfile.id), - field("givenName", rawProfile.firstName.localized.get(0)), - field("familyName", rawProfile.lastName.localized.get(0)), - field("photoUrl", rawProfile.profilePicture.displayImage), - field("email", rawProfile.elements.get(0).get("handle~").emailAddress), - field("username", rawProfile.elements.get(0).get("handle~").emailAddress))) + field("id", rawProfile.sub), + field("displayName", rawProfile.name), + field("givenName", rawProfile.given_name), + field("familyName", rawProfile.family_name), + field("photoUrl", rawProfile.picture), + field("email", rawProfile.email), + field("emailVerified", rawProfile.email_verified), + field("username", rawProfile.email))) diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization.script.json index fd7733b94..4b4775605 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/LinkedIn-Profile-Normalization.script.json @@ -1,16 +1,16 @@ { "script": { - "8862ca8f-7770-4af5-a888-ac0df0947f36": { - "_id": "8862ca8f-7770-4af5-a888-ac0df0947f36", + "b4f3facb-c754-4e7f-b1c0-f4d46f592126": { + "_id": "b4f3facb-c754-4e7f-b1c0-f4d46f592126", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from LinkedIn", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, "name": "LinkedIn Profile Normalization", "script": "file://LinkedIn-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Microsoft-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Microsoft-Profile-Normalization.script.json index 2c271160f..3cdd39dec 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Microsoft-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Microsoft-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "73cecbfc-dad0-4395-be6a-6858ee3a80e5": { "_id": "73cecbfc-dad0-4395-be6a-6858ee3a80e5", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Microsoft", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937058, "name": "Microsoft Profile Normalization", "script": "file://Microsoft-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Device-Match-Node-Script.script.js b/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Device-Match-Node-Script.script.js new file mode 100644 index 000000000..bc57aca00 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Device-Match-Node-Script.script.js @@ -0,0 +1,14 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ +/* + - Data made available by nodes that have already executed is available in the nodeState variable. + - Use the action object to set the outcome of the node. + */ + +action.goTo("true"); diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Device-Match-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Device-Match-Node-Script.script.json new file mode 100644 index 000000000..843987f0d --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Device-Match-Node-Script.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "11e1a3c0-038b-4c16-956a-6c9d89328d00": { + "_id": "11e1a3c0-038b-4c16-956a-6c9d89328d00", + "context": "DEVICE_MATCH_NODE", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for a device match node", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "Next Generation Device Match Node Script", + "script": "file://Next-Generation-Device-Match-Node-Script.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Scripted-Decision-Node-Script.script.js b/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Scripted-Decision-Node-Script.script.js new file mode 100644 index 000000000..bc57aca00 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Scripted-Decision-Node-Script.script.js @@ -0,0 +1,14 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ +/* + - Data made available by nodes that have already executed is available in the nodeState variable. + - Use the action object to set the outcome of the node. + */ + +action.goTo("true"); diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Scripted-Decision-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Scripted-Decision-Node-Script.script.json new file mode 100644 index 000000000..219868307 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Next-Generation-Scripted-Decision-Node-Script.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "11e1a3c0-038b-4c16-956a-6c9d89328cff": { + "_id": "11e1a3c0-038b-4c16-956a-6c9d89328cff", + "context": "SCRIPTED_DECISION_NODE", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for a scripted decision node", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "Next Generation Scripted Decision Node Script", + "script": "file://Next-Generation-Scripted-Decision-Node-Script.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Normalized-Profile-to-Identity.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Normalized-Profile-to-Identity.script.json index 5d63586e0..8b52709a3 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Normalized-Profile-to-Identity.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Normalized-Profile-to-Identity.script.json @@ -3,14 +3,14 @@ "ed685f9f-5909-4726-86e8-22bd38b47663": { "_id": "ed685f9f-5909-4726-86e8-22bd38b47663", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Converts a normalized social profile into an Identity", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937227, "name": "Normalized Profile to Identity", "script": "file://Normalized-Profile-to-Identity.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Normalized-Profile-to-Managed-User.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Normalized-Profile-to-Managed-User.script.json index 52a3af82d..d7d4cd380 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Normalized-Profile-to-Managed-User.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Normalized-Profile-to-Managed-User.script.json @@ -3,14 +3,14 @@ "58c824ae-84ed-4724-82cd-db128fc3f6c": { "_id": "58c824ae-84ed-4724-82cd-db128fc3f6c", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Converts a normalized social profile into a managed user", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936966, "name": "Normalized Profile to Managed User", "script": "file://Normalized-Profile-to-Managed-User.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Access-Token-Modification-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Access-Token-Modification-Script.script.json index 3cc1399f6..7dfac2c7e 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Access-Token-Modification-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Access-Token-Modification-Script.script.json @@ -3,14 +3,14 @@ "d22f9a0c-426a-4466-b95e-d0f125b0d5fa": { "_id": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", "context": "OAUTH2_ACCESS_TOKEN_MODIFICATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Access Token Modification", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937205, "name": "OAuth2 Access Token Modification Script", "script": "file://OAuth2-Access-Token-Modification-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json index bdad11efe..05305f790 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json @@ -3,14 +3,14 @@ "3f93ef6e-e54a-4393-aba1-f322656db28a": { "_id": "3f93ef6e-e54a-4393-aba1-f322656db28a", "context": "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Authorize Endpoint Data Provider", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936873, "name": "OAuth2 Authorize Endpoint Data Provider Script", "script": "file://OAuth2-Authorize-Endpoint-Data-Provider-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Dynamic-Client-Registration.script.js b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Dynamic-Client-Registration.script.js new file mode 100644 index 000000000..de215145f --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Dynamic-Client-Registration.script.js @@ -0,0 +1,71 @@ +/* + * Copyright 2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ + +/* + * This script is run after the following Dynamic Client Registration operations: CREATE, UPDATE, DELETE. + * + * Defined variables: + * Common script bindings for next-generation scripts (1) + * requestProperties - An unmodifiable map of the following request properties: + * requestUri - The request URI. + * realm - The realm that the request relates to. + * requestParams - A map of the request params and/or posted data. + * Each value is a list of one or more properties. + * Please note that these should be handled in accordance with OWASP best practices: + * https://owasp.org/www-community/vulnerabilities/Unsafe_use_of_Reflection. + * requestHeaders - A map of the request headers. + * Case-sensitive. + * requestBody - A map representing the body of the request. + * operation - A string to denote the dynamic client registration request operation. + * Possible values: CREATE, UPDATE, DELETE + * clientIdentity - The AMIdentity that represents the created or updated OAuth2Client. + * Null if the operation is DELETE. + * softwareStatement - A map representing the decoded data of the software statement from the request. + * Empty map if no software statement is provided. + * + * Return - no value is expected, any changes shall be made via the bindings directly. + * + * Reference: + * (1) Script Bindings - https://docs.pingidentity.com/pingoneaic/latest/am-scripting/script-bindings.html + */ + +// logger.info("Executing: {}", scriptName); + +/* +// Example: Update the OAuth2Client identity on CREATE +// NOTE: setAttribute() overwrites the whole attribute if it exists already +if (operation === "CREATE") { + // Read a property from the request body + var requestBody = requestProperties.get("requestBody"); + var grantType = requestBody.get("grant_type"); + + if (grantType != null) { + var grantTypes = ["[0]=authorization_code"]; + grantTypes.push("[1]=".concat(grantType)); + clientIdentity.setAttribute( "com.forgerock.openam.oauth2provider.grantTypes", grantTypes); + clientIdentity.store(); + }; +}; + +// Example: Update the OAuth2Client identity on UPDATE +// NOTE: addAttribute() adds the provided value to the set if it exists already. +// Otherwise, it sets the attribute with the single value. +if (operation === "UPDATE") { + // Example: Read a property from the software statement + var redirectUris = softwareStatement.get("redirect_uris"); + if (redirectUris != null) { + var firstUri = redirectUris[0]; + }; + + if (firstUri != null) { + clientIdentity.addAttribute("com.forgerock.openam.oauth2provider.redirectionURIs", "[0]=".concat(firstUri)); + clientIdentity.store(); + }; +}; +*/ diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Dynamic-Client-Registration.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Dynamic-Client-Registration.script.json new file mode 100644 index 000000000..e1bb08560 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Dynamic-Client-Registration.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "4b6b7e8e-cf03-46c8-949f-c5742dbd6bc5": { + "_id": "4b6b7e8e-cf03-46c8-949f-c5742dbd6bc5", + "context": "OAUTH2_DYNAMIC_CLIENT_REGISTRATION", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for Dynamic Client Registration", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "OAuth2 Dynamic Client Registration", + "script": "file://OAuth2-Dynamic-Client-Registration.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Evaluate-Scope-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Evaluate-Scope-Script.script.json index 8f1b03eb7..eff780dcd 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Evaluate-Scope-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Evaluate-Scope-Script.script.json @@ -3,14 +3,14 @@ "da56fe60-8b38-4c46-a405-d6b306d4b336": { "_id": "da56fe60-8b38-4c46-a405-d6b306d4b336", "context": "OAUTH2_EVALUATE_SCOPE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Scope Evaluation", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937216, "name": "OAuth2 Evaluate Scope Script", "script": "file://OAuth2-Evaluate-Scope-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-JWT-Issuer-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-JWT-Issuer-Script.script.json index d2bad38a2..e5cfdd3da 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-JWT-Issuer-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-JWT-Issuer-Script.script.json @@ -3,14 +3,14 @@ "400e48ba-3f13-4144-ac7b-f824ea8e98c5": { "_id": "400e48ba-3f13-4144-ac7b-f824ea8e98c5", "context": "OAUTH2_SCRIPTED_JWT_ISSUER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for scripted JWT Issuers", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936890, "name": "OAuth2 JWT Issuer Script", "script": "file://OAuth2-JWT-Issuer-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-May-Act-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-May-Act-Script.script.json index 3cf7db318..ca0db16e1 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-May-Act-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-May-Act-Script.script.json @@ -3,14 +3,14 @@ "c735de08-f8f2-4e69-aa4a-2d8d3d438323": { "_id": "c735de08-f8f2-4e69-aa4a-2d8d3d438323", "context": "OAUTH2_MAY_ACT", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 May Act", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937176, "name": "OAuth2 May Act Script", "script": "file://OAuth2-May-Act-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Validate-Scope-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Validate-Scope-Script.script.json index 557429a4b..96b6cbd3b 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Validate-Scope-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/OAuth2-Validate-Scope-Script.script.json @@ -3,14 +3,14 @@ "25e6c06d-cf70-473b-bd28-26931edc476b": { "_id": "25e6c06d-cf70-473b-bd28-26931edc476b", "context": "OAUTH2_VALIDATE_SCOPE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Scope Validation", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936809, "name": "OAuth2 Validate Scope Script", "script": "file://OAuth2-Validate-Scope-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/OIDC-Claims-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/OIDC-Claims-Script.script.json index 13b863291..286e17862 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/OIDC-Claims-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/OIDC-Claims-Script.script.json @@ -3,14 +3,14 @@ "36863ffb-40ec-48b9-94b1-9a99f71cc3b5": { "_id": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", "context": "OIDC_CLAIMS", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OIDC claims", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936837, "name": "OIDC Claims Script", "script": "file://OIDC-Claims-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-IDP-Adapter-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-IDP-Adapter-Script.script.json index e0e03fd70..ca243b60d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-IDP-Adapter-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-IDP-Adapter-Script.script.json @@ -3,14 +3,14 @@ "248b8a56-df81-4b1b-b4ba-45d994f6504c": { "_id": "248b8a56-df81-4b1b-b4ba-45d994f6504c", "context": "SAML2_IDP_ADAPTER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for SAML2 IDP Adapter", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936797, "name": "SAML2 IDP Adapter Script", "script": "file://SAML2-IDP-Adapter-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-IDP-Attribute-Mapper-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-IDP-Attribute-Mapper-Script.script.json index bdae7b156..1da41aa4a 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-IDP-Attribute-Mapper-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-IDP-Attribute-Mapper-Script.script.json @@ -3,14 +3,14 @@ "c4f22465-2368-4e27-8013-e6399974fd48": { "_id": "c4f22465-2368-4e27-8013-e6399974fd48", "context": "SAML2_IDP_ATTRIBUTE_MAPPER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for SAML2 IDP Attribute Mapper", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937162, "name": "SAML2 IDP Attribute Mapper Script", "script": "file://SAML2-IDP-Attribute-Mapper-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-NameID-Mapper-Script.script.js b/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-NameID-Mapper-Script.script.js new file mode 100644 index 000000000..99d04cbcc --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-NameID-Mapper-Script.script.js @@ -0,0 +1,15 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ + +/* + * This is an example SAML2 NameID Mapper script. + * This script should return a string value representing the SAML2 NameID identifier. + * The example script delegates to the configured java plugin via the nameIDScriptHelper binding. + */ +nameIDScriptHelper.getNameIDValue(); diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-NameID-Mapper-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-NameID-Mapper-Script.script.json new file mode 100644 index 000000000..e11d1a11e --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-NameID-Mapper-Script.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5": { + "_id": "4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5", + "context": "SAML2_NAMEID_MAPPER", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for SAML2 NameID Mapper", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "SAML2 NameID Mapper Script", + "script": "file://SAML2-NameID-Mapper-Script.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-SP-Adapter-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-SP-Adapter-Script.script.json index 72cc8b1a3..8e7d3ac7d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-SP-Adapter-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/SAML2-SP-Adapter-Script.script.json @@ -3,14 +3,14 @@ "69f06e63-128c-4e2f-af52-079a8a6f448b": { "_id": "69f06e63-128c-4e2f-af52-079a8a6f448b", "context": "SAML2_SP_ADAPTER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for SAML2 SP Adapter", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937005, "name": "SAML2 SP Adapter Script", "script": "file://SAML2-SP-Adapter-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Salesforce-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Salesforce-Profile-Normalization.script.json index 3ee9bd140..a45fa265b 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Salesforce-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Salesforce-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "312e951f-70c5-49d2-a9ae-93aef909d5df": { "_id": "312e951f-70c5-49d2-a9ae-93aef909d5df", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Salesforce", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936823, "name": "Salesforce Profile Normalization", "script": "file://Salesforce-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Module-Client-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Module-Client-Side.script.json index 6dc813c3e..b2dcac3fd 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Module-Client-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Module-Client-Side.script.json @@ -3,14 +3,14 @@ "c827d2b4-3608-4693-868e-bbcf86bd87c7": { "_id": "c827d2b4-3608-4693-868e-bbcf86bd87c7", "context": "AUTHENTICATION_CLIENT_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for client side Scripted Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937190, "name": "Scripted Module - Client Side", "script": "file://Scripted-Module-Client-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Module-Server-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Module-Server-Side.script.json index 654961a61..94dd8593f 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Module-Server-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Module-Server-Side.script.json @@ -3,14 +3,14 @@ "7e3d7067-d50f-4674-8c76-a3e13a810c33": { "_id": "7e3d7067-d50f-4674-8c76-a3e13a810c33", "context": "AUTHENTICATION_SERVER_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for server side Scripted Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937070, "name": "Scripted Module - Server Side", "script": "file://Scripted-Module-Server-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Policy-Condition.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Policy-Condition.script.json index 7433e6c61..9ff9ab987 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Policy-Condition.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Scripted-Policy-Condition.script.json @@ -3,14 +3,14 @@ "9de3eb62-f131-4fac-a294-7bd170fd4acb": { "_id": "9de3eb62-f131-4fac-a294-7bd170fd4acb", "context": "POLICY_CONDITION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for Scripted Policy Conditions", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937122, "name": "Scripted Policy Condition", "script": "file://Scripted-Policy-Condition.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Social-Identity-Provider-Profile-Transformation-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Social-Identity-Provider-Profile-Transformation-Script.script.json index 80fdd9df3..3ff67ac6e 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Social-Identity-Provider-Profile-Transformation-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Social-Identity-Provider-Profile-Transformation-Script.script.json @@ -3,14 +3,14 @@ "1d475815-72cb-42eb-aafd-4026989d28a7": { "_id": "1d475815-72cb-42eb-aafd-4026989d28a7", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for Social Identity Provider Profile Transformation", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936785, "name": "Social Identity Provider Profile Transformation Script", "script": "file://Social-Identity-Provider-Profile-Transformation-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Twitter-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Twitter-Profile-Normalization.script.json index 82f7eddf4..cea69de50 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Twitter-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Twitter-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "8e298710-b55e-4085-a464-88a375a4004b": { "_id": "8e298710-b55e-4085-a464-88a375a4004b", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Twitter", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937100, "name": "Twitter Profile Normalization", "script": "file://Twitter-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/VKontakte-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/VKontakte-Profile-Normalization.script.json index fe7f120a2..48f46cf37 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/VKontakte-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/VKontakte-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "403cf226-6051-4368-8b72-9ba14f9a5140": { "_id": "403cf226-6051-4368-8b72-9ba14f9a5140", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from VKontakte", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936907, "name": "VKontakte Profile Normalization", "script": "file://VKontakte-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/WeChat-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/WeChat-Profile-Normalization.script.json index b5055281d..a4a7b6418 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/WeChat-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/WeChat-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "472534ec-a25f-468d-a606-3fb1935190df": { "_id": "472534ec-a25f-468d-a606-3fb1935190df", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from WeChat", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936934, "name": "WeChat Profile Normalization", "script": "file://WeChat-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/WordPress-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/WordPress-Profile-Normalization.script.json index 0870d779a..8161f1d8b 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/WordPress-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/WordPress-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "91d197de-5916-4dca-83b5-9a4df26e7159": { "_id": "91d197de-5916-4dca-83b5-9a4df26e7159", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from WordPress", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937110, "name": "WordPress Profile Normalization", "script": "file://WordPress-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/script/Yahoo-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root-first/script/Yahoo-Profile-Normalization.script.json index abd0293e8..4c6d3e8a3 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/script/Yahoo-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/script/Yahoo-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "424da748-82cc-4b54-be6f-82bd64d82a74": { "_id": "424da748-82cc-4b54-be6f-82bd64d82a74", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Yahoo", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936920, "name": "Yahoo Profile Normalization", "script": "file://Yahoo-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/Keystore.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/Keystore.secretstore.json new file mode 100644 index 000000000..5e05bd8f3 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/Keystore.secretstore.json @@ -0,0 +1,72 @@ +{ + "secretstore": { + "Keystore": { + "_id": "Keystore", + "_type": { + "_id": "KeyStoreSecretStore", + "collection": true, + "name": "Keystore" + }, + "file": "/home/trivir/secrets/keystore.jceks", + "leaseExpiryDuration": 5, + "mappings": [ + { + "_id": "a5f8a49b-a954-41c4-9f8a-f643c43ebc7e", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mysecretkey" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512" + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mypassword", + "mysecretkey", + "thirdpassword", + "fourthpassword" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES256" + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mypassword", + "mysecretkey" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384" + }, + { + "_id": "am.services.uma.pct.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mysecretkey", + "mypassword", + "thirdpassword", + "fourthpassword" + ], + "secretId": "am.services.uma.pct.encryption" + } + ], + "storetype": "JCEKS" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/Volumes.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/Volumes.secretstore.json new file mode 100644 index 000000000..3719dee71 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/Volumes.secretstore.json @@ -0,0 +1,16 @@ +{ + "secretstore": { + "Volumes": { + "_id": "Volumes", + "_type": { + "_id": "FileSystemSecretStore", + "collection": true, + "name": "File System Secret Volumes" + }, + "directory": "/home/trivir/secrets", + "format": "BASE64", + "suffix": ".txt", + "versionSuffix": ".v" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/default-keystore.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/default-keystore.secretstore.json deleted file mode 100644 index 7f655dbd7..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/default-keystore.secretstore.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "secretstore": { - "default-keystore": { - "_id": "default-keystore", - "_type": { - "_id": "KeyStoreSecretStore", - "collection": true, - "name": "Keystore" - }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", - "keyEntryPassword": "entrypass", - "leaseExpiryDuration": 5, - "mappings": [], - "providerName": "SunJCE", - "storePassword": "storepass", - "storetype": "JCEKS" - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/default-passwords-store.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/default-passwords-store.secretstore.json deleted file mode 100644 index 7176a9aab..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root-first/secretstore/default-passwords-store.secretstore.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "secretstore": { - "default-passwords-store": { - "_id": "default-passwords-store", - "_type": { - "_id": "FileSystemSecretStore", - "collection": true, - "name": "File System Secret Volumes" - }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", - "format": "ENCRYPTED_PLAIN" - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/service/SocialIdentityProviders.service.json b/test/e2e/exports/all-separate/classic/realm/root-first/service/SocialIdentityProviders.service.json index f144d8537..6fb14113f 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/service/SocialIdentityProviders.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/service/SocialIdentityProviders.service.json @@ -8,8 +8,7 @@ "name": "Social Identity Provider Service" }, "enabled": true, - "location": "/first", - "nextDescendents": [] + "location": "/first" } } } diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/service/id-repositories.service.json b/test/e2e/exports/all-separate/classic/realm/root-first/service/id-repositories.service.json index 870b79101..61a15d263 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/service/id-repositories.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/service/id-repositories.service.json @@ -50,12 +50,12 @@ "openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client": false, "openam-idrepo-ldapv3-heartbeat-interval": 10, "openam-idrepo-ldapv3-heartbeat-timeunit": "SECONDS", + "openam-idrepo-ldapv3-keepalive-searchbase": "", "openam-idrepo-ldapv3-keepalive-searchfilter": "(objectclass=*)", "openam-idrepo-ldapv3-mtls-enabled": false, "openam-idrepo-ldapv3-proxied-auth-denied-fallback": false, "openam-idrepo-ldapv3-proxied-auth-enabled": false, "sun-idrepo-ldapv3-config-authid": "cn=Directory Manager", - "sun-idrepo-ldapv3-config-authpw": null, "sun-idrepo-ldapv3-config-connection-mode": "LDAPS", "sun-idrepo-ldapv3-config-connection_pool_max_size": 10, "sun-idrepo-ldapv3-config-connection_pool_min_size": 1, @@ -188,6 +188,185 @@ "sun-idrepo-ldapv3-config-users-search-attribute": "uid", "sun-idrepo-ldapv3-config-users-search-filter": "(objectclass=inetorgperson)" } + }, + { + "_id": "OpenDJ", + "_type": { + "_id": "LDAPv3ForOpenDS", + "collection": true, + "name": "OpenDJ" + }, + "authentication": { + "sun-idrepo-ldapv3-config-auth-naming-attr": "uid" + }, + "cachecontrol": { + "sun-idrepo-ldapv3-dncache-enabled": true, + "sun-idrepo-ldapv3-dncache-size": 1500 + }, + "errorhandling": { + "com.iplanet.am.ldap.connection.delay.between.retries": 1000 + }, + "groupconfig": { + "sun-idrepo-ldapv3-config-group-attributes": [ + "cn", + "dn", + "objectclass", + "uniqueMember" + ], + "sun-idrepo-ldapv3-config-group-container-name": "ou", + "sun-idrepo-ldapv3-config-group-container-value": "groups", + "sun-idrepo-ldapv3-config-group-objectclass": [ + "groupofuniquenames", + "top" + ], + "sun-idrepo-ldapv3-config-groups-search-attribute": "cn", + "sun-idrepo-ldapv3-config-groups-search-filter": "(objectclass=groupOfUniqueNames)", + "sun-idrepo-ldapv3-config-memberurl": "memberUrl", + "sun-idrepo-ldapv3-config-uniquemember": "uniqueMember" + }, + "ldapsettings": { + "openam-idrepo-ldapv3-affinity-level": "all", + "openam-idrepo-ldapv3-behera-support-enabled": true, + "openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client": false, + "openam-idrepo-ldapv3-heartbeat-interval": 10, + "openam-idrepo-ldapv3-heartbeat-timeunit": "SECONDS", + "openam-idrepo-ldapv3-keepalive-searchfilter": "(objectclass=*)", + "openam-idrepo-ldapv3-mtls-enabled": false, + "openam-idrepo-ldapv3-proxied-auth-denied-fallback": false, + "openam-idrepo-ldapv3-proxied-auth-enabled": false, + "sun-idrepo-ldapv3-config-authid": "uid=am-identity-bind-account,ou=admins,ou=identities", + "sun-idrepo-ldapv3-config-authpw": null, + "sun-idrepo-ldapv3-config-connection-mode": "LDAPS", + "sun-idrepo-ldapv3-config-connection_pool_max_size": 10, + "sun-idrepo-ldapv3-config-connection_pool_min_size": 1, + "sun-idrepo-ldapv3-config-ldap-server": [ + "opendj-frodo-dev.classic.com:2636" + ], + "sun-idrepo-ldapv3-config-max-result": 1000, + "sun-idrepo-ldapv3-config-organization_name": "ou=identities", + "sun-idrepo-ldapv3-config-search-scope": "SCOPE_SUB", + "sun-idrepo-ldapv3-config-time-limit": 10, + "sun-idrepo-ldapv3-config-trust-all-server-certificates": false + }, + "persistentsearch": { + "sun-idrepo-ldapv3-config-psearch-filter": "(!(objectclass=frCoreToken))", + "sun-idrepo-ldapv3-config-psearch-scope": "SCOPE_SUB", + "sun-idrepo-ldapv3-config-psearchbase": "ou=identities" + }, + "pluginconfig": { + "sunIdRepoAttributeMapping": [], + "sunIdRepoClass": "org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo", + "sunIdRepoSupportedOperations": [ + "group=read,create,edit,delete", + "realm=read,create,edit,delete,service", + "user=read,create,edit,delete,service" + ] + }, + "userconfig": { + "sun-idrepo-ldapv3-config-active": "Active", + "sun-idrepo-ldapv3-config-auth-kba-attempts-attr": [ + "kbaInfoAttempts" + ], + "sun-idrepo-ldapv3-config-auth-kba-attr": [ + "kbaInfo" + ], + "sun-idrepo-ldapv3-config-auth-kba-index-attr": "kbaActiveIndex", + "sun-idrepo-ldapv3-config-createuser-attr-mapping": [ + "cn", + "sn" + ], + "sun-idrepo-ldapv3-config-inactive": "Inactive", + "sun-idrepo-ldapv3-config-isactive": "inetuserstatus", + "sun-idrepo-ldapv3-config-people-container-name": "ou", + "sun-idrepo-ldapv3-config-people-container-value": "people", + "sun-idrepo-ldapv3-config-user-attributes": [ + "adminRole", + "assignedDashboard", + "authorityRevocationList", + "boundDevices", + "caCertificate", + "cn", + "createTimestamp", + "devicePrintProfiles", + "deviceProfiles", + "distinguishedName", + "dn", + "employeeNumber", + "givenName", + "inetUserHttpURL", + "inetUserStatus", + "iplanet-am-auth-configuration", + "iplanet-am-session-destroy-sessions", + "iplanet-am-session-get-valid-sessions", + "iplanet-am-session-max-caching-time", + "iplanet-am-session-max-idle-time", + "iplanet-am-session-max-session-time", + "iplanet-am-session-quota-limit", + "iplanet-am-session-service-status", + "iplanet-am-user-account-life", + "iplanet-am-user-admin-start-dn", + "iplanet-am-user-alias-list", + "iplanet-am-user-auth-config", + "iplanet-am-user-auth-modules", + "iplanet-am-user-failure-url", + "iplanet-am-user-login-status", + "iplanet-am-user-password-reset-force-reset", + "iplanet-am-user-password-reset-options", + "iplanet-am-user-password-reset-question-answer", + "iplanet-am-user-success-url", + "kbaActiveIndex", + "kbaInfo", + "kbaInfoAttempts", + "lastEmailSent", + "mail", + "manager", + "memberOf", + "modifyTimestamp", + "oath2faEnabled", + "oathDeviceProfiles", + "objectClass", + "postalAddress", + "preferredlanguage", + "preferredLocale", + "preferredtimezone", + "push2faEnabled", + "pushDeviceProfiles", + "retryLimitNodeCount", + "sn", + "sun-fm-saml2-nameid-info", + "sun-fm-saml2-nameid-infokey", + "sunAMAuthInvalidAttemptsData", + "sunIdentityMSISDNNumber", + "telephoneNumber", + "uid", + "userCertificate", + "userPassword", + "webauthnDeviceProfiles" + ], + "sun-idrepo-ldapv3-config-user-objectclass": [ + "boundDevicesContainer", + "devicePrintProfilesContainer", + "deviceProfilesContainer", + "forgerock-am-dashboard-service", + "inetorgperson", + "inetuser", + "iplanet-am-auth-configuration-service", + "iplanet-am-managed-person", + "iplanet-am-user-service", + "iPlanetPreferences", + "kbaInfoContainer", + "oathDeviceProfilesContainer", + "organizationalperson", + "person", + "pushDeviceProfilesContainer", + "sunAMAuthAccountLockout", + "sunFMSAML2NameIdentifier", + "top", + "webauthnDeviceProfilesContainer" + ], + "sun-idrepo-ldapv3-config-users-search-attribute": "uid", + "sun-idrepo-ldapv3-config-users-search-filter": "(objectclass=inetorgperson)" + } } ], "sunIdRepoAttributeCombiner": "com.iplanet.am.sdk.AttributeCombiner", diff --git a/test/e2e/exports/all-separate/classic/realm/root-first/service/oauth-oidc.service.json b/test/e2e/exports/all-separate/classic/realm/root-first/service/oauth-oidc.service.json index a2a2102ce..d860717a2 100644 --- a/test/e2e/exports/all-separate/classic/realm/root-first/service/oauth-oidc.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root-first/service/oauth-oidc.service.json @@ -31,6 +31,7 @@ "urn:ietf:params:oauth:grant-type:jwt-bearer" ], "hashSalt": "changeme", + "includeClientIdClaimInStatelessTokens": true, "includeSubnameInTokenClaims": true, "macaroonTokenFormat": "V2", "maxAgeOfRequestObjectNbfClaim": 0, @@ -55,7 +56,7 @@ ], "tlsCertificateBoundAccessTokensEnabled": true, "tlsCertificateRevocationCheckingEnabled": false, - "tlsClientCertificateHeaderFormat": "URLENCODED_PEM", + "tlsClientCertificateHeaderFormat": "BASE64_ENCODED_CERT", "tokenCompressionEnabled": false, "tokenEncryptionEnabled": false, "tokenExchangeClasses": [ @@ -242,6 +243,7 @@ "clientDynamicRegistrationConfig": { "allowDynamicRegistration": false, "dynamicClientRegistrationScope": "dynamic_client_registration", + "dynamicClientRegistrationScript": "[Empty]", "dynamicClientRegistrationSoftwareStatementRequired": false, "generateRegistrationAccessTokens": true, "requiredSoftwareStatementAttestedAttributes": [ diff --git a/test/e2e/exports/all-separate/classic/realm/root/agent/Test-IG.agent.json b/test/e2e/exports/all-separate/classic/realm/root/agent/Test-IG.agent.json deleted file mode 100644 index e5ec2a0be..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root/agent/Test-IG.agent.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "agent": { - "Test IG": { - "_id": "Test IG", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents" - }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [], - "igTokenIntrospection": "None", - "secretLabelIdentifier": null, - "status": "Active", - "userpassword": null - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root/agent/Test-SOAP-STS.agent.json b/test/e2e/exports/all-separate/classic/realm/root/agent/Test-SOAP-STS.agent.json deleted file mode 100644 index 5464090d9..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root/agent/Test-SOAP-STS.agent.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "agent": { - "Test SOAP STS": { - "_id": "Test SOAP STS", - "_type": { - "_id": "SoapSTSAgent", - "collection": true, - "name": "SOAP STS Agents" - }, - "agentgroup": null, - "publishServicePollInterval": 300 - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root/agent/Test-Web.agent.json b/test/e2e/exports/all-separate/classic/realm/root/agent/Test-Web.agent.json deleted file mode 100644 index dd8114b53..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root/agent/Test-Web.agent.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "agent": { - "Test Web": { - "_id": "Test Web", - "_type": { - "_id": "WebAgent", - "collection": true, - "name": "Web Agents" - }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": null, - "clientHostnameHeader": null, - "clientIpHeader": null, - "customProperties": [], - "fragmentRedirectEnabled": false, - "hostnameToIpAddress": [], - "logonAndImpersonation": false, - "overrideRequestHost": false, - "overrideRequestPort": false, - "overrideRequestProtocol": false, - "pdpJavascriptRepost": false, - "pdpSkipPostUrl": [ - "" - ], - "pdpStickySessionCookieName": null, - "pdpStickySessionMode": "OFF", - "pdpStickySessionValue": null, - "postDataCachePeriod": 10, - "postDataPreservation": false, - "replayPasswordKey": null, - "retainSessionCache": false, - "showPasswordInHeader": false - }, - "amServicesWebAgent": { - "amLoginUrl": [], - "amLogoutUrl": [ - "http://testurl.com:8080/UI/Logout" - ], - "applicationLogoutUrls": [ - "" - ], - "conditionalLoginUrl": [ - "" - ], - "customLoginMode": 0, - "enableLogoutRegex": false, - "fetchPoliciesFromRootResource": false, - "invalidateLogoutSession": true, - "logoutRedirectDisabled": false, - "logoutRedirectUrl": null, - "logoutResetCookies": [ - "" - ], - "logoutUrlRegex": null, - "policyCachePollingInterval": 3, - "policyClockSkew": 0, - "policyEvaluationApplication": "iPlanetAMWebAgentService", - "policyEvaluationRealm": "/", - "publicAmUrl": null, - "regexConditionalLoginPattern": [ - "" - ], - "regexConditionalLoginUrl": [ - "" - ], - "retrieveClientHostname": false, - "ssoCachePollingInterval": 3, - "userIdParameter": "UserToken", - "userIdParameterType": "session" - }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": "|", - "clientIpValidation": false, - "continuousSecurityCookies": {}, - "continuousSecurityHeaders": {}, - "fetchAttributesForNotEnforcedUrls": false, - "ignorePathInfoForNotEnforcedUrls": true, - "invertNotEnforcedUrls": false, - "notEnforcedIps": [ - "" - ], - "notEnforcedIpsList": [ - "" - ], - "notEnforcedIpsRegex": false, - "notEnforcedUrls": [ - "" - ], - "notEnforcedUrlsRegex": false, - "profileAttributeFetchMode": "NONE", - "profileAttributeMap": {}, - "responseAttributeFetchMode": "NONE", - "responseAttributeMap": {}, - "sessionAttributeFetchMode": "NONE", - "sessionAttributeMap": {} - }, - "globalWebAgentConfig": { - "accessDeniedUrl": null, - "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Error", - "agentUriPrefix": "http://testurl.com:8080/amagent", - "agentgroup": null, - "amLbCookieEnable": false, - "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", - "cdssoRootUrl": [ - "agentRootURL=http://testurl.com:8080/" - ], - "configurationPollingInterval": 60, - "disableJwtAudit": false, - "fqdnCheck": false, - "fqdnDefault": "testurl.com", - "fqdnMapping": {}, - "jwtAuditWhitelist": null, - "jwtName": "am-auth-jwt", - "notificationsEnabled": true, - "repositoryLocation": "centralized", - "resetIdleTime": false, - "secretLabelIdentifier": null, - "ssoOnlyMode": false, - "status": "Active", - "userpassword": null, - "webSocketConnectionIntervalInMinutes": 30 - }, - "miscWebAgentConfig": { - "addCacheControlHeader": false, - "anonymousUserEnabled": false, - "anonymousUserId": "anonymous", - "caseInsensitiveUrlComparison": true, - "compositeAdviceEncode": false, - "compositeAdviceRedirect": false, - "encodeSpecialCharsInCookies": false, - "encodeUrlSpecialCharacters": false, - "gotoParameterName": "goto", - "headerJsonResponse": {}, - "ignorePathInfo": false, - "invalidUrlRegex": null, - "invertUrlJsonResponse": false, - "mineEncodeHeader": 0, - "profileAttributesCookieMaxAge": 300, - "profileAttributesCookiePrefix": "HTTP_", - "statusCodeJsonResponse": 202, - "urlJsonResponse": [ - "" - ] - }, - "ssoWebAgentConfig": { - "acceptSsoToken": false, - "cdssoCookieDomain": [ - "" - ], - "cdssoRedirectUri": "agent/cdsso-oauth2", - "cookieName": "iPlanetDirectoryPro", - "cookieResetEnabled": false, - "cookieResetList": [ - "" - ], - "cookieResetOnRedirect": false, - "httpOnly": true, - "multivaluePreAuthnCookie": false, - "persistentJwtCookie": false, - "sameSite": null, - "secureCookies": false - } - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root/agent/my-policy-agent.agent.json b/test/e2e/exports/all-separate/classic/realm/root/agent/my-policy-agent.agent.json deleted file mode 100644 index dc4e51b11..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root/agent/my-policy-agent.agent.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "agent": { - "my-policy-agent": { - "_id": "my-policy-agent", - "_type": { - "_id": "2.2_Agent", - "collection": true, - "name": "Policy Agents" - }, - "cdssoRootUrl": [], - "description": null, - "status": "Active", - "userpassword": null - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root/agent/test-java.agent.json b/test/e2e/exports/all-separate/classic/realm/root/agent/test-java.agent.json deleted file mode 100644 index 3520e9c1c..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root/agent/test-java.agent.json +++ /dev/null @@ -1,231 +0,0 @@ -{ - "agent": { - "test java": { - "_id": "test java", - "_type": { - "_id": "J2EEAgent", - "collection": true, - "name": "J2EE Agents" - }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, - "clientHostnameHeader": null, - "clientIpHeader": null, - "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ - "" - ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ - "" - ], - "postDataCacheTtlMin": 5, - "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataPreserveMultipartLimitBytes": 104857600, - "postDataPreserveMultipartParameterLimitBytes": 104857600, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "retainPreviousOverrideBehavior": true, - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {} - }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, - "amLoginUrl": [], - "authServiceHost": "testurl.com", - "authServicePort": 8080, - "authServiceProtocol": "http", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ - "" - ], - "conditionalLogoutUrl": [ - "" - ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ - "" - ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "iPlanetAMWebAgentService", - "policyEvaluationRealm": "/", - "policyNotifications": true, - "restrictToRealm": {}, - "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", - "urlPolicyEnvGetParameters": [ - "" - ], - "urlPolicyEnvJsessionParameters": [ - "" - ], - "urlPolicyEnvPostParameters": [ - "" - ] - }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF" - }, - "clientIpValidationRange": {}, - "continuousSecurityCookies": {}, - "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, - "notEnforcedIps": [ - "" - ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ - "" - ], - "notEnforcedUrisCacheEnabled": true, - "notEnforcedUrisCacheSize": 1000, - "profileAttributeFetchMode": "NONE", - "profileAttributeMap": {}, - "resourceAccessDeniedUri": {}, - "responseAttributeFetchMode": "NONE", - "responseAttributeMap": {}, - "sessionAttributeFetchMode": "NONE", - "sessionAttributeMap": {} - }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": true, - "agentgroup": "Test Java Group", - "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", - "cdssoRootUrl": [ - "agentRootURL=http://testurl.com:8080/" - ], - "configurationReloadInterval": 0, - "customResponseHeader": {}, - "debugLevel": "error", - "debugLogfilePrefix": null, - "debugLogfileRetentionCount": -1, - "debugLogfileRotationMinutes": -1, - "debugLogfileRotationSize": 52428800, - "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "filterMode": { - "": "ALL" - }, - "fqdnCheck": false, - "fqdnDefault": "testurl.com", - "fqdnMapping": {}, - "httpSessionBinding": true, - "jwtName": "am-auth-jwt", - "lbCookieEnabled": false, - "lbCookieName": "amlbcookie", - "localAuditLogRotation": false, - "localAuditLogfileRetentionCount": -1, - "localAuditRotationSize": 52428800, - "loginAttemptLimit": 0, - "loginAttemptLimitCookieName": "amFilterParam", - "preAuthCookieMaxAge": 300, - "preAuthCookieName": "amFilterCDSSORequest", - "recheckAmUnavailabilityInSeconds": 5, - "redirectAttemptLimit": 0, - "redirectAttemptLimitCookieName": "amFilterRDParam", - "repositoryLocation": "centralized", - "secretLabelIdentifier": null, - "status": "Active", - "userAttributeName": "employeenumber", - "userMappingMode": "USER_ID", - "userPrincipalFlag": false, - "userTokenName": "UserToken", - "userpassword": null, - "webSocketConnectionIntervalInMinutes": 30 - }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": "application/json", - "agent302RedirectEnabled": true, - "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - "agent302RedirectInvertEnabled": false, - "agent302RedirectNerList": [ - "" - ], - "agent302RedirectStatusCode": 200, - "authFailReasonParameterName": null, - "authFailReasonParameterRemapper": {}, - "authFailReasonUrl": null, - "gotoParameterName": "goto", - "gotoUrl": null, - "ignorePathInfo": false, - "legacyRedirectUri": "/test/sunwLegacySupportURI", - "legacyUserAgentList": [ - "Mozilla/4.7*" - ], - "legacyUserAgentSupport": false, - "localeCountry": "US", - "localeLanguage": "en", - "loginReasonMap": {}, - "loginReasonParameterName": null, - "portCheckEnabled": false, - "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "8080": "http" - }, - "unwantedHttpUrlParams": [ - "" - ], - "unwantedHttpUrlRegexParams": [ - "" - ], - "wantedHttpUrlParams": [ - "" - ], - "wantedHttpUrlRegexParams": [ - "" - ] - }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": false, - "acceptSsoTokenDomainList": [ - "" - ], - "acceptSsoTokenEnabled": false, - "authExchangeCookieName": null, - "authExchangeUri": null, - "cdssoDomainList": [ - "" - ], - "cdssoRedirectUri": "/test/post-authn-redirect", - "cdssoSecureCookies": false, - "cookieResetDomains": {}, - "cookieResetEnabled": false, - "cookieResetNames": [ - "" - ], - "cookieResetPaths": {}, - "encodeCookies": false, - "excludedUserAgentsList": [], - "httpOnly": true, - "setCookieAttributeMap": {}, - "setCookieInternalMap": {} - } - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root/agent/test-software-publisher.agent.json b/test/e2e/exports/all-separate/classic/realm/root/agent/test-software-publisher.agent.json deleted file mode 100644 index 3893f79ef..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root/agent/test-software-publisher.agent.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "agent": { - "test software publisher": { - "_id": "test software publisher", - "_type": { - "_id": "SoftwarePublisher", - "collection": true, - "name": "OAuth2 Software Publisher" - }, - "agentgroup": null, - "issuer": null, - "jwkSet": null, - "jwkStoreCacheMissCacheTime": 60000, - "jwksCacheTimeout": 3600000, - "jwksUri": null, - "publicKeyLocation": "jwks_uri", - "softwareStatementSigningAlgorithm": "RS256" - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root/agent/test.agent.json b/test/e2e/exports/all-separate/classic/realm/root/agent/test.agent.json deleted file mode 100644 index 0a7afb60f..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root/agent/test.agent.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "agent": { - "test": { - "_id": "test", - "_type": { - "_id": "RemoteConsentAgent", - "collection": true, - "name": "OAuth2 Remote Consent Service" - }, - "agentgroup": null, - "jwkSet": null, - "jwkStoreCacheMissCacheTime": 60000, - "jwksCacheTimeout": 3600000, - "jwksUri": null, - "publicKeyLocation": "jwks_uri", - "remoteConsentRedirectUrl": null, - "remoteConsentRequestEncryptionAlgorithm": "RSA-OAEP-256", - "remoteConsentRequestEncryptionEnabled": true, - "remoteConsentRequestEncryptionMethod": "A128GCM", - "remoteConsentRequestSigningAlgorithm": "RS256", - "remoteConsentResponseEncryptionAlgorithm": "RSA-OAEP-256", - "remoteConsentResponseEncryptionMethod": "A128GCM", - "remoteConsentResponseSigningAlg": "RS256", - "requestTimeLimit": 180 - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root/agentGroup/Oauth2-group.agentGroup.json b/test/e2e/exports/all-separate/classic/realm/root/agentGroup/Oauth2-group.agentGroup.json index 1a0589749..1968ecf98 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/agentGroup/Oauth2-group.agentGroup.json +++ b/test/e2e/exports/all-separate/classic/realm/root/agentGroup/Oauth2-group.agentGroup.json @@ -42,6 +42,7 @@ "tokenEndpointAuthMethod": "client_secret_basic", "tokenExchangeAuthLevel": 0, "tosURI": [], + "treeName": null, "updateAccessToken": null }, "coreOAuth2ClientConfig": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/agentGroup/Test-SOAP-STS-group.agentGroup.json b/test/e2e/exports/all-separate/classic/realm/root/agentGroup/Test-SOAP-STS-group.agentGroup.json deleted file mode 100644 index ec6b73d72..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root/agentGroup/Test-SOAP-STS-group.agentGroup.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "agentGroup": { - "Test SOAP STS group": { - "_id": "Test SOAP STS group", - "_type": { - "_id": "SoapSTSAgent", - "collection": true, - "name": "SOAP STS Agents" - }, - "publishServicePollInterval": 300 - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root/authenticationModules/amster.authenticationModules.json b/test/e2e/exports/all-separate/classic/realm/root/authenticationModules/amster.authenticationModules.json index 59cc7c40f..30bd7b614 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/authenticationModules/amster.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/realm/root/authenticationModules/amster.authenticationModules.json @@ -8,7 +8,7 @@ "name": "ForgeRock Amster" }, "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true } } diff --git a/test/e2e/exports/all-separate/classic/realm/root/authenticationModules/ldap.authenticationModules.json b/test/e2e/exports/all-separate/classic/realm/root/authenticationModules/ldap.authenticationModules.json index 5a3a90c46..d10476a61 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/authenticationModules/ldap.authenticationModules.json +++ b/test/e2e/exports/all-separate/classic/realm/root/authenticationModules/ldap.authenticationModules.json @@ -15,7 +15,7 @@ "openam-auth-ldap-connection-mode": "LDAPS", "operationTimeout": 0, "primaryLdapServer": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "profileAttributeMappings": [], "returnUserDN": true, @@ -23,14 +23,14 @@ "secondaryLdapServer": [], "stopLdapbindAfterInmemoryLockedEnabled": false, "trustAllServerCertificates": false, - "userBindDN": "cn=Directory Manager", + "userBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities", "userBindPassword": null, "userProfileRetrievalAttribute": "uid", "userSearchAttributes": [ "uid" ], "userSearchStartDN": [ - "dc=openam,dc=forgerock,dc=org" + "ou=identities" ] } } diff --git a/test/e2e/exports/all-separate/classic/realm/root/conditionTypes/IdmUser.conditionTypes.json b/test/e2e/exports/all-separate/classic/realm/root/conditionTypes/IdmUser.conditionTypes.json new file mode 100644 index 000000000..a340c64d1 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/conditionTypes/IdmUser.conditionTypes.json @@ -0,0 +1,36 @@ +{ + "conditionTypes": { + "IdmUser": { + "_id": "IdmUser", + "config": { + "properties": { + "comparator": { + "enum": [ + "EQUALS", + "CONTAINS", + "STARTS_WITH", + "ENDS_WITH", + "REGEX" + ], + "type": "string" + }, + "decisionField": { + "type": "string" + }, + "identityResource": { + "type": "string" + }, + "queryField": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "logical": false, + "title": "IdmUser" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/conditionTypes/Transaction.conditionTypes.json b/test/e2e/exports/all-separate/classic/realm/root/conditionTypes/Transaction.conditionTypes.json index 37d6f4844..4a269b680 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/conditionTypes/Transaction.conditionTypes.json +++ b/test/e2e/exports/all-separate/classic/realm/root/conditionTypes/Transaction.conditionTypes.json @@ -5,6 +5,13 @@ "config": { "properties": { "authenticationStrategy": { + "enum": [ + "AuthenticateToServiceConditionAdvice", + "AuthenticateToRealmConditionAdvice", + "AuthenticateToTreeConditionAdvice", + "AuthSchemeConditionAdvice", + "AuthLevelConditionAdvice" + ], "type": "string" }, "strategySpecifier": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/Agent.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/Agent.journey.json index 3e13ebd5a..9ebb27278 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/Agent.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/Agent.journey.json @@ -57,6 +57,8 @@ "entryNodeId": "e4da3b7f-bbce-3345-9777-2b0674a318d5", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "a87ff679-a2f3-371d-9181-a67b7542122c": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/Example.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/Example.journey.json index 2cc773d81..1f56b9afe 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/Example.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/Example.journey.json @@ -85,6 +85,8 @@ "entryNodeId": "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf3", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "c4ca4238-a0b9-3382-8dcc-509a6f75849b": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/Facebook-ProvisionIDMAccount.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/Facebook-ProvisionIDMAccount.journey.json index 22a087eeb..6204744e6 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/Facebook-ProvisionIDMAccount.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/Facebook-ProvisionIDMAccount.journey.json @@ -42,7 +42,7 @@ }, "cfgMixUpMitigation": false, "clientId": "aClientId", - "clientSecret": null, + "issuer": "", "provider": "facebook", "redirectURI": "http://localhost:8080/am", "saveUserAttributesToSession": true, @@ -77,6 +77,8 @@ "entryNodeId": "37693cfc-7480-39e4-9d87-b8c7d8b9aacd", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "37693cfc-7480-39e4-9d87-b8c7d8b9aacd": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/Google-AnonymousUser.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/Google-AnonymousUser.journey.json index 9653fc1da..1865b7f16 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/Google-AnonymousUser.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/Google-AnonymousUser.journey.json @@ -57,7 +57,7 @@ }, "cfgMixUpMitigation": false, "clientId": "aClientId", - "clientSecret": null, + "issuer": "", "provider": "google", "redirectURI": "http://localhost:8080/am", "saveUserAttributesToSession": true, @@ -92,6 +92,8 @@ "entryNodeId": "4e732ced-3463-306d-a0ca-9a15b6153677", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "1ff1de77-4005-38da-93f4-2943881c655f": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/Google-DynamicAccountCreation.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/Google-DynamicAccountCreation.journey.json index 83d8c3e9c..3a253dcf4 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/Google-DynamicAccountCreation.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/Google-DynamicAccountCreation.journey.json @@ -72,7 +72,7 @@ }, "cfgMixUpMitigation": false, "clientId": "aClientId", - "clientSecret": null, + "issuer": "", "provider": "google", "redirectURI": "http://localhost:8080/am", "saveUserAttributesToSession": true, @@ -103,7 +103,6 @@ "fromEmailAddress": "admin@example.com", "hostName": "mail.example.com", "hostPort": 25, - "password": null, "smsGatewayImplementationClass": "com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl", "sslOption": "SSL", "username": "admin@example.com" @@ -174,6 +173,8 @@ "entryNodeId": "33e75ff0-9dd6-31bb-a69f-351039152189", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "02e74f10-e032-3ad8-a8d1-38f2b4fdd6f0": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/HmacOneTimePassword.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/HmacOneTimePassword.journey.json index 5548453ca..7d9b31e8a 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/HmacOneTimePassword.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/HmacOneTimePassword.journey.json @@ -94,7 +94,6 @@ "fromEmailAddress": "admin@example.com", "hostName": "mail.example.com", "hostPort": 25, - "password": null, "smsGatewayImplementationClass": "com.sun.identity.authentication.modules.hotp.DefaultSMSGatewayImpl", "sslOption": "SSL", "username": "admin@example.com" @@ -125,6 +124,8 @@ "entryNodeId": "c74d97b0-1eae-357e-84aa-9d5bade97baf", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "1f0e3dad-9990-3345-b743-9f8ffabdffc4": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/Login.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/Login.journey.json new file mode 100644 index 000000000..f6201c962 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/Login.journey.json @@ -0,0 +1,310 @@ +{ + "trees": { + "Login": { + "circlesOfTrust": {}, + "emailTemplates": {}, + "innerNodes": { + "4bacba23-414f-43d5-afbd-abe3b0481521": { + "_id": "4bacba23-414f-43d5-afbd-abe3b0481521", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "ValidatedUsernameNode", + "collection": true, + "name": "Platform Username" + }, + "usernameAttribute": "userName", + "validateInput": false + }, + "5fce2333-58f9-4635-a051-836e75f7f9bb": { + "_id": "5fce2333-58f9-4635-a051-836e75f7f9bb", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "ValidatedPasswordNode", + "collection": true, + "name": "Platform Password" + }, + "passwordAttribute": "password", + "validateInput": false + } + }, + "nodes": { + "470c9fc0-3484-4dea-8642-033e7d35c36a": { + "_id": "470c9fc0-3484-4dea-8642-033e7d35c36a", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "AccountLockoutNode", + "collection": true, + "name": "Account Lockout" + }, + "lockAction": "LOCK" + }, + "6889de95-837a-4648-9fa2-bab8082a205a": { + "_id": "6889de95-837a-4648-9fa2-bab8082a205a", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "ValidatedUsernameNode", + "collection": true, + "name": "Platform Username" + }, + "usernameAttribute": "userName", + "validateInput": false + }, + "70f38c95-78a5-49de-bf00-526c26b49067": { + "_id": "70f38c95-78a5-49de-bf00-526c26b49067", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "IncrementLoginCountNode", + "collection": true, + "name": "Increment Login Count" + }, + "identityAttribute": "userName" + }, + "7efaaec8-0a06-42b4-9de9-d438742b13b3": { + "_id": "7efaaec8-0a06-42b4-9de9-d438742b13b3", + "_outcomes": [ + { + "displayName": "Retry", + "id": "Retry" + }, + { + "displayName": "Reject", + "id": "Reject" + } + ], + "_type": { + "_id": "RetryLimitDecisionNode", + "collection": true, + "name": "Retry Limit Decision" + }, + "incrementUserAttributeOnFailure": true, + "retryLimit": 5 + }, + "9d9384ef-b068-4bca-a25b-18eeb096d1f0": { + "_id": "9d9384ef-b068-4bca-a25b-18eeb096d1f0", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "PageNode", + "collection": true, + "name": "Page Node" + }, + "nodes": [ + { + "_id": "4bacba23-414f-43d5-afbd-abe3b0481521", + "displayName": "Platform Username", + "nodeType": "ValidatedUsernameNode" + }, + { + "_id": "5fce2333-58f9-4635-a051-836e75f7f9bb", + "displayName": "Platform Password", + "nodeType": "ValidatedPasswordNode" + } + ], + "pageDescription": {}, + "pageHeader": {} + }, + "dc983965-b76f-4033-a21b-922fc56d57ff": { + "_id": "dc983965-b76f-4033-a21b-922fc56d57ff", + "_outcomes": [ + { + "displayName": "True", + "id": "true" + }, + { + "displayName": "False", + "id": "false" + } + ], + "_type": { + "_id": "DataStoreDecisionNode", + "collection": true, + "name": "Data Store Decision" + } + }, + "e9bce8c7-e9b1-45fc-b0d2-4813e367d39a": { + "_id": "e9bce8c7-e9b1-45fc-b0d2-4813e367d39a", + "_outcomes": [ + { + "displayName": "True", + "id": "TRUE" + }, + { + "displayName": "False", + "id": "FALSE" + }, + { + "displayName": "Locked", + "id": "LOCKED" + }, + { + "displayName": "Cancelled", + "id": "CANCELLED" + }, + { + "displayName": "Expired", + "id": "EXPIRED" + } + ], + "_type": { + "_id": "LdapDecisionNode", + "collection": true, + "name": "LDAP Decision" + }, + "accountSearchBaseDn": [ + "ou=people,ou=identities" + ], + "adminDn": "uid=admin", + "adminPassword": null, + "affinityLevel": "NONE", + "beheraEnabled": true, + "heartbeatInterval": 10, + "heartbeatTimeUnit": "SECONDS", + "ldapConnectionMode": "LDAP", + "ldapOperationsTimeout": 0, + "minimumPasswordLength": 8, + "mixedCaseForPasswordChangeMessages": false, + "mtlsEnabled": false, + "primaryServers": [ + "opendj-frodo-dev.classic.com:2636" + ], + "returnUserDn": true, + "searchFilterAttributes": [ + "uid" + ], + "searchScope": "SUBTREE", + "secondaryServers": [], + "trustAllServerCertificates": false, + "userCreationAttrs": [], + "userProfileAttribute": "uid" + } + }, + "saml2Entities": {}, + "scripts": {}, + "socialIdentityProviders": {}, + "themes": [], + "tree": { + "_id": "Login", + "enabled": true, + "entryNodeId": "6889de95-837a-4648-9fa2-bab8082a205a", + "innerTreeOnly": false, + "mustRun": false, + "noSession": false, + "nodes": { + "470c9fc0-3484-4dea-8642-033e7d35c36a": { + "connections": { + "outcome": "e301438c-0bd0-429c-ab0c-66126501069a" + }, + "displayName": "Account Lockout", + "nodeType": "AccountLockoutNode", + "x": 618, + "y": 239 + }, + "6889de95-837a-4648-9fa2-bab8082a205a": { + "connections": { + "outcome": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Platform Username", + "nodeType": "ValidatedUsernameNode", + "x": 643, + "y": 524.1000061035156 + }, + "70f38c95-78a5-49de-bf00-526c26b49067": { + "connections": { + "outcome": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Increment Login Count", + "nodeType": "IncrementLoginCountNode", + "x": 498, + "y": 34 + }, + "7efaaec8-0a06-42b4-9de9-d438742b13b3": { + "connections": { + "Reject": "470c9fc0-3484-4dea-8642-033e7d35c36a", + "Retry": "9d9384ef-b068-4bca-a25b-18eeb096d1f0" + }, + "displayName": "Retry Limit Decision", + "nodeType": "RetryLimitDecisionNode", + "x": 506, + "y": 89 + }, + "9d9384ef-b068-4bca-a25b-18eeb096d1f0": { + "connections": { + "outcome": "dc983965-b76f-4033-a21b-922fc56d57ff" + }, + "displayName": "Page Node", + "nodeType": "PageNode", + "x": 140, + "y": 32 + }, + "dc983965-b76f-4033-a21b-922fc56d57ff": { + "connections": { + "false": "7efaaec8-0a06-42b4-9de9-d438742b13b3", + "true": "70f38c95-78a5-49de-bf00-526c26b49067" + }, + "displayName": "Data Store Decision", + "nodeType": "DataStoreDecisionNode", + "x": 317, + "y": 31 + }, + "e9bce8c7-e9b1-45fc-b0d2-4813e367d39a": { + "connections": { + "CANCELLED": "e301438c-0bd0-429c-ab0c-66126501069a", + "EXPIRED": "e301438c-0bd0-429c-ab0c-66126501069a", + "FALSE": "7efaaec8-0a06-42b4-9de9-d438742b13b3", + "LOCKED": "e301438c-0bd0-429c-ab0c-66126501069a", + "TRUE": "70f38c95-78a5-49de-bf00-526c26b49067" + }, + "displayName": "LDAP Decision", + "nodeType": "LdapDecisionNode", + "x": 321, + "y": 453 + } + }, + "staticNodes": { + "70e691a5-1e33-4ac3-a356-e7b6d60d92e0": { + "x": 704, + "y": 55 + }, + "e301438c-0bd0-429c-ab0c-66126501069a": { + "x": 811, + "y": 183 + }, + "startNode": { + "x": 50, + "y": 25 + } + }, + "uiConfig": {} + } + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/PersistentCookie.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/PersistentCookie.journey.json index 3cb226bc9..c1cc2a56f 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/PersistentCookie.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/PersistentCookie.journey.json @@ -32,7 +32,6 @@ "collection": true, "name": "Set Persistent Cookie" }, - "hmacSigningKey": null, "idleTimeout": 5, "maxLife": 5, "persistentCookieName": "session-jwt", @@ -57,7 +56,6 @@ "name": "Persistent Cookie Decision" }, "enforceClientIp": false, - "hmacSigningKey": null, "idleTimeout": 5, "persistentCookieName": "session-jwt", "useHttpOnlyCookie": true, @@ -107,6 +105,8 @@ "entryNodeId": "aab32389-22bc-325a-af60-6eb525ffdc56", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "6512bd43-d9ca-36e0-ac99-0b0a82652dca": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformForgottenUsername.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformForgottenUsername.journey.json index 6a2786329..be774533f 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformForgottenUsername.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformForgottenUsername.journey.json @@ -43,6 +43,7 @@ "collection": true, "name": "Inner Tree Evaluator" }, + "displayErrorOutcome": false, "tree": "PlatformLogin" }, "9f61408e-3afb-333e-90cd-f1b20de6f466": { @@ -111,6 +112,7 @@ "collection": true, "name": "Identify Existing User" }, + "identifier": "userName", "identityAttribute": "mail" } }, @@ -125,6 +127,8 @@ "entryNodeId": "a684ecee-e76f-3522-b732-86a895bc8436", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "72b32a1f-754b-31c0-9b36-95e0cb6cde7f": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformLogin.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformLogin.journey.json index 671d3ccdc..37d826b45 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformLogin.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformLogin.journey.json @@ -70,6 +70,7 @@ "collection": true, "name": "Inner Tree Evaluator" }, + "displayErrorOutcome": false, "tree": "PlatformProgressiveProfile" }, "c0c7c76d-30bd-3dca-afc9-6f40275bdc0a": { @@ -135,6 +136,8 @@ "entryNodeId": "f457c545-a9de-388f-98ec-ee47145a72c0", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "2838023a-778d-3aec-9c21-2708f721b788": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformProgressiveProfile.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformProgressiveProfile.journey.json index feb05fcd6..c76db5a8d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformProgressiveProfile.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformProgressiveProfile.journey.json @@ -128,6 +128,8 @@ "entryNodeId": "a1d0c6e8-3f02-3327-9846-1063f4ac58a6", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "17e62166-fc85-36df-a4d1-bc0e1742c08b": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformRegistration.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformRegistration.journey.json index 870a0b012..43cea01cf 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformRegistration.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformRegistration.journey.json @@ -188,6 +188,8 @@ "entryNodeId": "d67d8ab4-f4c1-3bf2-aaa3-53e27879133c", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "3416a75f-4cea-3109-907c-acd8e2f2aefc": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformResetPassword.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformResetPassword.journey.json index dfa5b2ace..b1cc6abc9 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformResetPassword.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformResetPassword.journey.json @@ -173,6 +173,8 @@ "entryNodeId": "093f65e0-80a2-35f8-876b-1c5722a46aa2", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "03afdbd6-6e79-39b1-a5f8-597834fa83a4": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformUpdatePassword.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformUpdatePassword.journey.json index 512542fcf..93b2011e0 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformUpdatePassword.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/PlatformUpdatePassword.journey.json @@ -205,6 +205,8 @@ "entryNodeId": "fc490ca4-5c00-3124-9bbe-3554a4fdf6fb", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "14bfa6bb-1487-3e45-bba0-28a21ed38046": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/RetryLimit.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/RetryLimit.journey.json index f3b7b59ff..e6cd423d1 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/RetryLimit.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/RetryLimit.journey.json @@ -98,6 +98,8 @@ "entryNodeId": "1679091c-5a88-3faf-afb5-e6087eb1b2dc", "identityResource": "null", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "1679091c-5a88-3faf-afb5-e6087eb1b2dc": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/amsterService.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/amsterService.journey.json new file mode 100644 index 000000000..c006ba50c --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/amsterService.journey.json @@ -0,0 +1,57 @@ +{ + "trees": { + "amsterService": { + "circlesOfTrust": {}, + "emailTemplates": {}, + "innerNodes": {}, + "nodes": { + "cfcd2084-95d5-35ef-a6e7-d7f9f98764db": { + "_id": "cfcd2084-95d5-35ef-a6e7-d7f9f98764db", + "_outcomes": [ + { + "displayName": "True", + "id": "true" + }, + { + "displayName": "False", + "id": "false" + } + ], + "_type": { + "_id": "AmsterJwtDecisionNode", + "collection": true, + "name": "Amster Jwt Decision Node" + }, + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys" + } + }, + "saml2Entities": {}, + "scripts": {}, + "socialIdentityProviders": {}, + "themes": [], + "tree": { + "_id": "amsterService", + "description": "null", + "enabled": true, + "entryNodeId": "cfcd2084-95d5-35ef-a6e7-d7f9f98764db", + "identityResource": "null", + "innerTreeOnly": false, + "mustRun": false, + "noSession": false, + "nodes": { + "cfcd2084-95d5-35ef-a6e7-d7f9f98764db": { + "connections": { + "false": "e301438c-0bd0-429c-ab0c-66126501069a", + "true": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Amster Jwt Decision Node", + "nodeType": "AmsterJwtDecisionNode", + "x": 0, + "y": 0 + } + }, + "uiConfig": {} + } + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/ldapService.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/ldapService.journey.json new file mode 100644 index 000000000..082d32341 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/ldapService.journey.json @@ -0,0 +1,159 @@ +{ + "trees": { + "ldapService": { + "circlesOfTrust": {}, + "emailTemplates": {}, + "innerNodes": { + "c4ca4238-a0b9-3382-8dcc-509a6f75849c": { + "_id": "c4ca4238-a0b9-3382-8dcc-509a6f75849c", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "PasswordCollectorNode", + "collection": true, + "name": "Password Collector" + } + }, + "cfcd2084-95d5-35ef-a6e7-dff9f98764db": { + "_id": "cfcd2084-95d5-35ef-a6e7-dff9f98764db", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "UsernameCollectorNode", + "collection": true, + "name": "Username Collector" + } + } + }, + "nodes": { + "6c8349cc-7260-3e62-a3b1-396831a8398a": { + "_id": "6c8349cc-7260-3e62-a3b1-396831a8398a", + "_outcomes": [ + { + "displayName": "Outcome", + "id": "outcome" + } + ], + "_type": { + "_id": "PageNode", + "collection": true, + "name": "Page Node" + }, + "nodes": [ + { + "_id": "cfcd2084-95d5-35ef-a6e7-dff9f98764db", + "displayName": "User Name Collector", + "nodeType": "UsernameCollectorNode" + }, + { + "_id": "c4ca4238-a0b9-3382-8dcc-509a6f75849c", + "displayName": "Password Collector", + "nodeType": "PasswordCollectorNode" + } + ], + "pageDescription": { + "en": "" + }, + "pageHeader": { + "en": "Sign In" + }, + "stage": "null" + }, + "c81e728d-9d4c-3f63-af06-7f89cc14862d": { + "_id": "c81e728d-9d4c-3f63-af06-7f89cc14862d", + "_outcomes": [ + { + "displayName": "True", + "id": "true" + }, + { + "displayName": "False", + "id": "false" + } + ], + "_type": { + "_id": "DataStoreDecisionNode", + "collection": true, + "name": "Data Store Decision" + } + }, + "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5": { + "_id": "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5", + "_outcomes": [ + { + "displayName": "Has Credentials", + "id": "true" + }, + { + "displayName": "No Credentials", + "id": "false" + } + ], + "_type": { + "_id": "ZeroPageLoginNode", + "collection": true, + "name": "Zero Page Login Collector" + }, + "allowWithoutReferer": true, + "passwordHeader": "X-OpenAM-Password", + "referrerWhiteList": [], + "usernameHeader": "X-OpenAM-Username" + } + }, + "saml2Entities": {}, + "scripts": {}, + "socialIdentityProviders": {}, + "themes": [], + "tree": { + "_id": "ldapService", + "description": "null", + "enabled": true, + "entryNodeId": "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5", + "identityResource": "null", + "innerTreeOnly": false, + "mustRun": false, + "noSession": false, + "nodes": { + "6c8349cc-7260-3e62-a3b1-396831a8398a": { + "connections": { + "outcome": "c81e728d-9d4c-3f63-af06-7f89cc14862d" + }, + "displayName": "Page Node", + "nodeType": "PageNode", + "x": 0, + "y": 0 + }, + "c81e728d-9d4c-3f63-af06-7f89cc14862d": { + "connections": { + "false": "e301438c-0bd0-429c-ab0c-66126501069a", + "true": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0" + }, + "displayName": "Data Store Decision", + "nodeType": "DataStoreDecisionNode", + "x": 0, + "y": 0 + }, + "eccbc87e-4b5c-32fe-a830-8fd9f2a7baf5": { + "connections": { + "false": "6c8349cc-7260-3e62-a3b1-396831a8398a", + "true": "c81e728d-9d4c-3f63-af06-7f89cc14862d" + }, + "displayName": "Zero Page Login Collector", + "nodeType": "ZeroPageLoginNode", + "x": 0, + "y": 0 + } + }, + "uiConfig": {} + } + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/oath_registration.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/oath_registration.journey.json index 8be4ee7a9..07699383b 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/oath_registration.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/oath_registration.journey.json @@ -78,6 +78,7 @@ "algorithm": "TOTP", "bgColor": "032b75", "generateRecoveryCodes": true, + "imgUrl": "", "issuer": "ForgeRock", "minSharedSecretLength": 32, "passwordLength": "SIX_DIGITS", @@ -154,6 +155,8 @@ "enabled": true, "entryNodeId": "fc5481db-cbee-479f-915a-2b40c54ce04e", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "35ca2418-908d-4b92-9320-ef8576851abb": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/push_registration.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/push_registration.journey.json index eaeea9bdf..7000570d5 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/push_registration.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/push_registration.journey.json @@ -163,6 +163,7 @@ "accountName": "USERNAME", "bgColor": "032b75", "generateRecoveryCodes": true, + "imgUrl": "", "issuer": "ForgeRock", "scanQRCodeMessage": {}, "timeout": 60 @@ -199,6 +200,8 @@ "enabled": true, "entryNodeId": "07bc635b-5a3f-461b-87ee-e76c9fa22738", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "07bc635b-5a3f-461b-87ee-e76c9fa22738": { "connections": {}, diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/six.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/six.journey.json index d5030ae92..eaf7c02eb 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/six.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/six.journey.json @@ -111,6 +111,8 @@ "enabled": true, "entryNodeId": "e301438c-0bd0-429c-ab0c-66126501069a", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "295a70ba-2b67-4a48-bf13-237ce0a55450": { "connections": {}, diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/test.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/test.journey.json index e3f5598b7..ee386ed5e 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/test.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/test.journey.json @@ -14,6 +14,8 @@ "enabled": true, "entryNodeId": "d26176be-ea6f-4f2a-81cd-3d41dd6cee4d", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": {}, "staticNodes": { "70e691a5-1e33-4ac3-a356-e7b6d60d92e0": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/journey/webauthn_registration.journey.json b/test/e2e/exports/all-separate/classic/realm/root/journey/webauthn_registration.journey.json index 71f7cc489..a5ded0ab8 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/journey/webauthn_registration.journey.json +++ b/test/e2e/exports/all-separate/classic/realm/root/journey/webauthn_registration.journey.json @@ -72,6 +72,7 @@ "authenticatorAttachment": "UNSPECIFIED", "enforceRevocationCheck": false, "excludeCredentials": false, + "fidoCertificationLevel": "OFF", "generateRecoveryCodes": true, "maxSavedDevices": 0, "origins": [], @@ -81,7 +82,8 @@ "storeAttestationDataInTransientState": false, "timeout": 60, "trustStoreAlias": "trustalias", - "userVerificationRequirement": "PREFERRED" + "userVerificationRequirement": "PREFERRED", + "validateFidoU2fAaguid": true }, "807106ff-fb66-469e-93bb-4e0834f6c875": { "_id": "807106ff-fb66-469e-93bb-4e0834f6c875", @@ -159,6 +161,7 @@ "name": "WebAuthn Authentication Node" }, "asScript": true, + "detectSignCountMismatch": false, "isRecoveryCodeAllowed": false, "origins": [], "requiresResidentKey": false, @@ -175,6 +178,8 @@ "enabled": true, "entryNodeId": "807106ff-fb66-469e-93bb-4e0834f6c875", "innerTreeOnly": false, + "mustRun": false, + "noSession": false, "nodes": { "72ef6e1d-930c-4bed-922a-850815d98ea1": { "connections": { diff --git a/test/e2e/exports/all-separate/classic/realm/root/oauth2.app/test-client.oauth2.app.json b/test/e2e/exports/all-separate/classic/realm/root/oauth2.app/test-client.oauth2.app.json index bc6d9c392..d6ad90910 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/oauth2.app/test-client.oauth2.app.json +++ b/test/e2e/exports/all-separate/classic/realm/root/oauth2.app/test-client.oauth2.app.json @@ -33,6 +33,7 @@ "urn:ietf:params:oauth:grant-type:jwt-bearer" ], "hashSalt": "changeme", + "includeClientIdClaimInStatelessTokens": true, "includeSubnameInTokenClaims": true, "macaroonTokenFormat": "V2", "maxAgeOfRequestObjectNbfClaim": 0, @@ -57,7 +58,7 @@ ], "tlsCertificateBoundAccessTokensEnabled": true, "tlsCertificateRevocationCheckingEnabled": false, - "tlsClientCertificateHeaderFormat": "URLENCODED_PEM", + "tlsClientCertificateHeaderFormat": "BASE64_ENCODED_CERT", "tokenCompressionEnabled": false, "tokenEncryptionEnabled": false, "tokenExchangeClasses": [ @@ -244,6 +245,7 @@ "clientDynamicRegistrationConfig": { "allowDynamicRegistration": false, "dynamicClientRegistrationScope": "dynamic_client_registration", + "dynamicClientRegistrationScript": "[Empty]", "dynamicClientRegistrationSoftwareStatementRequired": false, "generateRegistrationAccessTokens": true, "requiredSoftwareStatementAttestedAttributes": [ diff --git a/test/e2e/exports/all-separate/classic/realm/root/policy/Test-Policy.policy.json b/test/e2e/exports/all-separate/classic/realm/root/policy/Test-Policy.policy.json index 5bc895162..bd049d1c8 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/policy/Test-Policy.policy.json +++ b/test/e2e/exports/all-separate/classic/realm/root/policy/Test-Policy.policy.json @@ -5,11 +5,11 @@ "actionValues": {}, "active": true, "applicationName": "iPlanetAMWebAgentService", - "createdBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "creationDate": "2024-06-27T17:07:04.220Z", + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": "2025-07-14T20:45:14.452Z", "description": "", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": "2024-10-09T21:36:26.771Z", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": "2025-07-14T22:52:54.59Z", "name": "Test Policy", "resourceTypeUuid": "76656a38-5f8e-401b-83aa-4ccb74ce88d2", "resources": [ diff --git a/test/e2e/exports/all-separate/classic/realm/root/policyset/iPlanetAMWebAgentService.policyset.json b/test/e2e/exports/all-separate/classic/realm/root/policyset/iPlanetAMWebAgentService.policyset.json index 71ffce3ec..672a766b1 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/policyset/iPlanetAMWebAgentService.policyset.json +++ b/test/e2e/exports/all-separate/classic/realm/root/policyset/iPlanetAMWebAgentService.policyset.json @@ -30,8 +30,8 @@ "displayName": "Default Policy Set", "editable": true, "entitlementCombiner": "DenyOverride", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786744, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533574036, "name": "iPlanetAMWebAgentService", "resourceComparator": null, "resourceTypeUuids": [ diff --git a/test/e2e/exports/all-separate/classic/realm/root/policyset/oauth2Scopes.policyset.json b/test/e2e/exports/all-separate/classic/realm/root/policyset/oauth2Scopes.policyset.json index 355d48b69..c78c09c1e 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/policyset/oauth2Scopes.policyset.json +++ b/test/e2e/exports/all-separate/classic/realm/root/policyset/oauth2Scopes.policyset.json @@ -30,8 +30,8 @@ "displayName": "Default OAuth2 Scopes Policy Set", "editable": true, "entitlementCombiner": "DenyOverride", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786761, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533574047, "name": "oauth2Scopes", "resourceComparator": null, "resourceTypeUuids": [ diff --git a/test/e2e/exports/all-separate/classic/realm/root/resourcetype/OAuth2-Scope.resourcetype.json b/test/e2e/exports/all-separate/classic/realm/root/resourcetype/OAuth2-Scope.resourcetype.json index aa5422ae9..3053037f9 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/resourcetype/OAuth2-Scope.resourcetype.json +++ b/test/e2e/exports/all-separate/classic/realm/root/resourcetype/OAuth2-Scope.resourcetype.json @@ -7,8 +7,8 @@ "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", "creationDate": 1517161800564, "description": "The built-in OAuth2 Scope Resource Type for OAuth2 policy-provided scope.", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786611, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533573927, "name": "OAuth2 Scope", "patterns": [ "*://*:*/*", diff --git a/test/e2e/exports/all-separate/classic/realm/root/resourcetype/URL.resourcetype.json b/test/e2e/exports/all-separate/classic/realm/root/resourcetype/URL.resourcetype.json index 43ccc4e5f..96b4e7d51 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/resourcetype/URL.resourcetype.json +++ b/test/e2e/exports/all-separate/classic/realm/root/resourcetype/URL.resourcetype.json @@ -13,8 +13,8 @@ "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", "creationDate": 1422892465848, "description": "The built-in URL Resource Type available to OpenAM Policies.", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786629, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533573913, "name": "URL", "patterns": [ "*://*:*/*", diff --git a/test/e2e/exports/all-separate/classic/realm/root/saml/Test-Entity.saml.json b/test/e2e/exports/all-separate/classic/realm/root/saml/Test-Entity.saml.json index bdb287e60..8a0abb30a 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/saml/Test-Entity.saml.json +++ b/test/e2e/exports/all-separate/classic/realm/root/saml/Test-Entity.saml.json @@ -170,6 +170,7 @@ "includeRequestedAuthenticationContext": true }, "basicAuthentication": {}, + "clientAuthentication": {}, "nameIdFormat": { "nameIdFormatList": [ "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", @@ -275,60 +276,6 @@ "", "", " ", - " ", - " ", - " ", - " ", - "MIIDdzCCAl+gAwIBAgIES3eb+zANBgkqhkiG9w0BAQsFADBsMRAwDgYDVQQGEwdVbmtub3duMRAw", - "DgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYDVQQKEwdVbmtub3duMRAwDgYD", - "VQQLEwdVbmtub3duMRAwDgYDVQQDEwdVbmtub3duMB4XDTE2MDUyNDEzNDEzN1oXDTI2MDUyMjEz", - "NDEzN1owbDEQMA4GA1UEBhMHVW5rbm93bjEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5r", - "bm93bjEQMA4GA1UEChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93", - "bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANdIhkOZeSHagT9ZecG+QQwWaUsi7OMv", - "1JvpBr/7HtAZEZMDGWrxg/zao6vMd/nyjSOOZ1OxOwjgIfII5+iwl37oOexEH4tIDoCoToVXC5iq", - "iBFz5qnmoLzJ3bF1iMupPFjz8Ac0pDeTwyygVyhv19QcFbzhPdu+p68epSatwoDW5ohIoaLzbf+o", - "OaQsYkmqyJNrmht091XuoVCazNFt+UJqqzTPay95Wj4F7Qrs+LCSTd6xp0Kv9uWG1GsFvS9TE1W6", - "isVosjeVm16FlIPLaNQ4aEJ18w8piDIRWuOTUy4cbXR/Qg6a11l1gWls6PJiBXrOciOACVuGUoNT", - "zztlCUkCAwEAAaMhMB8wHQYDVR0OBBYEFMm4/1hF4WEPYS5gMXRmmH0gs6XjMA0GCSqGSIb3DQEB", - "CwUAA4IBAQDVH/Md9lCQWxbSbie5lPdPLB72F4831glHlaqms7kzAM6IhRjXmd0QTYq3Ey1J88KS", - "Df8A0HUZefhudnFaHmtxFv0SF5VdMUY14bJ9UsxJ5f4oP4CVh57fHK0w+EaKGGIw6TQEkL5L/+5Q", - "ZZAywKgPz67A3o+uk45aKpF3GaNWjGRWEPqcGkyQ0sIC2o7FUTV+MV1KHDRuBgreRCEpqMoY5XGX", - "e/IJc1EJLFDnsjIOQU1rrUzfM+WP/DigEQTPpkKWHJpouP+LLrGRj2ziYVbBDveP8KtHvLFsnexA", - "/TidjOOxChKSLT9LYFyQqsvUyCagBb4aLs009kbW6inN8zA6", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "MIIDYTCCAkmgAwIBAgIEFt4OQjANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJVSzEQMA4GA1UE", - "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMQswCQYDVQQL", - "EwJBTTENMAsGA1UEAxMEdGVzdDAeFw0xODA0MDMxNDIwNThaFw0yODAzMzExNDIwNThaMGExCzAJ", - "BgNVBAYTAlVLMRAwDgYDVQQIEwdCcmlzdG9sMRAwDgYDVQQHEwdCcmlzdG9sMRIwEAYDVQQKEwlG", - "b3JnZVJvY2sxCzAJBgNVBAsTAkFNMQ0wCwYDVQQDEwR0ZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOC", - "AQ8AMIIBCgKCAQEAi7t6m4d/02dZ8dOe+DFcuUYiOWueHlNkFwdUfOs06eUETOV6Y9WCXu3D71db", - "F0Fhou69ez5c3HAZrSVS2qC1Htw9NkVlLDeED7qwQQMmSr7RFYNQ6BYekAtn/ScFHpq8Tx4BzhcD", - "b6P0+PHCo+bkQedxwhbMD412KSM2UAVQaZ+TW+ngdaaVEs1Cgl4b8xxZ9ZuApXZfpddNdgvjBeeY", - "QbZnaqU3b0P5YE0s0YvIQqYmTjxh4RyLfkt6s/BS1obWUOC+0ChRWlpWE7QTEVEWJP5yt8hgZ5Me", - "cTmBi3yZ/0ts3NsL83413NdbWYh+ChtP696mZbJozflF8jR9pewTbQIDAQABoyEwHzAdBgNVHQ4E", - "FgQUDAvAglxsoXuEwI2NT1hFtVww2SUwDQYJKoZIhvcNAQELBQADggEBADiHqUwRlq1xdHP7S387", - "vMLOr+/OUgNvDUogeyrpdj5vFve/CBxSFlcoY215eE0xzj2+bQoe5To3s8CWkP9hqB3EdhaRBfCr", - "d8Vpvu8xBZcxQzmqwNjmeDrxNpKes717t05fDGgygUM8xIBs29JwRzHzf7e0ByJjn9fvlUjDAGZ7", - "emCTN382F2iOeLC2ibVl7dpmsWZTINhQRbmq5L4ztOcjITk5WZnBF439oRRn68fWZVkOv2UqaKbk", - "uMjgotNuot+ebHtOchEiwKz8VAK7O3/IgD6rfNBfz+c/WeoPcrfQBR4zfizw/ioR115RSywifzlw", - "q5yziqyU04eP4wLr3cM=", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " 128", - " ", - " ", " ", " ", " ", @@ -351,60 +298,6 @@ " ", " ", " ", - " ", - " ", - " ", - " ", - "MIIDdzCCAl+gAwIBAgIES3eb+zANBgkqhkiG9w0BAQsFADBsMRAwDgYDVQQGEwdVbmtub3duMRAw", - "DgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYDVQQKEwdVbmtub3duMRAwDgYD", - "VQQLEwdVbmtub3duMRAwDgYDVQQDEwdVbmtub3duMB4XDTE2MDUyNDEzNDEzN1oXDTI2MDUyMjEz", - "NDEzN1owbDEQMA4GA1UEBhMHVW5rbm93bjEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5r", - "bm93bjEQMA4GA1UEChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93", - "bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANdIhkOZeSHagT9ZecG+QQwWaUsi7OMv", - "1JvpBr/7HtAZEZMDGWrxg/zao6vMd/nyjSOOZ1OxOwjgIfII5+iwl37oOexEH4tIDoCoToVXC5iq", - "iBFz5qnmoLzJ3bF1iMupPFjz8Ac0pDeTwyygVyhv19QcFbzhPdu+p68epSatwoDW5ohIoaLzbf+o", - "OaQsYkmqyJNrmht091XuoVCazNFt+UJqqzTPay95Wj4F7Qrs+LCSTd6xp0Kv9uWG1GsFvS9TE1W6", - "isVosjeVm16FlIPLaNQ4aEJ18w8piDIRWuOTUy4cbXR/Qg6a11l1gWls6PJiBXrOciOACVuGUoNT", - "zztlCUkCAwEAAaMhMB8wHQYDVR0OBBYEFMm4/1hF4WEPYS5gMXRmmH0gs6XjMA0GCSqGSIb3DQEB", - "CwUAA4IBAQDVH/Md9lCQWxbSbie5lPdPLB72F4831glHlaqms7kzAM6IhRjXmd0QTYq3Ey1J88KS", - "Df8A0HUZefhudnFaHmtxFv0SF5VdMUY14bJ9UsxJ5f4oP4CVh57fHK0w+EaKGGIw6TQEkL5L/+5Q", - "ZZAywKgPz67A3o+uk45aKpF3GaNWjGRWEPqcGkyQ0sIC2o7FUTV+MV1KHDRuBgreRCEpqMoY5XGX", - "e/IJc1EJLFDnsjIOQU1rrUzfM+WP/DigEQTPpkKWHJpouP+LLrGRj2ziYVbBDveP8KtHvLFsnexA", - "/TidjOOxChKSLT9LYFyQqsvUyCagBb4aLs009kbW6inN8zA6", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "MIIDYTCCAkmgAwIBAgIEFt4OQjANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJVSzEQMA4GA1UE", - "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMQswCQYDVQQL", - "EwJBTTENMAsGA1UEAxMEdGVzdDAeFw0xODA0MDMxNDIwNThaFw0yODAzMzExNDIwNThaMGExCzAJ", - "BgNVBAYTAlVLMRAwDgYDVQQIEwdCcmlzdG9sMRAwDgYDVQQHEwdCcmlzdG9sMRIwEAYDVQQKEwlG", - "b3JnZVJvY2sxCzAJBgNVBAsTAkFNMQ0wCwYDVQQDEwR0ZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOC", - "AQ8AMIIBCgKCAQEAi7t6m4d/02dZ8dOe+DFcuUYiOWueHlNkFwdUfOs06eUETOV6Y9WCXu3D71db", - "F0Fhou69ez5c3HAZrSVS2qC1Htw9NkVlLDeED7qwQQMmSr7RFYNQ6BYekAtn/ScFHpq8Tx4BzhcD", - "b6P0+PHCo+bkQedxwhbMD412KSM2UAVQaZ+TW+ngdaaVEs1Cgl4b8xxZ9ZuApXZfpddNdgvjBeeY", - "QbZnaqU3b0P5YE0s0YvIQqYmTjxh4RyLfkt6s/BS1obWUOC+0ChRWlpWE7QTEVEWJP5yt8hgZ5Me", - "cTmBi3yZ/0ts3NsL83413NdbWYh+ChtP696mZbJozflF8jR9pewTbQIDAQABoyEwHzAdBgNVHQ4E", - "FgQUDAvAglxsoXuEwI2NT1hFtVww2SUwDQYJKoZIhvcNAQELBQADggEBADiHqUwRlq1xdHP7S387", - "vMLOr+/OUgNvDUogeyrpdj5vFve/CBxSFlcoY215eE0xzj2+bQoe5To3s8CWkP9hqB3EdhaRBfCr", - "d8Vpvu8xBZcxQzmqwNjmeDrxNpKes717t05fDGgygUM8xIBs29JwRzHzf7e0ByJjn9fvlUjDAGZ7", - "emCTN382F2iOeLC2ibVl7dpmsWZTINhQRbmq5L4ztOcjITk5WZnBF439oRRn68fWZVkOv2UqaKbk", - "uMjgotNuot+ebHtOchEiwKz8VAK7O3/IgD6rfNBfz+c/WeoPcrfQBR4zfizw/ioR115RSywifzlw", - "q5yziqyU04eP4wLr3cM=", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " 128", - " ", - " ", " ", " ", " ", diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Amazon-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Amazon-Profile-Normalization.script.json index cd850b54c..c1cd8a3d9 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Amazon-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Amazon-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30": { "_id": "6b3cfd48-62d3-48ff-a96f-fe8f3a22ab30", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Amazon", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937017, "name": "Amazon Profile Normalization", "script": "file://Amazon-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Apple-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Apple-Profile-Normalization.script.json index 75d8730d4..33b43e787 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Apple-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Apple-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "484e6246-dbc6-4288-97e6-54e55431402e": { "_id": "484e6246-dbc6-4288-97e6-54e55431402e", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Apple", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936947, "name": "Apple Profile Normalization", "script": "file://Apple-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Authentication-Tree-Decision-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Authentication-Tree-Decision-Node-Script.script.json index bac191479..17167e5a4 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Authentication-Tree-Decision-Node-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Authentication-Tree-Decision-Node-Script.script.json @@ -3,14 +3,14 @@ "01e1a3c0-038b-4c16-956a-6c9d89328cff": { "_id": "01e1a3c0-038b-4c16-956a-6c9d89328cff", "context": "AUTHENTICATION_TREE_DECISION_NODE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for a scripted decision node", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936730, "name": "Authentication Tree Decision Node Script", "script": "file://Authentication-Tree-Decision-Node-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Config-Provider-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Config-Provider-Node-Script.script.json index 5448e5b0d..28060d01c 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Config-Provider-Node-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Config-Provider-Node-Script.script.json @@ -3,14 +3,14 @@ "5e854779-6ec1-4c39-aeba-0477e0986646": { "_id": "5e854779-6ec1-4c39-aeba-0477e0986646", "context": "CONFIG_PROVIDER_NODE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Script to provide values for a config provider node", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936992, "name": "Config Provider Node Script", "script": "file://Config-Provider-Node-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Device-Id-(Match)-Client-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Device-Id-(Match)-Client-Side.script.json index d532e222d..009b1b643 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Device-Id-(Match)-Client-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Device-Id-(Match)-Client-Side.script.json @@ -3,14 +3,14 @@ "157298c0-7d31-4059-a95b-eeb08473b7e5": { "_id": "157298c0-7d31-4059-a95b-eeb08473b7e5", "context": "AUTHENTICATION_CLIENT_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for client side Device Id (Match) Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936771, "name": "Device Id (Match) - Client Side", "script": "file://Device-Id-(Match)-Client-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Device-Id-(Match)-Server-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Device-Id-(Match)-Server-Side.script.json index 3485db70b..6e7444efd 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Device-Id-(Match)-Server-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Device-Id-(Match)-Server-Side.script.json @@ -3,14 +3,14 @@ "703dab1a-1921-4981-98dd-b8e5349d8548": { "_id": "703dab1a-1921-4981-98dd-b8e5349d8548", "context": "AUTHENTICATION_SERVER_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for server side Device Id (Match) Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937041, "name": "Device Id (Match) - Server Side", "script": "file://Device-Id-(Match)-Server-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Device-Profile-Match-Template-Decision-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Device-Profile-Match-Template-Decision-Node-Script.script.json index 865226ed8..b2a132012 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Device-Profile-Match-Template-Decision-Node-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Device-Profile-Match-Template-Decision-Node-Script.script.json @@ -3,14 +3,14 @@ "13e3f263-9cd3-4844-8d1c-040fd0dd02eb": { "_id": "13e3f263-9cd3-4844-8d1c-040fd0dd02eb", "context": "AUTHENTICATION_TREE_DECISION_NODE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script template for Device Profile Match decision node script for Authentication Tree", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936757, "name": "Device Profile Match Template - Decision Node Script", "script": "file://Device-Profile-Match-Template-Decision-Node-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Element-NameID-Mapper.script.js b/test/e2e/exports/all-separate/classic/realm/root/script/Element-NameID-Mapper.script.js new file mode 100644 index 000000000..40fa420ec --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Element-NameID-Mapper.script.js @@ -0,0 +1 @@ +identity.getAttributeValues("uid")[0]; diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Element-NameID-Mapper.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Element-NameID-Mapper.script.json new file mode 100644 index 000000000..58bc68ce9 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Element-NameID-Mapper.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "046d1344-8ef1-4e67-8d2a-28fd9266f44e": { + "_id": "046d1344-8ef1-4e67-8d2a-28fd9266f44e", + "context": "SAML2_NAMEID_MAPPER", + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": 1748630811197, + "default": false, + "description": null, + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1748630957225, + "name": "Element NameID Mapper", + "script": "file://Element-NameID-Mapper.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Facebook-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Facebook-Profile-Normalization.script.json index 9e64ea37c..624c778f5 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Facebook-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Facebook-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "bae1d54a-e97d-4997-aa5d-c027f21af82c": { "_id": "bae1d54a-e97d-4997-aa5d-c027f21af82c", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Facebook", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937150, "name": "Facebook Profile Normalization", "script": "file://Facebook-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/GitHub-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/GitHub-Profile-Normalization.script.json index c42d44733..092b92abe 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/GitHub-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/GitHub-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "a7a78773-445b-4eca-bb93-409e86bced81": { "_id": "a7a78773-445b-4eca-bb93-409e86bced81", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from GitHub", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937134, "name": "GitHub Profile Normalization", "script": "file://GitHub-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Google-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Google-Profile-Normalization.script.json index 9b6990cb6..344f54bf0 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Google-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Google-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "58d29080-4563-480b-89bb-1e7719776a21": { "_id": "58d29080-4563-480b-89bb-1e7719776a21", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Google", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936980, "name": "Google Profile Normalization", "script": "file://Google-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Instagram-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Instagram-Profile-Normalization.script.json index 79b1a10c0..892b6c3b0 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Instagram-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Instagram-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "1244e639-4a31-401d-ab61-d75133d8dc9e": { "_id": "1244e639-4a31-401d-ab61-d75133d8dc9e", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Instagram", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936742, "name": "Instagram Profile Normalization", "script": "file://Instagram-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Itsme-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Itsme-Profile-Normalization.script.json index 987af65c2..9ee578076 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Itsme-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Itsme-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "3d97c436-42c0-4dd0-a571-ea6f34f752b3": { "_id": "3d97c436-42c0-4dd0-a571-ea6f34f752b3", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Itsme", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936854, "name": "Itsme Profile Normalization", "script": "file://Itsme-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/LINE-Profile-Normalization.script.groovy b/test/e2e/exports/all-separate/classic/realm/root/script/LINE-Profile-Normalization.script.groovy new file mode 100644 index 000000000..145d8d7a1 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/LINE-Profile-Normalization.script.groovy @@ -0,0 +1,44 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ + + +import static org.forgerock.json.JsonValue.field +import static org.forgerock.json.JsonValue.fieldIfNotNull +import static org.forgerock.json.JsonValue.json +import static org.forgerock.json.JsonValue.object + +// LINE does not return the email from the userInfo endpoint but should return it from the token endpoint and therefore +// it should be set in the shared state +var email = null +var username = null +var firstName = null +var lastName = null + +if (sharedState.get("claims_set") != null && sharedState.get("claims_set").email != null) { + email = sharedState.get("claims_set").email + username = email +} else { + // Ensure that your LINE provider is configured to provide users' email addresses + throw new Exception("Email is required") +} + +if (rawProfile.isDefined("name") && rawProfile.name.isNotNull()) { + var splitName = rawProfile.name.asString().split(" ") + firstName = splitName[0] + lastName = splitName[-1] +} + +return json(object( + field("id", rawProfile.sub), + field("displayName", rawProfile.name), + field("photoUrl", rawProfile.picture), + field("email", email), + fieldIfNotNull("givenName", firstName), + fieldIfNotNull("familyName", lastName), + field("username", username))) diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/LINE-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/LINE-Profile-Normalization.script.json new file mode 100644 index 000000000..a0d5e698a --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/LINE-Profile-Normalization.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "60609c1a-4cef-4729-a417-354aafdebf3f": { + "_id": "60609c1a-4cef-4729-a417-354aafdebf3f", + "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Normalizes raw profile data from LINE", + "evaluatorVersion": "1.0", + "language": "GROOVY", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "LINE Profile Normalization", + "script": "file://LINE-Profile-Normalization.script.groovy" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Legacy.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Legacy.script.json index 08cbee035..bfee17ae8 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Legacy.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Legacy.script.json @@ -3,14 +3,14 @@ "1817cc25-fc84-4053-8f91-4ef130616e25": { "_id": "1817cc25-fc84-4053-8f91-4ef130616e25", "context": "OIDC_CLAIMS", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": 1752525913030, "default": false, "description": "null", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533573719, "name": "Legacy", "script": "file://Legacy.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Library-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Library-Script.script.json index 0e203020c..0f43112fb 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Library-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Library-Script.script.json @@ -3,8 +3,8 @@ "6c49bebe-3a62-11ed-a261-0242ac120002": { "_id": "6c49bebe-3a62-11ed-a261-0242ac120002", "context": "LIBRARY", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global library script to be referenced from other scripts", "evaluatorVersion": "2.0", @@ -31,8 +31,8 @@ } ], "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937027, "name": "Library Script", "script": "file://Library-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization-imported-(1).script.groovy b/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization-imported-(1).script.groovy new file mode 100644 index 000000000..0942c43a5 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization-imported-(1).script.groovy @@ -0,0 +1,19 @@ +/* + * Copyright 2020 ForgeRock AS. All Rights Reserved + * + * Use of this code requires a commercial software license with ForgeRock AS. + * or with one of its affiliates. All use shall be exclusively subject + * to such license between the licensee and ForgeRock AS. + */ + +import static org.forgerock.json.JsonValue.field +import static org.forgerock.json.JsonValue.json +import static org.forgerock.json.JsonValue.object + +return json(object( + field("id", rawProfile.id), + field("givenName", rawProfile.firstName.localized.get(0)), + field("familyName", rawProfile.lastName.localized.get(0)), + field("photoUrl", rawProfile.profilePicture.displayImage), + field("email", rawProfile.elements.get(0).get("handle~").emailAddress), + field("username", rawProfile.elements.get(0).get("handle~").emailAddress))) diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization-imported-(1).script.json b/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization-imported-(1).script.json new file mode 100644 index 000000000..4b5382858 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization-imported-(1).script.json @@ -0,0 +1,18 @@ +{ + "script": { + "8862ca8f-7770-4af5-a888-ac0df0947f36": { + "_id": "8862ca8f-7770-4af5-a888-ac0df0947f36", + "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Normalizes raw profile data from LinkedIn", + "evaluatorVersion": "1.0", + "language": "GROOVY", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937090, + "name": "LinkedIn Profile Normalization - imported (1)", + "script": "file://LinkedIn-Profile-Normalization-imported-(1).script.groovy" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization.script.groovy b/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization.script.groovy index 0942c43a5..e481a4eac 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization.script.groovy +++ b/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization.script.groovy @@ -1,19 +1,23 @@ /* - * Copyright 2020 ForgeRock AS. All Rights Reserved + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved * - * Use of this code requires a commercial software license with ForgeRock AS. - * or with one of its affiliates. All use shall be exclusively subject - * to such license between the licensee and ForgeRock AS. + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. */ + import static org.forgerock.json.JsonValue.field import static org.forgerock.json.JsonValue.json import static org.forgerock.json.JsonValue.object return json(object( - field("id", rawProfile.id), - field("givenName", rawProfile.firstName.localized.get(0)), - field("familyName", rawProfile.lastName.localized.get(0)), - field("photoUrl", rawProfile.profilePicture.displayImage), - field("email", rawProfile.elements.get(0).get("handle~").emailAddress), - field("username", rawProfile.elements.get(0).get("handle~").emailAddress))) + field("id", rawProfile.sub), + field("displayName", rawProfile.name), + field("givenName", rawProfile.given_name), + field("familyName", rawProfile.family_name), + field("photoUrl", rawProfile.picture), + field("email", rawProfile.email), + field("emailVerified", rawProfile.email_verified), + field("username", rawProfile.email))) diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization.script.json index fd7733b94..4b4775605 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/LinkedIn-Profile-Normalization.script.json @@ -1,16 +1,16 @@ { "script": { - "8862ca8f-7770-4af5-a888-ac0df0947f36": { - "_id": "8862ca8f-7770-4af5-a888-ac0df0947f36", + "b4f3facb-c754-4e7f-b1c0-f4d46f592126": { + "_id": "b4f3facb-c754-4e7f-b1c0-f4d46f592126", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from LinkedIn", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, "name": "LinkedIn Profile Normalization", "script": "file://LinkedIn-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Microsoft-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Microsoft-Profile-Normalization.script.json index 2c271160f..3cdd39dec 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Microsoft-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Microsoft-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "73cecbfc-dad0-4395-be6a-6858ee3a80e5": { "_id": "73cecbfc-dad0-4395-be6a-6858ee3a80e5", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Microsoft", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937058, "name": "Microsoft Profile Normalization", "script": "file://Microsoft-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Device-Match-Node-Script.script.js b/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Device-Match-Node-Script.script.js new file mode 100644 index 000000000..bc57aca00 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Device-Match-Node-Script.script.js @@ -0,0 +1,14 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ +/* + - Data made available by nodes that have already executed is available in the nodeState variable. + - Use the action object to set the outcome of the node. + */ + +action.goTo("true"); diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Device-Match-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Device-Match-Node-Script.script.json new file mode 100644 index 000000000..843987f0d --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Device-Match-Node-Script.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "11e1a3c0-038b-4c16-956a-6c9d89328d00": { + "_id": "11e1a3c0-038b-4c16-956a-6c9d89328d00", + "context": "DEVICE_MATCH_NODE", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for a device match node", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "Next Generation Device Match Node Script", + "script": "file://Next-Generation-Device-Match-Node-Script.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Scripted-Decision-Node-Script.script.js b/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Scripted-Decision-Node-Script.script.js new file mode 100644 index 000000000..bc57aca00 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Scripted-Decision-Node-Script.script.js @@ -0,0 +1,14 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ +/* + - Data made available by nodes that have already executed is available in the nodeState variable. + - Use the action object to set the outcome of the node. + */ + +action.goTo("true"); diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Scripted-Decision-Node-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Scripted-Decision-Node-Script.script.json new file mode 100644 index 000000000..219868307 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Next-Generation-Scripted-Decision-Node-Script.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "11e1a3c0-038b-4c16-956a-6c9d89328cff": { + "_id": "11e1a3c0-038b-4c16-956a-6c9d89328cff", + "context": "SCRIPTED_DECISION_NODE", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for a scripted decision node", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "Next Generation Scripted Decision Node Script", + "script": "file://Next-Generation-Scripted-Decision-Node-Script.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/NextGeneration.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/NextGeneration.script.json index ab1ddf530..16af6c55a 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/NextGeneration.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/NextGeneration.script.json @@ -3,8 +3,8 @@ "31bd2ae6-c929-4547-b636-84b874715d60": { "_id": "31bd2ae6-c929-4547-b636-84b874715d60", "context": "LIBRARY", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": 1752525913094, "default": false, "description": "null", "evaluatorVersion": "2.0", @@ -31,8 +31,8 @@ } ], "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533573727, "name": "NextGeneration", "script": "file://NextGeneration.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Normalized-Profile-to-Identity.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Normalized-Profile-to-Identity.script.json index 5d63586e0..8b52709a3 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Normalized-Profile-to-Identity.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Normalized-Profile-to-Identity.script.json @@ -3,14 +3,14 @@ "ed685f9f-5909-4726-86e8-22bd38b47663": { "_id": "ed685f9f-5909-4726-86e8-22bd38b47663", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Converts a normalized social profile into an Identity", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937227, "name": "Normalized Profile to Identity", "script": "file://Normalized-Profile-to-Identity.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Normalized-Profile-to-Managed-User.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Normalized-Profile-to-Managed-User.script.json index 52a3af82d..d7d4cd380 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Normalized-Profile-to-Managed-User.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Normalized-Profile-to-Managed-User.script.json @@ -3,14 +3,14 @@ "58c824ae-84ed-4724-82cd-db128fc3f6c": { "_id": "58c824ae-84ed-4724-82cd-db128fc3f6c", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Converts a normalized social profile into a managed user", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936966, "name": "Normalized Profile to Managed User", "script": "file://Normalized-Profile-to-Managed-User.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Access-Token-Modification-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Access-Token-Modification-Script.script.json index 3cc1399f6..7dfac2c7e 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Access-Token-Modification-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Access-Token-Modification-Script.script.json @@ -3,14 +3,14 @@ "d22f9a0c-426a-4466-b95e-d0f125b0d5fa": { "_id": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", "context": "OAUTH2_ACCESS_TOKEN_MODIFICATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Access Token Modification", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937205, "name": "OAuth2 Access Token Modification Script", "script": "file://OAuth2-Access-Token-Modification-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json index bdad11efe..05305f790 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Authorize-Endpoint-Data-Provider-Script.script.json @@ -3,14 +3,14 @@ "3f93ef6e-e54a-4393-aba1-f322656db28a": { "_id": "3f93ef6e-e54a-4393-aba1-f322656db28a", "context": "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Authorize Endpoint Data Provider", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936873, "name": "OAuth2 Authorize Endpoint Data Provider Script", "script": "file://OAuth2-Authorize-Endpoint-Data-Provider-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Dynamic-Client-Registration.script.js b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Dynamic-Client-Registration.script.js new file mode 100644 index 000000000..de215145f --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Dynamic-Client-Registration.script.js @@ -0,0 +1,71 @@ +/* + * Copyright 2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ + +/* + * This script is run after the following Dynamic Client Registration operations: CREATE, UPDATE, DELETE. + * + * Defined variables: + * Common script bindings for next-generation scripts (1) + * requestProperties - An unmodifiable map of the following request properties: + * requestUri - The request URI. + * realm - The realm that the request relates to. + * requestParams - A map of the request params and/or posted data. + * Each value is a list of one or more properties. + * Please note that these should be handled in accordance with OWASP best practices: + * https://owasp.org/www-community/vulnerabilities/Unsafe_use_of_Reflection. + * requestHeaders - A map of the request headers. + * Case-sensitive. + * requestBody - A map representing the body of the request. + * operation - A string to denote the dynamic client registration request operation. + * Possible values: CREATE, UPDATE, DELETE + * clientIdentity - The AMIdentity that represents the created or updated OAuth2Client. + * Null if the operation is DELETE. + * softwareStatement - A map representing the decoded data of the software statement from the request. + * Empty map if no software statement is provided. + * + * Return - no value is expected, any changes shall be made via the bindings directly. + * + * Reference: + * (1) Script Bindings - https://docs.pingidentity.com/pingoneaic/latest/am-scripting/script-bindings.html + */ + +// logger.info("Executing: {}", scriptName); + +/* +// Example: Update the OAuth2Client identity on CREATE +// NOTE: setAttribute() overwrites the whole attribute if it exists already +if (operation === "CREATE") { + // Read a property from the request body + var requestBody = requestProperties.get("requestBody"); + var grantType = requestBody.get("grant_type"); + + if (grantType != null) { + var grantTypes = ["[0]=authorization_code"]; + grantTypes.push("[1]=".concat(grantType)); + clientIdentity.setAttribute( "com.forgerock.openam.oauth2provider.grantTypes", grantTypes); + clientIdentity.store(); + }; +}; + +// Example: Update the OAuth2Client identity on UPDATE +// NOTE: addAttribute() adds the provided value to the set if it exists already. +// Otherwise, it sets the attribute with the single value. +if (operation === "UPDATE") { + // Example: Read a property from the software statement + var redirectUris = softwareStatement.get("redirect_uris"); + if (redirectUris != null) { + var firstUri = redirectUris[0]; + }; + + if (firstUri != null) { + clientIdentity.addAttribute("com.forgerock.openam.oauth2provider.redirectionURIs", "[0]=".concat(firstUri)); + clientIdentity.store(); + }; +}; +*/ diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Dynamic-Client-Registration.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Dynamic-Client-Registration.script.json new file mode 100644 index 000000000..e1bb08560 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Dynamic-Client-Registration.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "4b6b7e8e-cf03-46c8-949f-c5742dbd6bc5": { + "_id": "4b6b7e8e-cf03-46c8-949f-c5742dbd6bc5", + "context": "OAUTH2_DYNAMIC_CLIENT_REGISTRATION", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for Dynamic Client Registration", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "OAuth2 Dynamic Client Registration", + "script": "file://OAuth2-Dynamic-Client-Registration.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Evaluate-Scope-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Evaluate-Scope-Script.script.json index 8f1b03eb7..eff780dcd 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Evaluate-Scope-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Evaluate-Scope-Script.script.json @@ -3,14 +3,14 @@ "da56fe60-8b38-4c46-a405-d6b306d4b336": { "_id": "da56fe60-8b38-4c46-a405-d6b306d4b336", "context": "OAUTH2_EVALUATE_SCOPE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Scope Evaluation", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937216, "name": "OAuth2 Evaluate Scope Script", "script": "file://OAuth2-Evaluate-Scope-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-JWT-Issuer-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-JWT-Issuer-Script.script.json index d2bad38a2..e5cfdd3da 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-JWT-Issuer-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-JWT-Issuer-Script.script.json @@ -3,14 +3,14 @@ "400e48ba-3f13-4144-ac7b-f824ea8e98c5": { "_id": "400e48ba-3f13-4144-ac7b-f824ea8e98c5", "context": "OAUTH2_SCRIPTED_JWT_ISSUER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for scripted JWT Issuers", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936890, "name": "OAuth2 JWT Issuer Script", "script": "file://OAuth2-JWT-Issuer-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-May-Act-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-May-Act-Script.script.json index 3cf7db318..ca0db16e1 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-May-Act-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-May-Act-Script.script.json @@ -3,14 +3,14 @@ "c735de08-f8f2-4e69-aa4a-2d8d3d438323": { "_id": "c735de08-f8f2-4e69-aa4a-2d8d3d438323", "context": "OAUTH2_MAY_ACT", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 May Act", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937176, "name": "OAuth2 May Act Script", "script": "file://OAuth2-May-Act-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Validate-Scope-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Validate-Scope-Script.script.json index 557429a4b..96b6cbd3b 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Validate-Scope-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/OAuth2-Validate-Scope-Script.script.json @@ -3,14 +3,14 @@ "25e6c06d-cf70-473b-bd28-26931edc476b": { "_id": "25e6c06d-cf70-473b-bd28-26931edc476b", "context": "OAUTH2_VALIDATE_SCOPE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OAuth2 Scope Validation", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936809, "name": "OAuth2 Validate Scope Script", "script": "file://OAuth2-Validate-Scope-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/OIDC-Claims-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/OIDC-Claims-Script.script.json index 13b863291..286e17862 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/OIDC-Claims-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/OIDC-Claims-Script.script.json @@ -3,14 +3,14 @@ "36863ffb-40ec-48b9-94b1-9a99f71cc3b5": { "_id": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", "context": "OIDC_CLAIMS", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for OIDC claims", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936837, "name": "OIDC Claims Script", "script": "file://OIDC-Claims-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-IDP-Adapter-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-IDP-Adapter-Script.script.json index e0e03fd70..ca243b60d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-IDP-Adapter-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-IDP-Adapter-Script.script.json @@ -3,14 +3,14 @@ "248b8a56-df81-4b1b-b4ba-45d994f6504c": { "_id": "248b8a56-df81-4b1b-b4ba-45d994f6504c", "context": "SAML2_IDP_ADAPTER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for SAML2 IDP Adapter", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936797, "name": "SAML2 IDP Adapter Script", "script": "file://SAML2-IDP-Adapter-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-IDP-Attribute-Mapper-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-IDP-Attribute-Mapper-Script.script.json index bdae7b156..1da41aa4a 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-IDP-Attribute-Mapper-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-IDP-Attribute-Mapper-Script.script.json @@ -3,14 +3,14 @@ "c4f22465-2368-4e27-8013-e6399974fd48": { "_id": "c4f22465-2368-4e27-8013-e6399974fd48", "context": "SAML2_IDP_ATTRIBUTE_MAPPER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for SAML2 IDP Attribute Mapper", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937162, "name": "SAML2 IDP Attribute Mapper Script", "script": "file://SAML2-IDP-Attribute-Mapper-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-NameID-Mapper-Script.script.js b/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-NameID-Mapper-Script.script.js new file mode 100644 index 000000000..99d04cbcc --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-NameID-Mapper-Script.script.js @@ -0,0 +1,15 @@ +/* + * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved + * + * This code is to be used exclusively in connection with Ping Identity + * Corporation software or services. Ping Identity Corporation only offers + * such software or services to legal entities who have entered into a + * binding license agreement with Ping Identity Corporation. + */ + +/* + * This is an example SAML2 NameID Mapper script. + * This script should return a string value representing the SAML2 NameID identifier. + * The example script delegates to the configured java plugin via the nameIDScriptHelper binding. + */ +nameIDScriptHelper.getNameIDValue(); diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-NameID-Mapper-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-NameID-Mapper-Script.script.json new file mode 100644 index 000000000..e11d1a11e --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-NameID-Mapper-Script.script.json @@ -0,0 +1,18 @@ +{ + "script": { + "4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5": { + "_id": "4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5", + "context": "SAML2_NAMEID_MAPPER", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for SAML2 NameID Mapper", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "SAML2 NameID Mapper Script", + "script": "file://SAML2-NameID-Mapper-Script.script.js" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-SP-Adapter-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-SP-Adapter-Script.script.json index 72cc8b1a3..8e7d3ac7d 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-SP-Adapter-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/SAML2-SP-Adapter-Script.script.json @@ -3,14 +3,14 @@ "69f06e63-128c-4e2f-af52-079a8a6f448b": { "_id": "69f06e63-128c-4e2f-af52-079a8a6f448b", "context": "SAML2_SP_ADAPTER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for SAML2 SP Adapter", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937005, "name": "SAML2 SP Adapter Script", "script": "file://SAML2-SP-Adapter-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Salesforce-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Salesforce-Profile-Normalization.script.json index 3ee9bd140..a45fa265b 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Salesforce-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Salesforce-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "312e951f-70c5-49d2-a9ae-93aef909d5df": { "_id": "312e951f-70c5-49d2-a9ae-93aef909d5df", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Salesforce", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936823, "name": "Salesforce Profile Normalization", "script": "file://Salesforce-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Module-Client-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Module-Client-Side.script.json index 6dc813c3e..b2dcac3fd 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Module-Client-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Module-Client-Side.script.json @@ -3,14 +3,14 @@ "c827d2b4-3608-4693-868e-bbcf86bd87c7": { "_id": "c827d2b4-3608-4693-868e-bbcf86bd87c7", "context": "AUTHENTICATION_CLIENT_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for client side Scripted Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937190, "name": "Scripted Module - Client Side", "script": "file://Scripted-Module-Client-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Module-Server-Side.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Module-Server-Side.script.json index 654961a61..94dd8593f 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Module-Server-Side.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Module-Server-Side.script.json @@ -3,14 +3,14 @@ "7e3d7067-d50f-4674-8c76-a3e13a810c33": { "_id": "7e3d7067-d50f-4674-8c76-a3e13a810c33", "context": "AUTHENTICATION_SERVER_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for server side Scripted Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937070, "name": "Scripted Module - Server Side", "script": "file://Scripted-Module-Server-Side.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Policy-Condition.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Policy-Condition.script.json index 7433e6c61..9ff9ab987 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Policy-Condition.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Scripted-Policy-Condition.script.json @@ -3,14 +3,14 @@ "9de3eb62-f131-4fac-a294-7bd170fd4acb": { "_id": "9de3eb62-f131-4fac-a294-7bd170fd4acb", "context": "POLICY_CONDITION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for Scripted Policy Conditions", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937122, "name": "Scripted Policy Condition", "script": "file://Scripted-Policy-Condition.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Social-Identity-Provider-Profile-Transformation-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Social-Identity-Provider-Profile-Transformation-Script.script.json index 80fdd9df3..3ff67ac6e 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Social-Identity-Provider-Profile-Transformation-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Social-Identity-Provider-Profile-Transformation-Script.script.json @@ -3,14 +3,14 @@ "1d475815-72cb-42eb-aafd-4026989d28a7": { "_id": "1d475815-72cb-42eb-aafd-4026989d28a7", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for Social Identity Provider Profile Transformation", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936785, "name": "Social Identity Provider Profile Transformation Script", "script": "file://Social-Identity-Provider-Profile-Transformation-Script.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Test-Script.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Test-Script.script.json index c1cebd2d7..e23a34d99 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Test-Script.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Test-Script.script.json @@ -3,8 +3,8 @@ "59335cbd-de7d-4ebd-99b0-f0fb1fe7fede": { "_id": "59335cbd-de7d-4ebd-99b0-f0fb1fe7fede", "context": "LIBRARY", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": 1752525913225, "default": false, "description": "Test script description", "evaluatorVersion": "2.0", @@ -31,8 +31,8 @@ } ], "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533573733, "name": "Test Script", "script": "file://Test-Script.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Twitter-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Twitter-Profile-Normalization.script.json index 82f7eddf4..cea69de50 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Twitter-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Twitter-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "8e298710-b55e-4085-a464-88a375a4004b": { "_id": "8e298710-b55e-4085-a464-88a375a4004b", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Twitter", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937100, "name": "Twitter Profile Normalization", "script": "file://Twitter-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/VKontakte-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/VKontakte-Profile-Normalization.script.json index fe7f120a2..48f46cf37 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/VKontakte-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/VKontakte-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "403cf226-6051-4368-8b72-9ba14f9a5140": { "_id": "403cf226-6051-4368-8b72-9ba14f9a5140", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from VKontakte", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936907, "name": "VKontakte Profile Normalization", "script": "file://VKontakte-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/WeChat-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/WeChat-Profile-Normalization.script.json index b5055281d..a4a7b6418 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/WeChat-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/WeChat-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "472534ec-a25f-468d-a606-3fb1935190df": { "_id": "472534ec-a25f-468d-a606-3fb1935190df", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from WeChat", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936934, "name": "WeChat Profile Normalization", "script": "file://WeChat-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/WordPress-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/WordPress-Profile-Normalization.script.json index 0870d779a..8161f1d8b 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/WordPress-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/WordPress-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "91d197de-5916-4dca-83b5-9a4df26e7159": { "_id": "91d197de-5916-4dca-83b5-9a4df26e7159", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from WordPress", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525937110, "name": "WordPress Profile Normalization", "script": "file://WordPress-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/Yahoo-Profile-Normalization.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/Yahoo-Profile-Normalization.script.json index abd0293e8..4c6d3e8a3 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/Yahoo-Profile-Normalization.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/Yahoo-Profile-Normalization.script.json @@ -3,14 +3,14 @@ "424da748-82cc-4b54-be6f-82bd64d82a74": { "_id": "424da748-82cc-4b54-be6f-82bd64d82a74", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Yahoo", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936920, "name": "Yahoo Profile Normalization", "script": "file://Yahoo-Profile-Normalization.script.groovy" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/script/test-script-2.script.json b/test/e2e/exports/all-separate/classic/realm/root/script/test-script-2.script.json index 2005554bd..a4721b4bf 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/script/test-script-2.script.json +++ b/test/e2e/exports/all-separate/classic/realm/root/script/test-script-2.script.json @@ -3,8 +3,8 @@ "9a7836ff-b597-4799-8a6f-306fdf40f238": { "_id": "9a7836ff-b597-4799-8a6f-306fdf40f238", "context": "LIBRARY", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": 1752525913373, "default": false, "description": "This is a test script", "evaluatorVersion": "2.0", @@ -31,8 +31,8 @@ } ], "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533573740, "name": "test script 2", "script": "file://test-script-2.script.js" } diff --git a/test/e2e/exports/all-separate/classic/realm/root/secretstore/Keystore.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root/secretstore/Keystore.secretstore.json new file mode 100644 index 000000000..5e05bd8f3 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/secretstore/Keystore.secretstore.json @@ -0,0 +1,72 @@ +{ + "secretstore": { + "Keystore": { + "_id": "Keystore", + "_type": { + "_id": "KeyStoreSecretStore", + "collection": true, + "name": "Keystore" + }, + "file": "/home/trivir/secrets/keystore.jceks", + "leaseExpiryDuration": 5, + "mappings": [ + { + "_id": "a5f8a49b-a954-41c4-9f8a-f643c43ebc7e", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mysecretkey" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512" + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mypassword", + "mysecretkey", + "thirdpassword", + "fourthpassword" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES256" + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mypassword", + "mysecretkey" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384" + }, + { + "_id": "am.services.uma.pct.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "mysecretkey", + "mypassword", + "thirdpassword", + "fourthpassword" + ], + "secretId": "am.services.uma.pct.encryption" + } + ], + "storetype": "JCEKS" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/secretstore/Volumes.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root/secretstore/Volumes.secretstore.json new file mode 100644 index 000000000..3719dee71 --- /dev/null +++ b/test/e2e/exports/all-separate/classic/realm/root/secretstore/Volumes.secretstore.json @@ -0,0 +1,16 @@ +{ + "secretstore": { + "Volumes": { + "_id": "Volumes", + "_type": { + "_id": "FileSystemSecretStore", + "collection": true, + "name": "File System Secret Volumes" + }, + "directory": "/home/trivir/secrets", + "format": "BASE64", + "suffix": ".txt", + "versionSuffix": ".v" + } + } +} diff --git a/test/e2e/exports/all-separate/classic/realm/root/secretstore/default-keystore.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root/secretstore/default-keystore.secretstore.json deleted file mode 100644 index 7f655dbd7..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root/secretstore/default-keystore.secretstore.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "secretstore": { - "default-keystore": { - "_id": "default-keystore", - "_type": { - "_id": "KeyStoreSecretStore", - "collection": true, - "name": "Keystore" - }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", - "keyEntryPassword": "entrypass", - "leaseExpiryDuration": 5, - "mappings": [], - "providerName": "SunJCE", - "storePassword": "storepass", - "storetype": "JCEKS" - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root/secretstore/default-passwords-store.secretstore.json b/test/e2e/exports/all-separate/classic/realm/root/secretstore/default-passwords-store.secretstore.json deleted file mode 100644 index 7176a9aab..000000000 --- a/test/e2e/exports/all-separate/classic/realm/root/secretstore/default-passwords-store.secretstore.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "secretstore": { - "default-passwords-store": { - "_id": "default-passwords-store", - "_type": { - "_id": "FileSystemSecretStore", - "collection": true, - "name": "File System Secret Volumes" - }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", - "format": "ENCRYPTED_PLAIN" - } - } -} diff --git a/test/e2e/exports/all-separate/classic/realm/root/service/SocialIdentityProviders.service.json b/test/e2e/exports/all-separate/classic/realm/root/service/SocialIdentityProviders.service.json index 92046ffe5..1c467affe 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/service/SocialIdentityProviders.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root/service/SocialIdentityProviders.service.json @@ -8,59 +8,7 @@ "name": "Social Identity Provider Service" }, "enabled": true, - "location": "/", - "nextDescendents": [ - { - "_id": "Google Test", - "_type": { - "_id": "googleConfig", - "collection": true, - "name": "Client configuration for Google." - }, - "acrValues": [], - "authenticationIdKey": "sub", - "authorizationEndpoint": "https://accounts.google.com/o/oauth2/v2/auth", - "clientAuthenticationMethod": "CLIENT_SECRET_POST", - "clientId": "test", - "enableNativeNonce": true, - "enabled": true, - "encryptJwtRequestParameter": false, - "encryptedIdTokens": false, - "issuer": "https://accounts.google.com", - "issuerComparisonCheckType": "EXACT", - "jwtEncryptionAlgorithm": "NONE", - "jwtEncryptionMethod": "NONE", - "jwtRequestParameterOption": "NONE", - "jwtSigningAlgorithm": "NONE", - "pkceMethod": "S256", - "privateKeyJwtExpTime": 600, - "redirectURI": "https://testurl.com", - "responseMode": "DEFAULT", - "revocationCheckOptions": [], - "scopeDelimiter": " ", - "scopes": [ - "openid", - "profile", - "email" - ], - "tokenEndpoint": "https://www.googleapis.com/oauth2/v4/token", - "transform": "58d29080-4563-480b-89bb-1e7719776a21", - "uiConfig": { - "buttonClass": "", - "buttonCustomStyle": "background-color: #fff; color: #757575; border-color: #ddd;", - "buttonCustomStyleHover": "color: #6d6d6d; background-color: #eee; border-color: #ccc;", - "buttonDisplayName": "Google", - "buttonImage": "images/g-logo.png", - "iconBackground": "#4184f3", - "iconClass": "fa-google", - "iconFontColor": "white" - }, - "useCustomTrustStore": false, - "userInfoEndpoint": "https://www.googleapis.com/oauth2/v3/userinfo", - "userInfoResponseType": "JSON", - "wellKnownEndpoint": "https://accounts.google.com/.well-known/openid-configuration" - } - ] + "location": "/" } } } diff --git a/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorOathService.service.json b/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorOathService.service.json index 46a99c254..1d7a588e6 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorOathService.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorOathService.service.json @@ -7,7 +7,7 @@ "collection": false, "name": "ForgeRock Authenticator (OATH) Service" }, - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", diff --git a/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorPushService.service.json b/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorPushService.service.json index 9c85334e9..e69f4fce8 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorPushService.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorPushService.service.json @@ -7,7 +7,7 @@ "collection": false, "name": "ForgeRock Authenticator (Push) Service" }, - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", diff --git a/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorWebAuthnService.service.json b/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorWebAuthnService.service.json index fcc750f1f..cdd6bd79f 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorWebAuthnService.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root/service/authenticatorWebAuthnService.service.json @@ -7,7 +7,7 @@ "collection": false, "name": "WebAuthn Profile Encryption Service" }, - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", diff --git a/test/e2e/exports/all-separate/classic/realm/root/service/baseurl.service.json b/test/e2e/exports/all-separate/classic/realm/root/service/baseurl.service.json index 9fb817c4d..75854e2da 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/service/baseurl.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root/service/baseurl.service.json @@ -8,6 +8,7 @@ "name": "Base URL Source" }, "contextPath": "/am", + "fixedValue": "http://openam-frodo-dev.classic.com:8080/am", "location": "/", "nextDescendents": [], "source": "REQUEST_VALUES" diff --git a/test/e2e/exports/all-separate/classic/realm/root/service/deviceBindingService.service.json b/test/e2e/exports/all-separate/classic/realm/root/service/deviceBindingService.service.json index a9a4fe0e0..3253df46c 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/service/deviceBindingService.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root/service/deviceBindingService.service.json @@ -8,7 +8,7 @@ "name": "Device Binding Service" }, "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceBindingSettingsEncryptionKeystorePassword": null, "deviceBindingSettingsEncryptionKeystoreType": "JKS", "deviceBindingSettingsEncryptionScheme": "NONE", diff --git a/test/e2e/exports/all-separate/classic/realm/root/service/deviceIdService.service.json b/test/e2e/exports/all-separate/classic/realm/root/service/deviceIdService.service.json index 4c45c0c3e..24b2f7227 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/service/deviceIdService.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root/service/deviceIdService.service.json @@ -8,7 +8,7 @@ "name": "Device ID Service" }, "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceIdSettingsEncryptionKeystorePassword": null, "deviceIdSettingsEncryptionKeystoreType": "JKS", "deviceIdSettingsEncryptionScheme": "NONE", diff --git a/test/e2e/exports/all-separate/classic/realm/root/service/deviceProfilesService.service.json b/test/e2e/exports/all-separate/classic/realm/root/service/deviceProfilesService.service.json index 68dd60ad2..e6c1e9585 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/service/deviceProfilesService.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root/service/deviceProfilesService.service.json @@ -8,7 +8,7 @@ "name": "Device Profiles Service" }, "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", "deviceProfilesSettingsEncryptionKeystorePassword": null, "deviceProfilesSettingsEncryptionKeystoreType": "JKS", "deviceProfilesSettingsEncryptionScheme": "NONE", diff --git a/test/e2e/exports/all-separate/classic/realm/root/service/id-repositories.service.json b/test/e2e/exports/all-separate/classic/realm/root/service/id-repositories.service.json index f04e816ad..deefd04e7 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/service/id-repositories.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root/service/id-repositories.service.json @@ -55,7 +55,6 @@ "openam-idrepo-ldapv3-proxied-auth-denied-fallback": false, "openam-idrepo-ldapv3-proxied-auth-enabled": false, "sun-idrepo-ldapv3-config-authid": "cn=Directory Manager", - "sun-idrepo-ldapv3-config-authpw": null, "sun-idrepo-ldapv3-config-connection-mode": "LDAPS", "sun-idrepo-ldapv3-config-connection_pool_max_size": 10, "sun-idrepo-ldapv3-config-connection_pool_min_size": 1, @@ -194,6 +193,191 @@ "sun-idrepo-ldapv3-config-users-search-attribute": "uid", "sun-idrepo-ldapv3-config-users-search-filter": "(objectclass=inetorgperson)" } + }, + { + "_id": "OpenDJ", + "_type": { + "_id": "LDAPv3ForOpenDS", + "collection": true, + "name": "OpenDJ" + }, + "authentication": { + "sun-idrepo-ldapv3-config-auth-naming-attr": "uid" + }, + "cachecontrol": { + "sun-idrepo-ldapv3-dncache-enabled": true, + "sun-idrepo-ldapv3-dncache-size": 1500 + }, + "errorhandling": { + "com.iplanet.am.ldap.connection.delay.between.retries": 1000 + }, + "groupconfig": { + "sun-idrepo-ldapv3-config-group-attributes": [ + "cn", + "dn", + "objectclass", + "uniqueMember" + ], + "sun-idrepo-ldapv3-config-group-container-name": "ou", + "sun-idrepo-ldapv3-config-group-container-value": "groups", + "sun-idrepo-ldapv3-config-group-objectclass": [ + "groupofuniquenames", + "top" + ], + "sun-idrepo-ldapv3-config-groups-search-attribute": "cn", + "sun-idrepo-ldapv3-config-groups-search-filter": "(objectclass=groupOfUniqueNames)", + "sun-idrepo-ldapv3-config-memberurl": "memberUrl", + "sun-idrepo-ldapv3-config-uniquemember": "uniqueMember" + }, + "ldapsettings": { + "openam-idrepo-ldapv3-affinity-level": "all", + "openam-idrepo-ldapv3-behera-support-enabled": true, + "openam-idrepo-ldapv3-contains-iot-identities-enriched-as-oauth2client": false, + "openam-idrepo-ldapv3-heartbeat-interval": 10, + "openam-idrepo-ldapv3-heartbeat-timeunit": "SECONDS", + "openam-idrepo-ldapv3-keepalive-searchfilter": "(objectclass=*)", + "openam-idrepo-ldapv3-mtls-enabled": false, + "openam-idrepo-ldapv3-proxied-auth-denied-fallback": false, + "openam-idrepo-ldapv3-proxied-auth-enabled": false, + "sun-idrepo-ldapv3-config-authid": "uid=am-identity-bind-account,ou=admins,ou=identities", + "sun-idrepo-ldapv3-config-authpw": null, + "sun-idrepo-ldapv3-config-connection-mode": "LDAPS", + "sun-idrepo-ldapv3-config-connection_pool_max_size": 10, + "sun-idrepo-ldapv3-config-connection_pool_min_size": 1, + "sun-idrepo-ldapv3-config-ldap-server": [ + "opendj-frodo-dev.classic.com:2636" + ], + "sun-idrepo-ldapv3-config-max-result": 1000, + "sun-idrepo-ldapv3-config-organization_name": "ou=identities", + "sun-idrepo-ldapv3-config-search-scope": "SCOPE_SUB", + "sun-idrepo-ldapv3-config-time-limit": 10, + "sun-idrepo-ldapv3-config-trust-all-server-certificates": false + }, + "persistentsearch": { + "sun-idrepo-ldapv3-config-psearch-filter": "(!(objectclass=frCoreToken))", + "sun-idrepo-ldapv3-config-psearch-scope": "SCOPE_SUB", + "sun-idrepo-ldapv3-config-psearchbase": "ou=identities" + }, + "pluginconfig": { + "sunIdRepoAttributeMapping": [], + "sunIdRepoClass": "org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo", + "sunIdRepoSupportedOperations": [ + "group=read,create,edit,delete", + "realm=read,create,edit,delete,service", + "user=read,create,edit,delete,service" + ] + }, + "userconfig": { + "sun-idrepo-ldapv3-config-active": "Active", + "sun-idrepo-ldapv3-config-auth-kba-attempts-attr": [ + "kbaInfoAttempts" + ], + "sun-idrepo-ldapv3-config-auth-kba-attr": [ + "kbaInfo" + ], + "sun-idrepo-ldapv3-config-auth-kba-index-attr": "kbaActiveIndex", + "sun-idrepo-ldapv3-config-createuser-attr-mapping": [ + "cn", + "sn" + ], + "sun-idrepo-ldapv3-config-inactive": "Inactive", + "sun-idrepo-ldapv3-config-isactive": "inetuserstatus", + "sun-idrepo-ldapv3-config-people-container-name": "ou", + "sun-idrepo-ldapv3-config-people-container-value": "people", + "sun-idrepo-ldapv3-config-user-attributes": [ + "adminRole", + "assignedDashboard", + "authorityRevocationList", + "boundDevices", + "caCertificate", + "cn", + "createTimestamp", + "devicePrintProfiles", + "deviceProfiles", + "distinguishedName", + "dn", + "employeeNumber", + "givenName", + "inetUserHttpURL", + "inetUserStatus", + "iplanet-am-auth-configuration", + "iplanet-am-session-destroy-sessions", + "iplanet-am-session-get-valid-sessions", + "iplanet-am-session-max-caching-time", + "iplanet-am-session-max-idle-time", + "iplanet-am-session-max-session-time", + "iplanet-am-session-quota-limit", + "iplanet-am-session-service-status", + "iplanet-am-user-account-life", + "iplanet-am-user-admin-start-dn", + "iplanet-am-user-alias-list", + "iplanet-am-user-auth-config", + "iplanet-am-user-auth-modules", + "iplanet-am-user-failure-url", + "iplanet-am-user-login-status", + "iplanet-am-user-password-reset-force-reset", + "iplanet-am-user-password-reset-options", + "iplanet-am-user-password-reset-question-answer", + "iplanet-am-user-success-url", + "kbaActiveIndex", + "kbaInfo", + "kbaInfoAttempts", + "lastEmailSent", + "mail", + "manager", + "memberOf", + "modifyTimestamp", + "oath2faEnabled", + "oathDeviceProfiles", + "objectClass", + "postalAddress", + "preferredlanguage", + "preferredLocale", + "preferredtimezone", + "push2faEnabled", + "pushDeviceProfiles", + "retryLimitNodeCount", + "sn", + "sun-fm-saml2-nameid-info", + "sun-fm-saml2-nameid-infokey", + "sunAMAuthInvalidAttemptsData", + "sunIdentityMSISDNNumber", + "telephoneNumber", + "uid", + "userCertificate", + "userPassword", + "webauthnDeviceProfiles", + "thingType", + "thingKeys", + "thingOAuth2ClientName", + "thingConfig", + "thingProperties" + ], + "sun-idrepo-ldapv3-config-user-objectclass": [ + "boundDevicesContainer", + "devicePrintProfilesContainer", + "deviceProfilesContainer", + "forgerock-am-dashboard-service", + "inetorgperson", + "inetuser", + "iplanet-am-auth-configuration-service", + "iplanet-am-managed-person", + "iplanet-am-user-service", + "iPlanetPreferences", + "kbaInfoContainer", + "oathDeviceProfilesContainer", + "organizationalperson", + "person", + "pushDeviceProfilesContainer", + "sunAMAuthAccountLockout", + "sunFMSAML2NameIdentifier", + "top", + "webauthnDeviceProfilesContainer", + "fr-iot" + ], + "sun-idrepo-ldapv3-config-users-search-attribute": "uid", + "sun-idrepo-ldapv3-config-users-search-filter": "(objectclass=inetorgperson)" + } } ], "sunIdRepoAttributeCombiner": "com.iplanet.am.sdk.AttributeCombiner", diff --git a/test/e2e/exports/all-separate/classic/realm/root/service/oauth-oidc.service.json b/test/e2e/exports/all-separate/classic/realm/root/service/oauth-oidc.service.json index 4ca33f43c..8fe434354 100644 --- a/test/e2e/exports/all-separate/classic/realm/root/service/oauth-oidc.service.json +++ b/test/e2e/exports/all-separate/classic/realm/root/service/oauth-oidc.service.json @@ -31,6 +31,7 @@ "urn:ietf:params:oauth:grant-type:jwt-bearer" ], "hashSalt": "changeme", + "includeClientIdClaimInStatelessTokens": true, "includeSubnameInTokenClaims": true, "macaroonTokenFormat": "V2", "maxAgeOfRequestObjectNbfClaim": 0, @@ -55,7 +56,7 @@ ], "tlsCertificateBoundAccessTokensEnabled": true, "tlsCertificateRevocationCheckingEnabled": false, - "tlsClientCertificateHeaderFormat": "URLENCODED_PEM", + "tlsClientCertificateHeaderFormat": "BASE64_ENCODED_CERT", "tokenCompressionEnabled": false, "tokenEncryptionEnabled": false, "tokenExchangeClasses": [ @@ -242,6 +243,7 @@ "clientDynamicRegistrationConfig": { "allowDynamicRegistration": false, "dynamicClientRegistrationScope": "dynamic_client_registration", + "dynamicClientRegistrationScript": "[Empty]", "dynamicClientRegistrationSoftwareStatementRequired": false, "generateRegistrationAccessTokens": true, "requiredSoftwareStatementAttestedAttributes": [ diff --git a/test/e2e/exports/all-separate/cloud/realm/root-alpha/secretstore/ESV.secretstore.json b/test/e2e/exports/all-separate/cloud/realm/root-alpha/secretstore/ESV.secretstore.json new file mode 100644 index 000000000..ee0ea8e20 --- /dev/null +++ b/test/e2e/exports/all-separate/cloud/realm/root-alpha/secretstore/ESV.secretstore.json @@ -0,0 +1,30 @@ +{ + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager" + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.services.httpclient.mtls.clientcert.testClientCert.secret", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "esv-test-client-cert" + ], + "secretId": "am.services.httpclient.mtls.clientcert.testClientCert.secret" + } + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default" + } + } +} diff --git a/test/e2e/exports/all-separate/cloud/realm/root-bravo/secretstore/ESV.secretstore.json b/test/e2e/exports/all-separate/cloud/realm/root-bravo/secretstore/ESV.secretstore.json new file mode 100644 index 000000000..dc77e75d5 --- /dev/null +++ b/test/e2e/exports/all-separate/cloud/realm/root-bravo/secretstore/ESV.secretstore.json @@ -0,0 +1,42 @@ +{ + "secretstore": { + "ESV": { + "_id": "ESV", + "_type": { + "_id": "GoogleSecretManagerSecretStoreProvider", + "collection": true, + "name": "Google Secret Manager" + }, + "expiryDurationSeconds": 600, + "mappings": [ + { + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "es512" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512" + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "es384" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384" + } + ], + "project": "&{google.project.id}", + "secretFormat": "PEM", + "serviceAccount": "default" + } + } +} diff --git a/test/e2e/exports/all/all.classic.json b/test/e2e/exports/all/all.classic.json index 0837b7a39..0c230fbcb 100644 --- a/test/e2e/exports/all/all.classic.json +++ b/test/e2e/exports/all/all.classic.json @@ -20,15 +20,15 @@ "authenticators": [ "com.sun.identity.authentication.modules.ad.AD", "org.forgerock.openam.authentication.modules.saml2.SAML2", - "org.forgerock.openam.authentication.modules.social.SocialAuthInstagram", "org.forgerock.openam.authentication.modules.oath.OATH", + "org.forgerock.openam.authentication.modules.social.SocialAuthInstagram", "org.forgerock.openam.authentication.modules.social.SocialAuthVK", "com.sun.identity.authentication.modules.membership.Membership", "com.sun.identity.authentication.modules.windowsdesktopsso.WindowsDesktopSSO", "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdSave", "com.sun.identity.authentication.modules.federation.Federation", - "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdMatch", "com.sun.identity.authentication.modules.jdbc.JDBC", + "org.forgerock.openam.authentication.modules.deviceprint.DeviceIdMatch", "com.sun.identity.authentication.modules.radius.RADIUS", "com.sun.identity.authentication.modules.anonymous.Anonymous", "com.sun.identity.authentication.modules.cert.Cert", @@ -41,16 +41,16 @@ "org.forgerock.openam.authentication.modules.social.SocialAuthTwitter", "com.sun.identity.authentication.modules.ldap.LDAP", "org.forgerock.openam.authentication.modules.push.AuthenticatorPush", - "org.forgerock.openam.authentication.modules.oauth2.OAuth", "com.sun.identity.authentication.modules.nt.NT", + "org.forgerock.openam.authentication.modules.oauth2.OAuth", "org.forgerock.openam.authentication.modules.social.SocialAuthWeChatMobile", "org.forgerock.openam.authentication.modules.jwtpop.JwtProofOfPossession", "com.sun.identity.authentication.modules.application.Application", "org.forgerock.openam.authentication.modules.scripted.Scripted", "org.forgerock.openam.authentication.modules.social.SocialAuthOAuth2", "com.sun.identity.authentication.modules.hotp.HOTP", - "org.forgerock.openam.authentication.modules.adaptive.Adaptive", "org.forgerock.openam.authentication.modules.accountactivecheck.AccountActiveCheck", + "org.forgerock.openam.authentication.modules.adaptive.Adaptive", "org.forgerock.openam.authentication.modules.social.SocialAuthOpenID", "com.sun.identity.authentication.modules.msisdn.MSISDN", "org.forgerock.openam.authentication.modules.fr.oath.AuthenticatorOATH", @@ -155,10 +155,10 @@ "authenticationLevel": 0, "connectionHeartbeatInterval": 1, "connectionHeartbeatTimeUnit": "MINUTES", - "openam-auth-ldap-connection-mode": "LDAP", + "openam-auth-ldap-connection-mode": "LDAPS", "operationTimeout": 0, "primaryLdapServer": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "profileAttributeMappings": [], "returnUserDN": true, @@ -166,13 +166,13 @@ "secondaryLdapServer": [], "stopLdapbindAfterInmemoryLockedEnabled": false, "trustAllServerCertificates": false, - "userBindDN": "cn=Directory Manager", + "userBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities", "userProfileRetrievalAttribute": "uid", "userSearchAttributes": [ "uid" ], "userSearchStartDN": [ - "dc=openam,dc=forgerock,dc=org" + "ou=identities" ] } }, @@ -254,7 +254,7 @@ }, "defaults": { "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true } }, @@ -375,7 +375,7 @@ "scope": [ "basic" ], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "subjectProperty": "id", "tokenEndpoint": "https://api.instagram.com/oauth/access_token", "userInfoEndpoint": "https://api.instagram.com/v1/users/self", @@ -408,7 +408,7 @@ "logoutBehaviour": "prompt", "mixUpMitigation": false, "scope": [], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "usesBasicAuth": true }, "emailSettings": { @@ -445,7 +445,7 @@ "scope": [ "openid" ], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "usesBasicAuth": true }, "emailSettings": { @@ -489,7 +489,7 @@ "authorizeEndpoint": "https://api.twitter.com/oauth/authenticate", "provider": "Twitter", "requestTokenEndpoint": "https://api.twitter.com/oauth/request_token", - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "subjectProperty": "id_str", "tokenEndpoint": "https://api.twitter.com/oauth/access_token", "userInfoEndpoint": "https://api.twitter.com/1.1/account/verify_credentials.json", @@ -516,8 +516,8 @@ "first_name=givenName", "first_name=cn", "id=uid", - "last_name=sn", - "email=mail" + "email=mail", + "last_name=sn" ], "attributeMappingClasses": [ "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|vkontakte-" @@ -536,7 +536,7 @@ "scope": [ "email" ], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "subjectProperty": "id", "tokenEndpoint": "https://oauth.vk.com/access_token", "userInfoEndpoint": "https://api.vk.com/method/users.get" @@ -585,7 +585,7 @@ "scope": [ "snsapi_login" ], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "subjectProperty": "openid", "tokenEndpoint": "https://api.wechat.com/sns/oauth2/access_token", "userInfoEndpoint": "https://api.wechat.com/sns/userinfo", @@ -634,7 +634,7 @@ "scope": [ "snsapi_userinfo" ], - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "subjectProperty": "openid", "userInfoEndpoint": "https://api.wechat.com/sns/userinfo" }, @@ -679,7 +679,7 @@ "certificateAttributeProfileMappingExtension": "none", "certificateAttributeToProfileMapping": "subject CN", "certificateLdapServers": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "crlMatchingCertificateAttribute": "CN", "iplanet-am-auth-cert-gw-cert-preferred": false, @@ -694,7 +694,7 @@ "none" ], "updateCRLsFromDistributionPoint": true, - "userBindDN": "cn=Directory Manager" + "userBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities" } }, "datastore": { @@ -815,10 +815,10 @@ "connectionHeartbeatInterval": 10, "connectionHeartbeatTimeUnit": "SECONDS", "minimumPasswordLength": "8", - "openam-auth-ldap-connection-mode": "LDAP", + "openam-auth-ldap-connection-mode": "LDAPS", "operationTimeout": 0, "primaryLdapServer": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "profileAttributeMappings": [], "returnUserDN": true, @@ -826,13 +826,13 @@ "secondaryLdapServer": [], "stopLdapbindAfterInmemoryLockedEnabled": false, "trustAllServerCertificates": false, - "userBindDN": "cn=Directory Manager", + "userBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities", "userProfileRetrievalAttribute": "uid", "userSearchAttributes": [ "uid" ], "userSearchStartDN": [ - "dc=openam,dc=forgerock,dc=org" + "ou=identities" ] } }, @@ -860,13 +860,13 @@ "defaults": { "authenticationLevel": 0, "baseSearchDN": [ - "dc=openam,dc=forgerock,dc=org" + "ou=identities" ], "ldapProviderUrl": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "ldapSslEnabled": false, - "ldapUserBindDN": "cn=Directory Manager", + "ldapUserBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities", "msisdnParameterNames": [], "msisdnRequestSearchLocations": [ "searchRequest", @@ -924,9 +924,9 @@ "email=facebook-email", "last_name=facebook-lname", "first_name=facebook-fname", - "name=cn", "email=mail", - "last_name=sn" + "last_name=sn", + "name=cn" ], "attributeMappingClasses": [ "org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper" @@ -944,7 +944,7 @@ "smtpFromAddress": "info@forgerock.com", "smtpHostName": "localhost", "smtpHostPort": "25", - "ssoProxyUrl": "http://localhost:8080/am/oauth2c/OAuthProxy.jsp", + "ssoProxyUrl": "http://openam-frodo-dev.classic.com:8080/am/oauth2c/OAuthProxy.jsp", "userProfileServiceUrl": "https://graph.facebook.com/me" } }, @@ -1045,7 +1045,7 @@ }, "defaults": { "authenticationLevel": 0, - "serverConfigPath": "/home/prestonhales/am/config/auth/ace/data" + "serverConfigPath": "/root/am/config/auth/ace/data" } }, "windowsdesktopsso": { @@ -1129,7 +1129,8 @@ }, "context": { "_id": "AUTHENTICATION_CLIENT_SIDE", - "allowLists": {}, + "allowLists": [], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -1140,6 +1141,7 @@ } }, "defaultScript": "[Empty]", + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" @@ -1154,142 +1156,73 @@ }, "context": { "_id": "AUTHENTICATION_SERVER_SIDE", - "allowLists": { - "1.0": [ - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Character", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.ArrayList$Itr", - "java.util.ArrayList", - "java.util.HashMap$KeyIterator", - "java.util.HashMap", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.Cookie", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.json.JsonValue", - "org.forgerock.openam.authentication.modules.scripted.*", - "org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ], - "2.0": [ - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Character", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.ArrayList$Itr", - "java.util.ArrayList", - "java.util.HashMap$KeyIterator", - "java.util.HashMap", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.Cookie", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.json.JsonValue", - "org.forgerock.openam.authentication.modules.scripted.*", - "org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ] - }, + "allowLists": [ + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.ArrayList$Itr", + "java.util.ArrayList", + "java.util.HashMap$KeyIterator", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.authentication.modules.scripted.*", + "org.forgerock.openam.core.rest.devices.deviceprint.DeviceIdDao", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -1387,6 +1320,7 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" @@ -1401,219 +1335,7 @@ }, "context": { "_id": "AUTHENTICATION_TREE_DECISION_NODE", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$*", - "java.util.ArrayList", - "java.util.Collections", - "java.util.Collections$*", - "java.util.concurrent.TimeUnit", - "java.util.concurrent.ExecutionException", - "java.util.concurrent.TimeoutException", - "java.util.HashSet", - "java.util.HashMap", - "java.util.HashMap$KeyIterator", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.security.KeyPair", - "java.security.KeyPairGenerator", - "java.security.KeyPairGenerator$*", - "java.security.PrivateKey", - "java.security.PublicKey", - "java.security.spec.InvalidKeySpecException", - "java.security.spec.X509EncodedKeySpec", - "java.security.spec.MGF1ParameterSpec", - "javax.crypto.SecretKeyFactory", - "javax.crypto.spec.OAEPParameterSpec", - "javax.crypto.spec.PBEKeySpec", - "javax.crypto.spec.PSource", - "javax.crypto.spec.PSource$*", - "javax.security.auth.callback.NameCallback", - "javax.security.auth.callback.PasswordCallback", - "javax.security.auth.callback.ChoiceCallback", - "javax.security.auth.callback.ConfirmationCallback", - "javax.security.auth.callback.LanguageCallback", - "javax.security.auth.callback.TextInputCallback", - "javax.security.auth.callback.TextOutputCallback", - "com.sun.crypto.provider.PBKDF2KeyImpl", - "com.sun.identity.authentication.callbacks.HiddenValueCallback", - "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", - "com.sun.identity.authentication.spi.HttpCallback", - "com.sun.identity.authentication.spi.MetadataCallback", - "com.sun.identity.authentication.spi.RedirectCallback", - "com.sun.identity.authentication.spi.X509CertificateCallback", - "com.sun.identity.shared.debug.Debug", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.Client", - "org.forgerock.http.Handler", - "org.forgerock.http.Context", - "org.forgerock.http.context.RootContext", - "org.forgerock.http.protocol.Cookie", - "org.forgerock.http.header.*", - "org.forgerock.http.header.authorization.*", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.json.JsonValue", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.auth.node.api.Action", - "org.forgerock.openam.auth.node.api.Action$ActionBuilder", - "org.forgerock.openam.authentication.callbacks.IdPCallback", - "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", - "org.forgerock.openam.core.rest.authn.callbackhandlers.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "groovy.json.JsonSlurper", - "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", - "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.scripting.api.secrets.Secret", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.openam.auth.node.api.NodeState", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "org.mozilla.javascript.ConsString", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ], - "2.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$*", - "java.util.ArrayList", - "java.util.Collections", - "java.util.concurrent.TimeUnit", - "java.util.Collections$*", - "java.util.HashSet", - "java.util.HashMap$KeyIterator", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeSet", - "java.security.KeyPair", - "java.security.KeyPairGenerator", - "java.security.KeyPairGenerator$*", - "java.security.PrivateKey", - "java.security.PublicKey", - "java.security.spec.X509EncodedKeySpec", - "java.security.spec.MGF1ParameterSpec", - "javax.crypto.SecretKeyFactory", - "javax.crypto.spec.OAEPParameterSpec", - "javax.crypto.spec.PBEKeySpec", - "javax.crypto.spec.PSource", - "javax.crypto.spec.PSource$*", - "org.forgerock.json.JsonValue", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "java.util.concurrent.ExecutionException", - "java.util.concurrent.TimeoutException", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.core.rest.authn.callbackhandlers.*", - "com.sun.crypto.provider.PBKDF2KeyImpl", - "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "org.mozilla.javascript.ConsString", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "ch.qos.logback.classic.Logger", - "org.forgerock.util.promise.Promises$*", - "com.sun.proxy.$*", - "java.util.Date", - "java.security.spec.InvalidKeySpecException", - "jdk.proxy*" - ] - }, - "evaluatorVersions": { - "GROOVY": [ - "1.0" - ], - "JAVASCRIPT": [ - "1.0", - "2.0" - ] - } - }, - "defaultScript": "01e1a3c0-038b-4c16-956a-6c9d89328cff", - "engineConfiguration": { - "_id": "engineConfiguration", - "_type": { - "_id": "engineConfiguration", - "collection": false, - "name": "Scripting engine configuration" - }, - "blackList": [ - "java.security.AccessController", - "java.lang.Class", - "java.lang.reflect.*" - ], - "coreThreads": 10, - "idleTimeout": 60, - "maxThreads": 50, - "propertyNamePrefix": "script", - "queueSize": 10, - "serverTimeout": 0, - "useSecurityManager": true, - "whiteList": [ + "allowLists": [ "java.lang.Boolean", "java.lang.Byte", "java.lang.Character", @@ -1729,261 +1451,9 @@ "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", "org.forgerock.opendj.ldap.Rdn", "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ] - }, - "languages": [ - "JAVASCRIPT", - "GROOVY" - ] - }, - "CONFIG_PROVIDER_NODE": { - "_id": "CONFIG_PROVIDER_NODE", - "_type": { - "_id": "contexts", - "collection": true, - "name": "scriptContext" - }, - "context": { - "_id": "CONFIG_PROVIDER_NODE", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$*", - "java.util.ArrayList", - "java.util.Collections", - "java.util.Collections$*", - "java.util.concurrent.TimeUnit", - "java.util.concurrent.ExecutionException", - "java.util.concurrent.TimeoutException", - "java.util.HashSet", - "java.util.HashMap", - "java.util.HashMap$KeyIterator", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.security.KeyPair", - "java.security.KeyPairGenerator", - "java.security.KeyPairGenerator$*", - "java.security.PrivateKey", - "java.security.PublicKey", - "java.security.spec.InvalidKeySpecException", - "java.security.spec.X509EncodedKeySpec", - "java.security.spec.MGF1ParameterSpec", - "javax.crypto.SecretKeyFactory", - "javax.crypto.spec.OAEPParameterSpec", - "javax.crypto.spec.PBEKeySpec", - "javax.crypto.spec.PSource", - "javax.crypto.spec.PSource$*", - "javax.security.auth.callback.NameCallback", - "javax.security.auth.callback.PasswordCallback", - "javax.security.auth.callback.ChoiceCallback", - "javax.security.auth.callback.ConfirmationCallback", - "javax.security.auth.callback.LanguageCallback", - "javax.security.auth.callback.TextInputCallback", - "javax.security.auth.callback.TextOutputCallback", - "com.sun.crypto.provider.PBKDF2KeyImpl", - "com.sun.identity.authentication.callbacks.HiddenValueCallback", - "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", - "com.sun.identity.authentication.spi.HttpCallback", - "com.sun.identity.authentication.spi.MetadataCallback", - "com.sun.identity.authentication.spi.RedirectCallback", - "com.sun.identity.authentication.spi.X509CertificateCallback", - "com.sun.identity.shared.debug.Debug", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.Client", - "org.forgerock.http.Handler", - "org.forgerock.http.Context", - "org.forgerock.http.context.RootContext", - "org.forgerock.http.protocol.Cookie", - "org.forgerock.http.header.*", - "org.forgerock.http.header.authorization.*", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.json.JsonValue", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.auth.node.api.Action", - "org.forgerock.openam.auth.node.api.Action$ActionBuilder", - "org.forgerock.openam.authentication.callbacks.IdPCallback", - "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", - "org.forgerock.openam.core.rest.authn.callbackhandlers.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "groovy.json.JsonSlurper", - "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", - "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.scripting.api.secrets.Secret", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.openam.auth.node.api.NodeState", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "org.mozilla.javascript.ConsString", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ], - "2.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$*", - "java.util.ArrayList", - "java.util.Collections", - "java.util.Collections$*", - "java.util.concurrent.TimeUnit", - "java.util.concurrent.ExecutionException", - "java.util.concurrent.TimeoutException", - "java.util.HashSet", - "java.util.HashMap", - "java.util.HashMap$KeyIterator", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.security.KeyPair", - "java.security.KeyPairGenerator", - "java.security.KeyPairGenerator$*", - "java.security.PrivateKey", - "java.security.PublicKey", - "java.security.spec.InvalidKeySpecException", - "java.security.spec.X509EncodedKeySpec", - "java.security.spec.MGF1ParameterSpec", - "javax.crypto.SecretKeyFactory", - "javax.crypto.spec.OAEPParameterSpec", - "javax.crypto.spec.PBEKeySpec", - "javax.crypto.spec.PSource", - "javax.crypto.spec.PSource$*", - "javax.security.auth.callback.NameCallback", - "javax.security.auth.callback.PasswordCallback", - "javax.security.auth.callback.ChoiceCallback", - "javax.security.auth.callback.ConfirmationCallback", - "javax.security.auth.callback.LanguageCallback", - "javax.security.auth.callback.TextInputCallback", - "javax.security.auth.callback.TextOutputCallback", - "com.sun.crypto.provider.PBKDF2KeyImpl", - "com.sun.identity.authentication.callbacks.HiddenValueCallback", - "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", - "com.sun.identity.authentication.spi.HttpCallback", - "com.sun.identity.authentication.spi.MetadataCallback", - "com.sun.identity.authentication.spi.RedirectCallback", - "com.sun.identity.authentication.spi.X509CertificateCallback", - "com.sun.identity.shared.debug.Debug", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.Client", - "org.forgerock.http.Handler", - "org.forgerock.http.Context", - "org.forgerock.http.context.RootContext", - "org.forgerock.http.protocol.Cookie", - "org.forgerock.http.header.*", - "org.forgerock.http.header.authorization.*", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.json.JsonValue", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.auth.node.api.Action", - "org.forgerock.openam.auth.node.api.Action$ActionBuilder", - "org.forgerock.openam.authentication.callbacks.IdPCallback", - "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", - "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", - "org.forgerock.openam.core.rest.authn.callbackhandlers.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "groovy.json.JsonSlurper", - "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", - "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.scripting.api.secrets.Secret", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.openam.auth.node.api.NodeState", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "org.mozilla.javascript.ConsString", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", - "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ] - }, + "org.forgerock.openam.auth.nodes.VerifyTransactionsHelper" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -1993,7 +1463,7 @@ ] } }, - "defaultScript": "5e854779-6ec1-4c39-aeba-0477e0986646", + "defaultScript": "01e1a3c0-038b-4c16-956a-6c9d89328cff", "engineConfiguration": { "_id": "engineConfiguration", "_type": { @@ -2132,360 +1602,139 @@ "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" ] }, - "LIBRARY": { - "_id": "LIBRARY", + "CONFIG_PROVIDER_NODE": { + "_id": "CONFIG_PROVIDER_NODE", "_type": { "_id": "contexts", "collection": true, "name": "scriptContext" }, "context": { - "_id": "LIBRARY", - "allowLists": { - "1.0": [ - "java.lang.Float", - "org.forgerock.http.protocol.Header", - "java.lang.Integer", - "org.forgerock.http.Client", - "java.lang.Character$UnicodeBlock", - "java.lang.Character", - "java.lang.Long", - "java.lang.Short", - "java.util.Map", - "org.forgerock.http.client.*", - "java.lang.Math", - "org.forgerock.opendj.ldap.Dn", - "java.lang.Byte", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "java.lang.StrictMath", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.http.Context", - "java.lang.Void", - "org.codehaus.groovy.runtime.GStringImpl", - "groovy.json.JsonSlurper", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.context.RootContext", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "java.util.List", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Responses", - "org.forgerock.util.promise.Promise", - "java.util.HashMap$KeyIterator", - "com.sun.identity.shared.debug.Debug", - "java.lang.Double", - "org.forgerock.http.protocol.Headers", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.http.protocol.Status", - "java.util.HashMap", - "java.lang.Character$Subset", - "java.util.TreeSet", - "java.util.ArrayList", - "java.util.HashSet", - "java.util.LinkedHashMap", - "org.forgerock.http.protocol.ResponseException", - "java.util.Collections$UnmodifiableRandomAccessList", - "org.forgerock.http.protocol.Message", - "java.lang.Boolean", - "java.lang.String", - "java.lang.Number", - "java.util.LinkedList", - "java.util.LinkedHashSet", - "org.forgerock.http.protocol.Response", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.TreeMap", - "java.util.Collections$EmptyList", - "org.forgerock.openam.scripting.api.ScriptedSession", - "java.util.Collections$UnmodifiableCollection$1", - "org.forgerock.http.Handler", - "java.lang.Object", - "org.forgerock.http.protocol.Form", - "jdk.proxy*" - ], - "2.0": [ - "jdk.proxy*" - ] - }, - "evaluatorVersions": { - "JAVASCRIPT": [ - "2.0" - ] - } - }, - "defaultScript": "[Empty]", - "engineConfiguration": { - "_id": "engineConfiguration", - "_type": { - "_id": "engineConfiguration", - "collection": false, - "name": "Scripting engine configuration" - }, - "blackList": [ - "java.lang.Class", - "java.security.AccessController", - "java.lang.reflect.*" - ], - "coreThreads": 10, - "idleTimeout": 60, - "maxThreads": 50, - "propertyNamePrefix": "script", - "queueSize": 10, - "serverTimeout": 0, - "useSecurityManager": true, - "whiteList": [ + "_id": "CONFIG_PROVIDER_NODE", + "allowLists": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", "java.lang.Float", - "org.forgerock.http.protocol.Header", "java.lang.Integer", - "org.forgerock.http.Client", - "java.lang.Character$UnicodeBlock", - "java.lang.Character", "java.lang.Long", - "java.lang.Short", - "java.util.Map", - "org.forgerock.http.client.*", "java.lang.Math", - "org.forgerock.opendj.ldap.Dn", - "java.lang.Byte", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", "java.lang.StrictMath", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.http.Context", + "java.lang.String", "java.lang.Void", - "org.codehaus.groovy.runtime.GStringImpl", - "groovy.json.JsonSlurper", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.context.RootContext", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "java.util.List", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Responses", - "org.forgerock.util.promise.Promise", - "java.util.HashMap$KeyIterator", - "com.sun.identity.shared.debug.Debug", - "java.lang.Double", - "org.forgerock.http.protocol.Headers", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.http.protocol.Status", - "java.util.HashMap", - "java.lang.Character$Subset", - "java.util.TreeSet", + "java.util.AbstractMap$*", "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.concurrent.TimeUnit", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", "java.util.HashSet", + "java.util.HashMap", + "java.util.HashMap$KeyIterator", "java.util.LinkedHashMap", - "org.forgerock.http.protocol.ResponseException", - "java.util.Collections$UnmodifiableRandomAccessList", - "org.forgerock.http.protocol.Message", - "java.lang.Boolean", - "java.lang.String", - "java.lang.Number", - "java.util.LinkedList", "java.util.LinkedHashSet", - "org.forgerock.http.protocol.Response", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.LinkedList", "java.util.TreeMap", - "java.util.Collections$EmptyList", - "org.forgerock.openam.scripting.api.ScriptedSession", - "java.util.Collections$UnmodifiableCollection$1", - "org.forgerock.http.Handler", - "java.lang.Object", - "org.forgerock.http.protocol.Form" - ] - }, - "languages": [ - "JAVASCRIPT" - ] - }, - "OAUTH2_ACCESS_TOKEN_MODIFICATION": { - "_id": "OAUTH2_ACCESS_TOKEN_MODIFICATION", - "_type": { - "_id": "contexts", - "collection": true, - "name": "scriptContext" - }, - "context": { - "_id": "OAUTH2_ACCESS_TOKEN_MODIFICATION", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "javax.security.auth.callback.NameCallback", + "javax.security.auth.callback.PasswordCallback", + "javax.security.auth.callback.ChoiceCallback", + "javax.security.auth.callback.ConfirmationCallback", + "javax.security.auth.callback.LanguageCallback", + "javax.security.auth.callback.TextInputCallback", + "javax.security.auth.callback.TextOutputCallback", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.identity.authentication.callbacks.HiddenValueCallback", + "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", + "com.sun.identity.authentication.spi.HttpCallback", + "com.sun.identity.authentication.spi.MetadataCallback", + "com.sun.identity.authentication.spi.RedirectCallback", + "com.sun.identity.authentication.spi.X509CertificateCallback", + "com.sun.identity.shared.debug.Debug", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.header.*", + "org.forgerock.http.header.authorization.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.auth.node.api.Action", + "org.forgerock.openam.auth.node.api.Action$ActionBuilder", + "org.forgerock.openam.authentication.callbacks.IdPCallback", + "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.scripting.api.secrets.Secret", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openam.auth.node.api.NodeState", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "org.mozilla.javascript.ConsString", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -2495,7 +1744,7 @@ ] } }, - "defaultScript": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", + "defaultScript": "5e854779-6ec1-4c39-aeba-0477e0986646", "engineConfiguration": { "_id": "engineConfiguration", "_type": { @@ -2516,13 +1765,6 @@ "serverTimeout": 0, "useSecurityManager": true, "whiteList": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", "java.lang.Boolean", "java.lang.Byte", "java.lang.Character", @@ -2539,1113 +1781,1617 @@ "java.lang.StrictMath", "java.lang.String", "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.AbstractMap$*", "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", + "java.util.Collections", + "java.util.Collections$*", + "java.util.concurrent.TimeUnit", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.HashSet", "java.util.HashMap", - "java.util.HashMap$Entry", "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", "java.util.LinkedHashSet", "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", "java.util.TreeMap", "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "javax.security.auth.callback.NameCallback", + "javax.security.auth.callback.PasswordCallback", + "javax.security.auth.callback.ChoiceCallback", + "javax.security.auth.callback.ConfirmationCallback", + "javax.security.auth.callback.LanguageCallback", + "javax.security.auth.callback.TextInputCallback", + "javax.security.auth.callback.TextOutputCallback", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.identity.authentication.callbacks.HiddenValueCallback", + "com.sun.identity.authentication.callbacks.ScriptTextOutputCallback", + "com.sun.identity.authentication.spi.HttpCallback", + "com.sun.identity.authentication.spi.MetadataCallback", + "com.sun.identity.authentication.spi.RedirectCallback", + "com.sun.identity.authentication.spi.X509CertificateCallback", + "com.sun.identity.shared.debug.Debug", "org.codehaus.groovy.runtime.GStringImpl", "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "org.forgerock.http.protocol.Cookie", + "org.forgerock.http.header.*", + "org.forgerock.http.header.authorization.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.auth.node.api.Action", + "org.forgerock.openam.auth.node.api.Action$ActionBuilder", + "org.forgerock.openam.authentication.callbacks.IdPCallback", + "org.forgerock.openam.authentication.callbacks.PollingWaitCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedPasswordCallback", + "org.forgerock.openam.authentication.callbacks.ValidatedUsernameCallback", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", "org.forgerock.openam.scripting.api.http.GroovyHttpClient", "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.core.rest.devices.profile.DeviceProfilesDao", + "org.forgerock.openam.scripting.idrepo.ScriptIdentityRepository", "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.scripting.api.secrets.Secret", "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.auth.node.api.NodeState", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "org.mozilla.javascript.ConsString", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", "org.mozilla.javascript.JavaScriptException", "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.openam.authentication.callbacks.BooleanAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.NumberAttributeInputCallback", + "org.forgerock.openam.authentication.callbacks.StringAttributeInputCallback", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" ] }, - "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER": { - "_id": "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER", + "CONFIG_PROVIDER_NODE_NEXT_GEN": { + "_id": "CONFIG_PROVIDER_NODE_NEXT_GEN", "_type": { "_id": "contexts", "collection": true, "name": "scriptContext" }, "context": { - "_id": "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.exceptions.ServerException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.exceptions.ServerException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, - "evaluatorVersions": { - "GROOVY": [ - "1.0" - ], - "JAVASCRIPT": [ - "1.0" - ] - } - }, - "defaultScript": "3f93ef6e-e54a-4393-aba1-f322656db28a", - "engineConfiguration": { - "_id": "engineConfiguration", - "_type": { - "_id": "engineConfiguration", - "collection": false, - "name": "Scripting engine configuration" - }, - "blackList": [ - "java.security.AccessController", - "java.lang.Class", - "java.lang.reflect.*" + "_id": "CONFIG_PROVIDER_NODE_NEXT_GEN", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestParameters" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getIdentity", + "parameters": [ + { + "javaScriptType": "string", + "name": "userName" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper", + "javaScriptType": "object", + "name": "idRepository" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestHeaders" + }, + { + "elements": [ + { + "elementType": "method", + "name": "remove", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "get", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "keys", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getObject", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "isDefined", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "putShared", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putTransient", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeShared", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeTransient", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.node.api.NodeStateScriptWrapper", + "javaScriptType": "object", + "name": "nodeState" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "existingSession" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } ], - "coreThreads": 10, - "idleTimeout": 60, - "maxThreads": 50, - "propertyNamePrefix": "script", - "queueSize": 10, - "serverTimeout": 0, - "useSecurityManager": true, - "whiteList": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.exceptions.ServerException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, - "languages": [ - "JAVASCRIPT", - "GROOVY" - ] - }, - "OAUTH2_EVALUATE_SCOPE": { - "_id": "OAUTH2_EVALUATE_SCOPE", - "_type": { - "_id": "contexts", - "collection": true, - "name": "scriptContext" - }, - "context": { - "_id": "OAUTH2_EVALUATE_SCOPE", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, - "evaluatorVersions": { - "GROOVY": [ - "1.0" - ], - "JAVASCRIPT": [ - "1.0" - ] - } - }, - "defaultScript": "da56fe60-8b38-4c46-a405-d6b306d4b336", - "engineConfiguration": { - "_id": "engineConfiguration", - "_type": { - "_id": "engineConfiguration", - "collection": false, - "name": "Scripting engine configuration" - }, - "blackList": [ - "java.security.AccessController", - "java.lang.Class", - "java.lang.reflect.*" - ], - "coreThreads": 10, - "idleTimeout": 60, - "maxThreads": 50, - "propertyNamePrefix": "script", - "queueSize": 10, - "serverTimeout": 0, - "useSecurityManager": true, - "whiteList": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, - "languages": [ - "JAVASCRIPT", - "GROOVY" - ] - }, - "OAUTH2_MAY_ACT": { - "_id": "OAUTH2_MAY_ACT", - "_type": { - "_id": "contexts", - "collection": true, - "name": "scriptContext" - }, - "context": { - "_id": "OAUTH2_MAY_ACT", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.oauth2.core.tokenexchange.ExchangeableToken", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.OpenIdConnectToken", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.oauth2.core.tokenexchange.ExchangeableToken", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.OpenIdConnectToken", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, - "evaluatorVersions": { - "GROOVY": [ - "1.0" - ], - "JAVASCRIPT": [ - "1.0" - ] - } - }, - "defaultScript": "[Empty]", - "engineConfiguration": { - "_id": "engineConfiguration", - "_type": { - "_id": "engineConfiguration", - "collection": false, - "name": "Scripting engine configuration" - }, - "blackList": [ - "java.security.AccessController", - "java.lang.Class", - "java.lang.reflect.*" - ], - "coreThreads": 10, - "idleTimeout": 60, - "maxThreads": 50, - "propertyNamePrefix": "script", - "queueSize": 10, - "serverTimeout": 0, - "useSecurityManager": true, - "whiteList": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.StatefulAccessToken", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.oauth2.core.tokenexchange.ExchangeableToken", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.OpenIdConnectToken", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, - "languages": [ - "JAVASCRIPT", - "GROOVY" - ] - }, - "OAUTH2_SCRIPTED_JWT_ISSUER": { - "_id": "OAUTH2_SCRIPTED_JWT_ISSUER", - "_type": { - "_id": "contexts", - "collection": true, - "name": "scriptContext" - }, - "context": { - "_id": "OAUTH2_SCRIPTED_JWT_ISSUER", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.TrustedJwtIssuerConfig", - "org.forgerock.oauth2.core.exceptions.ServerException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.TrustedJwtIssuerConfig", - "org.forgerock.oauth2.core.exceptions.ServerException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, "evaluatorVersions": { - "GROOVY": [ - "1.0" - ], "JAVASCRIPT": [ - "1.0" + "2.0" ] } }, - "defaultScript": "400e48ba-3f13-4144-ac7b-f824ea8e98c5", + "defaultScript": "[Empty]", "engineConfiguration": { "_id": "engineConfiguration", "_type": { @@ -3654,9 +3400,9 @@ "name": "Scripting engine configuration" }, "blackList": [ - "java.security.AccessController", "java.lang.Class", - "java.lang.reflect.*" + "java.lang.reflect.*", + "java.security.AccessController" ], "coreThreads": 10, "idleTimeout": 60, @@ -3666,534 +3412,3090 @@ "serverTimeout": 0, "useSecurityManager": true, "whiteList": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", + "java.lang.Object", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] + }, + "DEVICE_MATCH_NODE": { + "_id": "DEVICE_MATCH_NODE", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "DEVICE_MATCH_NODE", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object", "java.lang.Byte", "java.lang.Character", "java.lang.Character$Subset", "java.lang.Character$UnicodeBlock", - "java.lang.Double", "java.lang.Float", - "java.lang.Integer", "java.lang.Long", "java.lang.Math", "java.lang.Number", - "java.lang.Object", "java.lang.Short", "java.lang.StrictMath", - "java.lang.String", "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.AbstractMap$*", "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", + "java.util.Collections", + "java.util.concurrent.TimeUnit", + "java.util.Collections$*", "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.HashMap$KeyIterator", "java.util.LinkedHashSet", "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.TrustedJwtIssuerConfig", - "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.util.promise.NeverThrowsException", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "com.sun.crypto.provider.PBKDF2KeyImpl", "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, - "languages": [ - "JAVASCRIPT", - "GROOVY" - ] - }, - "OAUTH2_VALIDATE_SCOPE": { - "_id": "OAUTH2_VALIDATE_SCOPE", - "_type": { - "_id": "contexts", - "collection": true, - "name": "scriptContext" - }, - "context": { - "_id": "OAUTH2_VALIDATE_SCOPE", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.exceptions.InvalidScopeException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.exceptions.InvalidScopeException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, - "evaluatorVersions": { - "GROOVY": [ - "1.0" - ], - "JAVASCRIPT": [ - "1.0" - ] - } - }, - "defaultScript": "25e6c06d-cf70-473b-bd28-26931edc476b", - "engineConfiguration": { - "_id": "engineConfiguration", - "_type": { - "_id": "engineConfiguration", - "collection": false, - "name": "Scripting engine configuration" - }, - "blackList": [ - "java.security.AccessController", - "java.lang.Class", - "java.lang.reflect.*" + "org.slf4j.Logger", + "com.sun.proxy.$*", + "java.util.Date", + "java.security.spec.InvalidKeySpecException", + "org.forgerock.openam.auth.nodes.VerifyTransactionsHelper" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "getDeviceProfiles", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + }, + { + "javaScriptType": "string", + "name": "realm" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "saveDeviceProfiles", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "javaScriptType": "array", + "name": "deviceProfiles" + } + ], + "returnType": "void" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.DeviceProfilesDaoScriptWrapper", + "javaScriptType": "object", + "name": "deviceProfilesDao" + }, + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestParameters" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getStringAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getNumberAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getKbaCreateCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getSelectIdPCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getTermsAndConditionsCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getChoiceCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getNameCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getPasswordCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getHiddenValueCallbacks", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getTextInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getBooleanAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getConfirmationCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getLanguageCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getIdpCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getValidatedPasswordCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getValidatedUsernameCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getHttpCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getX509CertificateCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getConsentMappingCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getDeviceProfileCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "isEmpty", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper", + "javaScriptType": "object", + "name": "callbacks" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getIdentity", + "parameters": [ + { + "javaScriptType": "string", + "name": "userName" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper", + "javaScriptType": "object", + "name": "idRepository" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestHeaders" + }, + { + "elements": [ + { + "elementType": "method", + "name": "generateJwt", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper", + "javaScriptType": "object", + "name": "jwtAssertion" + }, + { + "elements": [ + { + "elementType": "method", + "name": "remove", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "get", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "keys", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getObject", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "isDefined", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "putShared", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putTransient", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeShared", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeTransient", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.node.api.NodeStateScriptWrapper", + "javaScriptType": "object", + "name": "nodeState" + }, + { + "javaScriptType": "boolean", + "name": "resumedFromSuspend" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "elements": [ + { + "elementType": "method", + "name": "withIdentifiedUser", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withIdentifiedAgent", + "parameters": [ + { + "javaScriptType": "string", + "name": "agentName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + }, + { + "javaScriptType": "number", + "name": "maximumSuspendDuration" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "goTo", + "parameters": [ + { + "javaScriptType": "string", + "name": "outcome" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withHeader", + "parameters": [ + { + "javaScriptType": "string", + "name": "header" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withDescription", + "parameters": [ + { + "javaScriptType": "string", + "name": "description" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withStage", + "parameters": [ + { + "javaScriptType": "string", + "name": "stage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withErrorMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "errorMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withLockoutMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "lockoutMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "removeSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxSessionTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxSessionTime" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxIdleTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxIdleTime" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ActionWrapper", + "javaScriptType": "object", + "name": "action" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "validateJwtClaims", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper", + "javaScriptType": "object", + "name": "jwtValidator" + }, + { + "elements": [ + { + "elementType": "method", + "name": "suspendedTextOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultText" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "scriptTextOutputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "metadataCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "outputValue" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "languageCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "language" + }, + { + "javaScriptType": "string", + "name": "country" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + }, + { + "javaScriptType": "string", + "name": "token" + }, + { + "javaScriptType": "string", + "name": "tokenType" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authRHeader" + }, + { + "javaScriptType": "string", + "name": "negoName" + }, + { + "javaScriptType": "string", + "name": "negoValue" + }, + { + "javaScriptType": "number", + "name": "errorCode" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authorizationHeader" + }, + { + "javaScriptType": "string", + "name": "negotiationHeader" + }, + { + "javaScriptType": "string", + "name": "errorCode" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + }, + { + "javaScriptType": "boolean", + "name": "requestSignature" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "config" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "displayName" + }, + { + "javaScriptType": "string", + "name": "icon" + }, + { + "javaScriptType": "string", + "name": "accessLevel" + }, + { + "javaScriptType": "array", + "name": "titles" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "deviceProfileCallback", + "parameters": [ + { + "javaScriptType": "boolean", + "name": "metadata" + }, + { + "javaScriptType": "boolean", + "name": "location" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "kbaCreateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "predefinedQuestions" + }, + { + "javaScriptType": "boolean", + "name": "allowUserDefinedQuestions" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "selectIdPCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "providers" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "termsAndConditionsCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "version" + }, + { + "javaScriptType": "string", + "name": "terms" + }, + { + "javaScriptType": "string", + "name": "createDate" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "choiceCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "choices" + }, + { + "javaScriptType": "number", + "name": "defaultChoice" + }, + { + "javaScriptType": "boolean", + "name": "multipleSelectionsAllowed" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultName" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "passwordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "pollingWaitCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "waitTime" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "hiddenValueCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder", + "javaScriptType": "object", + "name": "callbacksBuilder" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestCookies" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } ], - "coreThreads": 10, - "idleTimeout": 60, - "maxThreads": 50, - "propertyNamePrefix": "script", - "queueSize": 10, - "serverTimeout": 0, - "useSecurityManager": true, - "whiteList": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.exceptions.InvalidScopeException", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, - "languages": [ - "JAVASCRIPT", - "GROOVY" - ] - }, - "OIDC_CLAIMS": { - "_id": "OIDC_CLAIMS", - "_type": { - "_id": "contexts", - "collection": true, - "name": "scriptContext" - }, - "context": { - "_id": "OIDC_CLAIMS", - "allowLists": { - "1.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ], - "2.0": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", - "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, "evaluatorVersions": { - "GROOVY": [ - "1.0" - ], "JAVASCRIPT": [ - "1.0" + "2.0" ] } }, - "defaultScript": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", + "defaultScript": "11e1a3c0-038b-4c16-956a-6c9d89328d00", "engineConfiguration": { "_id": "engineConfiguration", "_type": { @@ -4202,9 +6504,9 @@ "name": "Scripting engine configuration" }, "blackList": [ - "java.security.AccessController", "java.lang.Class", - "java.lang.reflect.*" + "java.lang.reflect.*", + "java.security.AccessController" ], "coreThreads": 10, "idleTimeout": 60, @@ -4214,179 +6516,1425 @@ "serverTimeout": 0, "useSecurityManager": true, "whiteList": [ - "com.google.common.collect.Sets$1", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "java.lang.Boolean", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.proxy.$*", "java.lang.Byte", "java.lang.Character", "java.lang.Character$Subset", "java.lang.Character$UnicodeBlock", - "java.lang.Double", "java.lang.Float", - "java.lang.Integer", "java.lang.Long", "java.lang.Math", "java.lang.Number", "java.lang.Object", "java.lang.Short", "java.lang.StrictMath", - "java.lang.String", "java.lang.Void", - "java.net.URI", - "java.util.AbstractMap$SimpleImmutableEntry", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.MGF1ParameterSpec", + "java.security.spec.X509EncodedKeySpec", + "java.util.AbstractMap$*", "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", + "java.util.Collections", + "java.util.Collections$*", "java.util.Collections$UnmodifiableCollection$1", - "java.util.Collections$UnmodifiableMap", "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableSet", - "java.util.HashMap", - "java.util.HashMap$Entry", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.concurrent.TimeUnit", + "java.util.Date", "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", "java.util.LinkedHashSet", "java.util.LinkedList", - "java.util.List", - "java.util.Locale", - "java.util.Map", - "java.util.TreeMap", "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.*", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", "org.forgerock.json.JsonValue", - "org.forgerock.macaroons.Macaroon", - "org.forgerock.oauth.clients.oidc.Claim", - "org.forgerock.oauth2.core.GrantType", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.oauth2.core.exceptions.InvalidRequestException", - "org.forgerock.openam.oauth2.OpenAMAccessToken", - "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.auth.nodes.VerifyTransactionsHelper", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", - "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.opendj.ldap.Dn", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.openidconnect.Claim", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.NeverThrowsException", "org.forgerock.util.promise.PromiseImpl", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" + "org.forgerock.util.promise.Promises$*", + "org.slf4j.Logger", + "sun.security.ec.ECPrivateKeyImpl" ] }, + "isHidden": false, "languages": [ - "JAVASCRIPT", - "GROOVY" + "JAVASCRIPT" ] }, - "POLICY_CONDITION": { - "_id": "POLICY_CONDITION", + "LIBRARY": { + "_id": "LIBRARY", "_type": { "_id": "contexts", "collection": true, "name": "scriptContext" }, "context": { - "_id": "POLICY_CONDITION", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.ArrayList", - "java.util.HashSet", - "java.util.HashMap", - "java.util.HashMap$KeyIterator", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "com.sun.identity.shared.debug.Debug", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.Client", - "org.forgerock.http.Handler", - "org.forgerock.http.Context", - "org.forgerock.http.context.RootContext", - "java.util.Collections$EmptyList", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", - "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.util.promise.NeverThrowsException", - "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "groovy.json.JsonSlurper", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ], - "2.0": [ - "jdk.proxy*" - ] - }, + "_id": "LIBRARY", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], "evaluatorVersions": { - "GROOVY": [ - "1.0" - ], "JAVASCRIPT": [ - "1.0" + "2.0" ] } }, - "defaultScript": "9de3eb62-f131-4fac-a294-7bd170fd4acb", + "defaultScript": "[Empty]", "engineConfiguration": { "_id": "engineConfiguration", "_type": { @@ -4395,8 +7943,8 @@ "name": "Scripting engine configuration" }, "blackList": [ - "java.security.AccessController", "java.lang.Class", + "java.security.AccessController", "java.lang.reflect.*" ], "coreThreads": 10, @@ -4407,467 +7955,3115 @@ "serverTimeout": 0, "useSecurityManager": true, "whiteList": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", "java.lang.Float", + "org.forgerock.http.protocol.Header", "java.lang.Integer", + "org.forgerock.http.Client", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", "java.lang.Short", + "java.util.Map", + "org.forgerock.http.client.*", + "java.lang.Math", + "org.forgerock.opendj.ldap.Dn", + "java.lang.Byte", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", "java.lang.StrictMath", - "java.lang.String", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.http.Context", "java.lang.Void", - "java.util.ArrayList", - "java.util.HashSet", - "java.util.HashMap", - "java.util.HashMap$KeyIterator", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "com.sun.identity.shared.debug.Debug", "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.Client", - "org.forgerock.http.Handler", - "org.forgerock.http.Context", - "org.forgerock.http.context.RootContext", - "java.util.Collections$EmptyList", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Form", - "org.forgerock.http.protocol.Header", - "org.forgerock.http.protocol.Headers", - "org.forgerock.http.protocol.Message", + "groovy.json.JsonSlurper", "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.context.RootContext", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "java.util.List", "org.forgerock.http.protocol.RequestCookies", - "org.forgerock.http.protocol.Response", - "org.forgerock.http.protocol.ResponseException", "org.forgerock.http.protocol.Responses", - "org.forgerock.http.protocol.Status", - "org.forgerock.util.promise.NeverThrowsException", "org.forgerock.util.promise.Promise", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "java.util.HashMap$KeyIterator", + "com.sun.identity.shared.debug.Debug", + "java.lang.Double", + "org.forgerock.http.protocol.Headers", "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", - "org.forgerock.openam.scripting.api.ScriptedSession", - "groovy.json.JsonSlurper", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn" - ] - }, - "languages": [ - "JAVASCRIPT", - "GROOVY" - ] - }, - "SAML2_IDP_ADAPTER": { - "_id": "SAML2_IDP_ADAPTER", - "_type": { - "_id": "contexts", - "collection": true, - "name": "scriptContext" - }, - "context": { - "_id": "SAML2_IDP_ADAPTER", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "com.sun.identity.saml2.common.SAML2Exception", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "com.sun.identity.saml2.assertion.*", - "com.sun.identity.saml2.assertion.impl.*", - "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", - "com.sun.identity.saml2.protocol.*", - "com.sun.identity.saml2.protocol.impl.*", - "java.io.PrintWriter", - "javax.security.auth.Subject", - "javax.servlet.http.HttpServletRequestWrapper", - "javax.servlet.http.HttpServletResponseWrapper", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper", - "jdk.proxy*" - ], - "2.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.sun.identity.common.CaseInsensitiveHashMap", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "org.forgerock.util.promise.PromiseImpl", - "javax.servlet.http.Cookie", - "org.xml.sax.InputSource", - "java.security.cert.CertificateFactory", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.io.PrintWriter", - "javax.security.auth.Subject", - "javax.servlet.http.HttpServletRequestWrapper", - "javax.servlet.http.HttpServletResponseWrapper", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, - "evaluatorVersions": { - "GROOVY": [ - "1.0" - ], - "JAVASCRIPT": [ - "1.0" - ] - } - }, - "defaultScript": "248b8a56-df81-4b1b-b4ba-45d994f6504c", - "engineConfiguration": { - "_id": "engineConfiguration", - "_type": { - "_id": "engineConfiguration", - "collection": false, - "name": "Scripting engine configuration" - }, - "blackList": [ - "java.security.AccessController", - "java.lang.Class", - "java.lang.reflect.*" - ], - "coreThreads": 10, - "idleTimeout": 60, - "maxThreads": 50, - "propertyNamePrefix": "script", - "queueSize": 10, - "serverTimeout": 0, - "useSecurityManager": true, - "whiteList": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", + "org.forgerock.http.protocol.Status", + "java.util.HashMap", "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.TreeSet", "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", "java.util.HashSet", "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", + "org.forgerock.http.protocol.ResponseException", + "java.util.Collections$UnmodifiableRandomAccessList", + "org.forgerock.http.protocol.Message", + "java.lang.Boolean", + "java.lang.String", + "java.lang.Number", "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "com.sun.identity.saml2.common.SAML2Exception", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", + "java.util.LinkedHashSet", + "org.forgerock.http.protocol.Response", + "org.forgerock.util.promise.NeverThrowsException", "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "com.sun.identity.saml2.assertion.*", - "com.sun.identity.saml2.assertion.impl.*", - "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", - "com.sun.identity.saml2.protocol.*", - "com.sun.identity.saml2.protocol.impl.*", - "java.io.PrintWriter", - "javax.security.auth.Subject", - "javax.servlet.http.HttpServletRequestWrapper", - "javax.servlet.http.HttpServletResponseWrapper", "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper", - "jdk.proxy*" + "java.util.TreeMap", + "java.util.Collections$EmptyList", + "org.forgerock.openam.scripting.api.ScriptedSession", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.http.Handler", + "java.lang.Object", + "org.forgerock.http.protocol.Form" ] }, + "isHidden": false, "languages": [ - "JAVASCRIPT", - "GROOVY" + "JAVASCRIPT" ] }, - "SAML2_IDP_ATTRIBUTE_MAPPER": { - "_id": "SAML2_IDP_ATTRIBUTE_MAPPER", + "NODE_DESIGNER": { + "_id": "NODE_DESIGNER", "_type": { "_id": "contexts", "collection": true, "name": "scriptContext" }, "context": { - "_id": "SAML2_IDP_ATTRIBUTE_MAPPER", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "com.sun.identity.saml2.common.SAML2Exception", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "com.sun.identity.saml2.assertion.impl.AttributeImpl", - "com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper", - "javax.servlet.http.Cookie", - "javax.xml.parsers.DocumentBuilder", - "javax.xml.parsers.DocumentBuilderFactory", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.w3c.dom.Document", - "org.w3c.dom.Element", - "org.xml.sax.InputSource", - "jdk.proxy*" - ], - "2.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.sun.identity.common.CaseInsensitiveHashMap", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "org.forgerock.util.promise.PromiseImpl", - "javax.servlet.http.Cookie", - "org.xml.sax.InputSource", - "java.security.cert.CertificateFactory", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "jdk.proxy*" - ] - }, + "_id": "NODE_DESIGNER", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.concurrent.TimeUnit", + "java.util.Collections$*", + "java.util.HashSet", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "sun.security.ec.ECPrivateKeyImpl", + "ch.qos.logback.classic.Logger", + "com.sun.proxy.$*", + "java.util.Date", + "java.security.spec.InvalidKeySpecException" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestParameters" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getStringAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getNumberAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getKbaCreateCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getSelectIdPCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getTermsAndConditionsCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getChoiceCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getNameCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getPasswordCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getHiddenValueCallbacks", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getTextInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getBooleanAttributeInputCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getConfirmationCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getLanguageCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getIdpCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getValidatedPasswordCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getValidatedUsernameCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getHttpCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getX509CertificateCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getConsentMappingCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getDeviceProfileCallbacks", + "parameters": [], + "returnType": "array" + }, + { + "elementType": "method", + "name": "isEmpty", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper", + "javaScriptType": "object", + "name": "callbacks" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getIdentity", + "parameters": [ + { + "javaScriptType": "string", + "name": "userName" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper", + "javaScriptType": "object", + "name": "idRepository" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestHeaders" + }, + { + "elements": [ + { + "elementType": "method", + "name": "generateJwt", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper", + "javaScriptType": "object", + "name": "jwtAssertion" + }, + { + "elements": [ + { + "elementType": "method", + "name": "remove", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "get", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "keys", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getObject", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "isDefined", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "putShared", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putTransient", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeShared", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeTransient", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.node.api.NodeStateScriptWrapper", + "javaScriptType": "object", + "name": "nodeState" + }, + { + "javaScriptType": "boolean", + "name": "resumedFromSuspend" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "existingSession" + }, + { + "elements": [ + { + "elementType": "method", + "name": "withIdentifiedUser", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withIdentifiedAgent", + "parameters": [ + { + "javaScriptType": "string", + "name": "agentName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + }, + { + "javaScriptType": "number", + "name": "maximumSuspendDuration" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "goTo", + "parameters": [ + { + "javaScriptType": "string", + "name": "outcome" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withHeader", + "parameters": [ + { + "javaScriptType": "string", + "name": "header" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withDescription", + "parameters": [ + { + "javaScriptType": "string", + "name": "description" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withStage", + "parameters": [ + { + "javaScriptType": "string", + "name": "stage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withErrorMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "errorMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withLockoutMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "lockoutMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "removeSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxSessionTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxSessionTime" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxIdleTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxIdleTime" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ActionWrapper", + "javaScriptType": "object", + "name": "action" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "validateJwtClaims", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper", + "javaScriptType": "object", + "name": "jwtValidator" + }, + { + "elements": [ + { + "elementType": "method", + "name": "suspendedTextOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultText" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "scriptTextOutputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "metadataCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "outputValue" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "languageCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "language" + }, + { + "javaScriptType": "string", + "name": "country" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + }, + { + "javaScriptType": "string", + "name": "token" + }, + { + "javaScriptType": "string", + "name": "tokenType" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authRHeader" + }, + { + "javaScriptType": "string", + "name": "negoName" + }, + { + "javaScriptType": "string", + "name": "negoValue" + }, + { + "javaScriptType": "number", + "name": "errorCode" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authorizationHeader" + }, + { + "javaScriptType": "string", + "name": "negotiationHeader" + }, + { + "javaScriptType": "string", + "name": "errorCode" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + }, + { + "javaScriptType": "boolean", + "name": "requestSignature" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "config" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "displayName" + }, + { + "javaScriptType": "string", + "name": "icon" + }, + { + "javaScriptType": "string", + "name": "accessLevel" + }, + { + "javaScriptType": "array", + "name": "titles" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "deviceProfileCallback", + "parameters": [ + { + "javaScriptType": "boolean", + "name": "metadata" + }, + { + "javaScriptType": "boolean", + "name": "location" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "kbaCreateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "predefinedQuestions" + }, + { + "javaScriptType": "boolean", + "name": "allowUserDefinedQuestions" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "selectIdPCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "providers" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "termsAndConditionsCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "version" + }, + { + "javaScriptType": "string", + "name": "terms" + }, + { + "javaScriptType": "string", + "name": "createDate" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "choiceCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "choices" + }, + { + "javaScriptType": "number", + "name": "defaultChoice" + }, + { + "javaScriptType": "boolean", + "name": "multipleSelectionsAllowed" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultName" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "passwordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "textOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "pollingWaitCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "waitTime" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "hiddenValueCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder", + "javaScriptType": "object", + "name": "callbacksBuilder" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestCookies" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "properties" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], "evaluatorVersions": { - "GROOVY": [ - "1.0" - ], "JAVASCRIPT": [ - "1.0" + "2.0" ] } }, - "defaultScript": "c4f22465-2368-4e27-8013-e6399974fd48", + "defaultScript": "[Empty]", "engineConfiguration": { "_id": "engineConfiguration", "_type": { @@ -4876,9 +11072,9 @@ "name": "Scripting engine configuration" }, "blackList": [ - "java.security.AccessController", "java.lang.Class", - "java.lang.reflect.*" + "java.lang.reflect.*", + "java.security.AccessController" ], "coreThreads": 10, "idleTimeout": 60, @@ -4888,252 +11084,80 @@ "serverTimeout": 0, "useSecurityManager": true, "whiteList": [ - "java.lang.Boolean", + "ch.qos.logback.classic.Logger", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.proxy.$*", "java.lang.Byte", "java.lang.Character", "java.lang.Character$Subset", "java.lang.Character$UnicodeBlock", - "java.lang.Double", "java.lang.Float", - "java.lang.Integer", "java.lang.Long", "java.lang.Math", "java.lang.Number", "java.lang.Object", "java.lang.Short", "java.lang.StrictMath", - "java.lang.String", "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.MGF1ParameterSpec", + "java.security.spec.X509EncodedKeySpec", + "java.util.AbstractMap$*", "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections", + "java.util.Collections$*", "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.concurrent.TimeUnit", + "java.util.Date", "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", "java.util.LinkedHashSet", "java.util.LinkedList", - "java.util.TreeMap", "java.util.TreeSet", - "java.net.URI", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "com.sun.identity.saml2.common.SAML2Exception", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.util.promise.PromiseImpl", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "com.sun.identity.saml2.assertion.impl.AttributeImpl", - "com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper", - "javax.servlet.http.Cookie", - "javax.xml.parsers.DocumentBuilder", - "javax.xml.parsers.DocumentBuilderFactory", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.w3c.dom.Document", - "org.w3c.dom.Element", - "org.xml.sax.InputSource", - "jdk.proxy*" + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "sun.security.ec.ECPrivateKeyImpl" ] }, + "isHidden": true, "languages": [ - "JAVASCRIPT", - "GROOVY" + "JAVASCRIPT" ] }, - "SAML2_SP_ADAPTER": { - "_id": "SAML2_SP_ADAPTER", + "OAUTH2_ACCESS_TOKEN_MODIFICATION": { + "_id": "OAUTH2_ACCESS_TOKEN_MODIFICATION", "_type": { "_id": "contexts", "collection": true, "name": "scriptContext" }, "context": { - "_id": "SAML2_SP_ADAPTER", - "allowLists": { - "1.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "com.sun.identity.saml2.common.SAML2Exception", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.Client", - "org.forgerock.http.client.*", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "com.sun.identity.saml2.assertion.*", - "com.sun.identity.saml2.assertion.impl.*", - "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", - "com.sun.identity.saml2.protocol.*", - "com.sun.identity.saml2.protocol.impl.*", - "java.io.PrintWriter", - "javax.security.auth.Subject", - "javax.servlet.http.HttpServletRequestWrapper", - "javax.servlet.http.HttpServletResponseWrapper", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper", - "jdk.proxy*" - ], - "2.0": [ - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList", - "java.util.ArrayList$Itr", - "java.util.Collections$Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", - "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "java.util.HashMap", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$KeySet", - "java.util.HashMap$Node", - "java.util.HashSet", - "java.util.LinkedHashMap", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "java.net.URI", - "com.sun.identity.common.CaseInsensitiveHashMap", - "org.forgerock.json.JsonValue", - "org.mozilla.javascript.JavaScriptException", - "org.forgerock.util.promise.PromiseImpl", - "javax.servlet.http.Cookie", - "org.xml.sax.InputSource", - "java.security.cert.CertificateFactory", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.io.PrintWriter", - "javax.security.auth.Subject", - "javax.servlet.http.HttpServletRequestWrapper", - "javax.servlet.http.HttpServletResponseWrapper", - "sun.security.ec.ECPrivateKeyImpl", - "jdk.proxy*" - ] - }, - "evaluatorVersions": { - "GROOVY": [ - "1.0" - ], - "JAVASCRIPT": [ - "1.0" - ] - } - }, - "defaultScript": "69f06e63-128c-4e2f-af52-079a8a6f448b", - "engineConfiguration": { - "_id": "engineConfiguration", - "_type": { - "_id": "engineConfiguration", - "collection": false, - "name": "Scripting engine configuration" - }, - "blackList": [ - "java.security.AccessController", - "java.lang.Class", - "java.lang.reflect.*" - ], - "coreThreads": 10, - "idleTimeout": 60, - "maxThreads": 50, - "propertyNamePrefix": "script", - "queueSize": 10, - "serverTimeout": 0, - "useSecurityManager": true, - "whiteList": [ + "_id": "OAUTH2_ACCESS_TOKEN_MODIFICATION", + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", "java.lang.Boolean", "java.lang.Byte", "java.lang.Character", @@ -5150,15 +11174,17 @@ "java.lang.StrictMath", "java.lang.String", "java.lang.Void", + "java.net.URI", "java.util.AbstractMap$SimpleImmutableEntry", "java.util.ArrayList", "java.util.ArrayList$Itr", "java.util.Collections$1", "java.util.Collections$EmptyList", - "java.util.Collections$EmptyMap", "java.util.Collections$SingletonList", - "java.util.Collections$UnmodifiableRandomAccessList", "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", "java.util.HashMap", "java.util.HashMap$Entry", "java.util.HashMap$KeyIterator", @@ -5171,188 +11197,43 @@ "java.util.LinkedHashMap$LinkedEntrySet", "java.util.LinkedHashSet", "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", "java.util.TreeMap", "java.util.TreeSet", - "java.net.URI", - "com.iplanet.am.sdk.AMHashMap", - "com.iplanet.sso.providers.dpro.SessionSsoToken", - "com.sun.identity.common.CaseInsensitiveHashMap", - "com.sun.identity.shared.debug.Debug", - "com.sun.identity.saml2.common.SAML2Exception", - "groovy.json.JsonSlurper", - "groovy.json.internal.LazyMap", "org.codehaus.groovy.runtime.GStringImpl", "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", "org.forgerock.http.Client", "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", "org.forgerock.openam.scripting.api.http.GroovyHttpClient", "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.json.JsonValue", "org.mozilla.javascript.JavaScriptException", - "com.sun.identity.saml2.assertion.*", - "com.sun.identity.saml2.assertion.impl.*", - "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", - "com.sun.identity.saml2.protocol.*", - "com.sun.identity.saml2.protocol.impl.*", - "java.io.PrintWriter", - "javax.security.auth.Subject", - "javax.servlet.http.HttpServletRequestWrapper", - "javax.servlet.http.HttpServletResponseWrapper", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper", - "jdk.proxy*" - ] - }, - "languages": [ - "JAVASCRIPT", - "GROOVY" - ] - }, - "SOCIAL_IDP_PROFILE_TRANSFORMATION": { - "_id": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "_type": { - "_id": "contexts", - "collection": true, - "name": "scriptContext" - }, - "context": { - "_id": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "allowLists": { - "1.0": [ - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Character", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList$Itr", - "java.util.ArrayList", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$Node", - "java.util.HashMap", - "java.util.HashSet", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.Response", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.forgerock.oauth.clients.oidc.Claim", - "java.util.Locale", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ], - "2.0": [ - "com.sun.identity.idm.AMIdentity", - "com.sun.identity.shared.debug.Debug", - "groovy.json.JsonSlurper", - "java.lang.Boolean", - "java.lang.Byte", - "java.lang.Character$Subset", - "java.lang.Character$UnicodeBlock", - "java.lang.Character", - "java.lang.Double", - "java.lang.Float", - "java.lang.Integer", - "java.lang.Long", - "java.lang.Math", - "java.lang.Number", - "java.lang.Object", - "java.lang.Short", - "java.lang.StrictMath", - "java.lang.String", - "java.lang.Void", - "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList$Itr", - "java.util.ArrayList", - "java.util.Collections$1", - "java.util.Collections$EmptyList", - "java.util.Collections$SingletonList", - "java.util.HashMap$Entry", - "java.util.HashMap$KeyIterator", - "java.util.HashMap$Node", - "java.util.HashMap", - "java.util.HashSet", - "java.util.LinkedHashMap$Entry", - "java.util.LinkedHashMap$LinkedEntryIterator", - "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashMap", - "java.util.LinkedHashSet", - "java.util.LinkedList", - "java.util.TreeMap", - "java.util.TreeSet", - "org.codehaus.groovy.runtime.GStringImpl", - "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", - "org.forgerock.http.client.*", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.Response", - "org.forgerock.json.JsonValue", - "org.forgerock.oauth2.core.UserInfoClaims", - "org.forgerock.openam.scripting.api.http.GroovyHttpClient", - "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", - "org.forgerock.openam.shared.security.crypto.CertificateService", - "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", - "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.forgerock.oauth.clients.oidc.Claim", - "java.util.Locale", - "org.mozilla.javascript.JavaScriptException", - "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", - "jdk.proxy*" - ] - }, + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], "evaluatorVersions": { "GROOVY": [ "1.0" @@ -5362,7 +11243,7 @@ ] } }, - "defaultScript": "1d475815-72cb-42eb-aafd-4026989d28a7", + "defaultScript": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", "engineConfiguration": { "_id": "engineConfiguration", "_type": { @@ -5383,14 +11264,18 @@ "serverTimeout": 0, "useSecurityManager": true, "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", "com.sun.identity.idm.AMIdentity", "com.sun.identity.shared.debug.Debug", "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", "java.lang.Boolean", "java.lang.Byte", + "java.lang.Character", "java.lang.Character$Subset", "java.lang.Character$UnicodeBlock", - "java.lang.Character", "java.lang.Double", "java.lang.Float", "java.lang.Integer", @@ -5402,4813 +11287,15871 @@ "java.lang.StrictMath", "java.lang.String", "java.lang.Void", + "java.net.URI", "java.util.AbstractMap$SimpleImmutableEntry", - "java.util.ArrayList$Itr", "java.util.ArrayList", + "java.util.ArrayList$Itr", "java.util.Collections$1", "java.util.Collections$EmptyList", "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", "java.util.HashMap$Entry", "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", "java.util.HashMap$Node", - "java.util.HashMap", "java.util.HashSet", + "java.util.LinkedHashMap", "java.util.LinkedHashMap$Entry", "java.util.LinkedHashMap$LinkedEntryIterator", "java.util.LinkedHashMap$LinkedEntrySet", - "java.util.LinkedHashMap", "java.util.LinkedHashSet", "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", "java.util.TreeMap", "java.util.TreeSet", "org.codehaus.groovy.runtime.GStringImpl", "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", "org.forgerock.http.client.*", - "org.forgerock.http.protocol.Entity", - "org.forgerock.http.protocol.Request", - "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.*", "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", "org.forgerock.openam.scripting.api.http.GroovyHttpClient", "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", "org.forgerock.util.promise.PromiseImpl", - "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", - "java.util.List", - "java.util.Map", - "java.util.Collections$UnmodifiableRandomAccessList", - "java.util.Collections$UnmodifiableCollection$1", - "org.forgerock.oauth.clients.oidc.Claim", - "java.util.Locale", "org.mozilla.javascript.JavaScriptException", "sun.security.ec.ECPrivateKeyImpl", - "org.forgerock.opendj.ldap.Rdn", - "org.forgerock.opendj.ldap.Dn", "jdk.proxy*" ] }, + "isHidden": false, "languages": [ "JAVASCRIPT", "GROOVY" ] - } - }, - "secrets": { - "GlobalSecrets": { - "_id": "GlobalSecrets", - "_type": { - "_id": "GlobalSecrets", - "collection": false, - "name": "Global Secrets Settings" - }, - "storeTypes": [ - "EnvironmentAndSystemPropertySecretStore", - "KeyStoreSecretStore", - "GoogleSecretManagerSecretStoreProvider", - "GoogleKeyManagementServiceSecretStore", - "HsmSecretStore", - "FileSystemSecretStore" - ] - } - }, - "secretstore": { - "EnvironmentAndSystemPropertySecretStore": { - "_id": "EnvironmentAndSystemPropertySecretStore", - "_type": { - "_id": "EnvironmentAndSystemPropertySecretStore", - "collection": false, - "name": "Environment and System Property Secrets Store" - }, - "format": "BASE64" - }, - "default-keystore": { - "_id": "default-keystore", - "_type": { - "_id": "KeyStoreSecretStore", - "collection": true, - "name": "Keystore" - }, - "file": "/home/prestonhales/am/security/keystores/keystore.jceks", - "keyEntryPassword": "entrypass", - "leaseExpiryDuration": 5, - "mappings": [ - { - "_id": "am.applications.agents.remote.consent.request.signing.ES256", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "es256test" - ], - "secretId": "am.applications.agents.remote.consent.request.signing.ES256" - }, - { - "_id": "am.applications.agents.remote.consent.request.signing.ES384", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "es384test" - ], - "secretId": "am.applications.agents.remote.consent.request.signing.ES384" - }, - { - "_id": "am.applications.agents.remote.consent.request.signing.ES512", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "es512test" - ], - "secretId": "am.applications.agents.remote.consent.request.signing.ES512" - }, - { - "_id": "am.applications.agents.remote.consent.request.signing.RSA", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "rsajwtsigningkey" - ], - "secretId": "am.applications.agents.remote.consent.request.signing.RSA" - }, - { - "_id": "am.authentication.nodes.persistentcookie.encryption", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "test" - ], - "secretId": "am.authentication.nodes.persistentcookie.encryption" - }, - { - "_id": "am.authn.authid.signing.HMAC", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "hmacsigningtest" - ], - "secretId": "am.authn.authid.signing.HMAC" - }, - { - "_id": "am.authn.trees.transientstate.encryption", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "directenctest" - ], - "secretId": "am.authn.trees.transientstate.encryption" - }, - { - "_id": "am.default.applications.federation.entity.providers.saml2.idp.encryption", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "test" - ], - "secretId": "am.default.applications.federation.entity.providers.saml2.idp.encryption" - }, - { - "_id": "am.default.applications.federation.entity.providers.saml2.idp.signing", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "rsajwtsigningkey" - ], - "secretId": "am.default.applications.federation.entity.providers.saml2.idp.signing" - }, - { - "_id": "am.default.applications.federation.entity.providers.saml2.sp.encryption", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "test" - ], - "secretId": "am.default.applications.federation.entity.providers.saml2.sp.encryption" - }, - { - "_id": "am.default.applications.federation.entity.providers.saml2.sp.signing", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "rsajwtsigningkey" - ], - "secretId": "am.default.applications.federation.entity.providers.saml2.sp.signing" - }, - { - "_id": "am.default.authentication.modules.persistentcookie.encryption", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "test" - ], - "secretId": "am.default.authentication.modules.persistentcookie.encryption" - }, - { - "_id": "am.default.authentication.modules.persistentcookie.signing", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "hmacsigningtest" - ], - "secretId": "am.default.authentication.modules.persistentcookie.signing" - }, - { - "_id": "am.default.authentication.nodes.persistentcookie.signing", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "hmacsigningtest" - ], - "secretId": "am.default.authentication.nodes.persistentcookie.signing" - }, - { - "_id": "am.global.services.oauth2.oidc.agent.idtoken.signing", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "rsajwtsigningkey" - ], - "secretId": "am.global.services.oauth2.oidc.agent.idtoken.signing" - }, - { - "_id": "am.global.services.saml2.client.storage.jwt.encryption", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "directenctest" - ], - "secretId": "am.global.services.saml2.client.storage.jwt.encryption" - }, - { - "_id": "am.global.services.session.clientbased.encryption.AES", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "aestest" + }, + "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER": { + "_id": "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER", + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], + "evaluatorVersions": { + "GROOVY": [ + "1.0" ], - "secretId": "am.global.services.session.clientbased.encryption.AES" + "JAVASCRIPT": [ + "1.0" + ] + } + }, + "defaultScript": "3f93ef6e-e54a-4393-aba1-f322656db28a", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" }, - { - "_id": "am.global.services.session.clientbased.signing.HMAC", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT", + "GROOVY" + ] + }, + "OAUTH2_DYNAMIC_CLIENT_REGISTRATION": { + "_id": "OAUTH2_DYNAMIC_CLIENT_REGISTRATION", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "OAUTH2_DYNAMIC_CLIENT_REGISTRATION", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" }, - "aliases": [ - "hmacsigningtest" - ], - "secretId": "am.global.services.session.clientbased.signing.HMAC" - }, - { - "_id": "am.services.iot.jwt.issuer.signing", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "elements": [], + "javaScriptType": "object", + "name": "softwareStatement" }, - "aliases": [ - "hmacsigningtest" - ], - "secretId": "am.services.iot.jwt.issuer.signing" - }, - { - "_id": "am.services.oauth2.jwt.authenticity.signing", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "elements": [], + "javaScriptType": "object", + "name": "requestProperties" }, - "aliases": [ - "hmacsigningtest" - ], - "secretId": "am.services.oauth2.jwt.authenticity.signing" - }, - { - "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" }, - "aliases": [ - "test" - ], - "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP" - }, - { - "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP.256", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" }, - "aliases": [ - "test" - ], - "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP.256" - }, - { - "_id": "am.services.oauth2.oidc.decryption.RSA1.5", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" }, - "aliases": [ - "test" - ], - "secretId": "am.services.oauth2.oidc.decryption.RSA1.5" - }, - { - "_id": "am.services.oauth2.oidc.rp.idtoken.encryption", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "javaScriptType": "string", + "name": "scriptName" }, - "aliases": [ - "test" - ], - "secretId": "am.services.oauth2.oidc.rp.idtoken.encryption" - }, - { - "_id": "am.services.oauth2.oidc.rp.jwt.authenticity.signing", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "javaScriptType": "string", + "name": "realm" + }, + { + "javaScriptType": "string", + "name": "operation" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "store", + "parameters": [], + "returnType": "void" + }, + { + "elementType": "method", + "name": "setAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "array", + "name": "attributeValues" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "addAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "string", + "name": "attributeValue" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "getAttributeValues", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getUniversalId", + "parameters": [], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityScriptWrapper", + "javaScriptType": "object", + "name": "clientIdentity" }, - "aliases": [ - "rsajwtsigningkey" + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] + } + }, + "defaultScript": "4b6b7e8e-cf03-46c8-949f-c5742dbd6bc5", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Object", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] + }, + "OAUTH2_EVALUATE_SCOPE": { + "_id": "OAUTH2_EVALUATE_SCOPE", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "OAUTH2_EVALUATE_SCOPE", + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], + "evaluatorVersions": { + "GROOVY": [ + "1.0" ], - "secretId": "am.services.oauth2.oidc.rp.jwt.authenticity.signing" + "JAVASCRIPT": [ + "1.0" + ] + } + }, + "defaultScript": "da56fe60-8b38-4c46-a405-d6b306d4b336", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" }, - { - "_id": "am.services.oauth2.oidc.signing.ES256", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "es256test" + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT", + "GROOVY" + ] + }, + "OAUTH2_MAY_ACT": { + "_id": "OAUTH2_MAY_ACT", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "OAUTH2_MAY_ACT", + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.oauth2.core.tokenexchange.ExchangeableToken", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.OpenIdConnectToken", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], + "evaluatorVersions": { + "GROOVY": [ + "1.0" ], - "secretId": "am.services.oauth2.oidc.signing.ES256" + "JAVASCRIPT": [ + "1.0" + ] + } + }, + "defaultScript": "[Empty]", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" }, - { - "_id": "am.services.oauth2.oidc.signing.ES384", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "es384test" + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.StatefulAccessToken", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.oauth2.core.tokenexchange.ExchangeableToken", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.grantset.Authorization$ModifiedAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.oauth2.token.stateless.StatelessAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.OpenIdConnectToken", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT", + "GROOVY" + ] + }, + "OAUTH2_SCRIPTED_JWT_ISSUER": { + "_id": "OAUTH2_SCRIPTED_JWT_ISSUER", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "OAUTH2_SCRIPTED_JWT_ISSUER", + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.TrustedJwtIssuerConfig", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], + "evaluatorVersions": { + "GROOVY": [ + "1.0" ], - "secretId": "am.services.oauth2.oidc.signing.ES384" + "JAVASCRIPT": [ + "1.0" + ] + } + }, + "defaultScript": "400e48ba-3f13-4144-ac7b-f824ea8e98c5", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" }, - { - "_id": "am.services.oauth2.oidc.signing.ES512", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "es512test" + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.TrustedJwtIssuerConfig", + "org.forgerock.oauth2.core.exceptions.ServerException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT", + "GROOVY" + ] + }, + "OAUTH2_VALIDATE_SCOPE": { + "_id": "OAUTH2_VALIDATE_SCOPE", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "OAUTH2_VALIDATE_SCOPE", + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.InvalidScopeException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], + "evaluatorVersions": { + "GROOVY": [ + "1.0" ], - "secretId": "am.services.oauth2.oidc.signing.ES512" + "JAVASCRIPT": [ + "1.0" + ] + } + }, + "defaultScript": "25e6c06d-cf70-473b-bd28-26931edc476b", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" }, - { - "_id": "am.services.oauth2.oidc.signing.RSA", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" - }, - "aliases": [ - "rsajwtsigningkey" + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.exceptions.InvalidScopeException", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT", + "GROOVY" + ] + }, + "OIDC_CLAIMS": { + "_id": "OIDC_CLAIMS", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "OIDC_CLAIMS", + "allowLists": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [], + "evaluatorVersions": { + "GROOVY": [ + "1.0" ], - "secretId": "am.services.oauth2.oidc.signing.RSA" + "JAVASCRIPT": [ + "1.0" + ] + } + }, + "defaultScript": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" }, - { - "_id": "am.services.oauth2.remote.consent.request.encryption", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.google.common.collect.Sets$1", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.net.URI", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableMap", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableSet", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.List", + "java.util.Locale", + "java.util.Map", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.macaroons.Macaroon", + "org.forgerock.oauth.clients.oidc.Claim", + "org.forgerock.oauth2.core.GrantType", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.oauth2.core.exceptions.InvalidRequestException", + "org.forgerock.openam.oauth2.OpenAMAccessToken", + "org.forgerock.openam.oauth2.token.macaroon.MacaroonAccessToken", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepository", + "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.opendj.ldap.Dn", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.openidconnect.Claim", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "jdk.proxy*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT", + "GROOVY" + ] + }, + "PINGONE_VERIFY_COMPLETION_DECISION_NODE": { + "_id": "PINGONE_VERIFY_COMPLETION_DECISION_NODE", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "PINGONE_VERIFY_COMPLETION_DECISION_NODE", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" }, - "aliases": [ - "selfserviceenctest" - ], - "secretId": "am.services.oauth2.remote.consent.request.encryption" - }, - { - "_id": "am.services.oauth2.remote.consent.response.decryption", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "elements": [ + { + "elementType": "method", + "name": "remove", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "get", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "keys", + "parameters": [], + "returnType": "object" + }, + { + "elementType": "method", + "name": "getObject", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "isDefined", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "putShared", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putTransient", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeShared", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeTransient", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.node.api.NodeStateScriptWrapper", + "javaScriptType": "object", + "name": "nodeState" }, - "aliases": [ - "test" - ], - "secretId": "am.services.oauth2.remote.consent.response.decryption" - }, - { - "_id": "am.services.oauth2.remote.consent.response.signing.RSA", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "javaScriptType": "unknown", + "name": "verifyTransactionsHelper" }, - "aliases": [ - "rsajwtsigningkey" - ], - "secretId": "am.services.oauth2.remote.consent.response.signing.RSA" - }, - { - "_id": "am.services.oauth2.stateless.signing.ES256", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" }, - "aliases": [ - "es256test" - ], - "secretId": "am.services.oauth2.stateless.signing.ES256" - }, - { - "_id": "am.services.oauth2.stateless.signing.ES384", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" }, - "aliases": [ - "es384test" - ], - "secretId": "am.services.oauth2.stateless.signing.ES384" - }, - { - "_id": "am.services.oauth2.stateless.signing.ES512", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "elements": [ + { + "elementType": "method", + "name": "withIdentifiedUser", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withIdentifiedAgent", + "parameters": [ + { + "javaScriptType": "string", + "name": "agentName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + }, + { + "javaScriptType": "number", + "name": "maximumSuspendDuration" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "goTo", + "parameters": [ + { + "javaScriptType": "string", + "name": "outcome" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "putSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withHeader", + "parameters": [ + { + "javaScriptType": "string", + "name": "header" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withDescription", + "parameters": [ + { + "javaScriptType": "string", + "name": "description" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withStage", + "parameters": [ + { + "javaScriptType": "string", + "name": "stage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withErrorMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "errorMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withLockoutMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "lockoutMessage" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "removeSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxSessionTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxSessionTime" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "withMaxIdleTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxIdleTime" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ActionWrapper", + "javaScriptType": "object", + "name": "action" }, - "aliases": [ - "es512test" - ], - "secretId": "am.services.oauth2.stateless.signing.ES512" - }, - { - "_id": "am.services.oauth2.stateless.signing.HMAC", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "javaScriptType": "string", + "name": "scriptName" }, - "aliases": [ - "hmacsigningtest" - ], - "secretId": "am.services.oauth2.stateless.signing.HMAC" - }, - { - "_id": "am.services.oauth2.stateless.signing.RSA", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "javaScriptType": "string", + "name": "realm" }, - "aliases": [ - "rsajwtsigningkey" - ], - "secretId": "am.services.oauth2.stateless.signing.RSA" - }, - { - "_id": "am.services.oauth2.stateless.token.encryption", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" }, - "aliases": [ - "directenctest" - ], - "secretId": "am.services.oauth2.stateless.token.encryption" - }, - { - "_id": "am.services.saml2.metadata.signing.RSA", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" }, - "aliases": [ - "rsajwtsigningkey" - ], - "secretId": "am.services.saml2.metadata.signing.RSA" - }, - { - "_id": "am.services.uma.pct.encryption", - "_type": { - "_id": "mappings", - "collection": true, - "name": "Mappings" + { + "javaScriptType": "string", + "name": "cookieName" }, - "aliases": [ - "directenctest" - ], - "secretId": "am.services.uma.pct.encryption" + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] } - ], - "providerName": "SunJCE", - "storePassword": "storepass", - "storetype": "JCEKS" + }, + "defaultScript": "[Empty]", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Object", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] }, - "default-passwords-store": { - "_id": "default-passwords-store", + "POLICY_CONDITION": { + "_id": "POLICY_CONDITION", "_type": { - "_id": "FileSystemSecretStore", + "_id": "contexts", "collection": true, - "name": "File System Secret Volumes" + "name": "scriptContext" }, - "directory": "/home/prestonhales/am/security/secrets/encrypted", - "format": "ENCRYPTED_PLAIN" - } - }, - "server": { - "defaultProperties": { - "advanced": { - "_id": "null/properties/advanced", - "com.iplanet.am.buildDate": "2024-March-28 16:00", - "com.iplanet.am.buildRevision": "89116d59a1ebe73ed1931dd3649adb7f217cd06b", - "com.iplanet.am.buildVersion": "ForgeRock Access Management 7.5.0", - "com.iplanet.am.cookie.c66Encode": true, - "com.iplanet.am.daemons": "securid", - "com.iplanet.am.directory.ssl.enabled": false, - "com.iplanet.am.installdir": "%BASE_DIR%", - "com.iplanet.am.jssproxy.SSLTrustHostList": "", - "com.iplanet.am.jssproxy.checkSubjectAltName": false, - "com.iplanet.am.jssproxy.resolveIPAddress": false, - "com.iplanet.am.jssproxy.trustAllServerCerts": false, - "com.iplanet.am.lbcookie.name": "amlbcookie", - "com.iplanet.am.lbcookie.value": "00", - "com.iplanet.am.logstatus": "ACTIVE", - "com.iplanet.am.pcookie.name": "DProPCookie", - "com.iplanet.am.profile.host": "%SERVER_HOST%", - "com.iplanet.am.profile.port": "%SERVER_PORT%", - "com.iplanet.am.serverMode": true, - "com.iplanet.am.session.agentSessionIdleTime": "1440", - "com.iplanet.am.session.client.polling.enable": false, - "com.iplanet.am.session.client.polling.period": "180", - "com.iplanet.am.session.httpSession.enabled": "true", - "com.iplanet.am.version": "ForgeRock Access Management 7.5.0 Build 89116d59a1ebe73ed1931dd3649adb7f217cd06b (2024-March-28 16:00)", - "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", - "com.sun.am.event.notification.expire.time": "5", - "com.sun.embedded.sync.servers": "on", - "com.sun.identity.am.cookie.check": false, - "com.sun.identity.auth.cookieName": "AMAuthCookie", - "com.sun.identity.authentication.multiple.tabs.used": false, - "com.sun.identity.authentication.setCookieToAllDomains": true, - "com.sun.identity.authentication.special.users": "cn=dsameuser,ou=DSAME Users,%ROOT_SUFFIX%|cn=amService-UrlAccessAgent,ou=DSAME Users,%ROOT_SUFFIX%", - "com.sun.identity.authentication.super.user": "uid=amAdmin,ou=People,%ROOT_SUFFIX%", - "com.sun.identity.authentication.uniqueCookieName": "sunIdentityServerAuthNServer", - "com.sun.identity.cookie.httponly": true, - "com.sun.identity.cookie.samesite": "off", - "com.sun.identity.enableUniqueSSOTokenCookie": false, - "com.sun.identity.jss.donotInstallAtHighestPriority": true, - "com.sun.identity.monitoring": "off", - "com.sun.identity.monitoring.local.conn.server.url": "service:jmx:rmi://", - "com.sun.identity.password.deploymentDescriptor": "%SERVER_URI%", - "com.sun.identity.plugin.configuration.class": "@CONFIGURATION_PROVIDER_CLASS@", - "com.sun.identity.plugin.datastore.class.default": "@DATASTORE_PROVIDER_CLASS@", - "com.sun.identity.plugin.log.class": "@LOG_PROVIDER_CLASS@", - "com.sun.identity.plugin.monitoring.agent.class": "@MONAGENT_PROVIDER_CLASS@", - "com.sun.identity.plugin.monitoring.saml2.class": "@MONSAML2_PROVIDER_CLASS@", - "com.sun.identity.plugin.session.class": "@SESSION_PROVIDER_CLASS@", - "com.sun.identity.policy.Policy.policy_evaluation_weights": "10:10:10", - "com.sun.identity.policy.resultsCacheMaxSize": "10000", - "com.sun.identity.policy.resultsCacheResourceCap": "20", - "com.sun.identity.saml.xmlsig.keyprovider.class": "@XMLSIG_KEY_PROVIDER@", - "com.sun.identity.saml.xmlsig.passwordDecoder": "@PASSWORD_DECODER_CLASS@", - "com.sun.identity.saml.xmlsig.signatureprovider.class": "@XML_SIGNATURE_PROVIDER@", - "com.sun.identity.security.checkcaller": false, - "com.sun.identity.server.fqdnMap[dnsfirst]": "dnsfirst", - "com.sun.identity.server.fqdnMap[hello]": "hello", - "com.sun.identity.server.fqdnMap[localhost]": "localhost", - "com.sun.identity.server.fqdnMap[openam-frodo-dev.classic.com]": "openam-frodo-dev.classic.com", - "com.sun.identity.server.fqdnMap[openam]": "openam", - "com.sun.identity.server.fqdnMap[secondDNS]": "secondDNS", - "com.sun.identity.session.repository.enableAttributeCompression": false, - "com.sun.identity.session.repository.enableCompression": false, - "com.sun.identity.session.repository.enableEncryption": false, - "com.sun.identity.sm.cache.ttl": "30", - "com.sun.identity.sm.cache.ttl.enable": false, - "com.sun.identity.url.readTimeout": "30000", - "com.sun.identity.webcontainer": "WEB_CONTAINER", - "dynamic.datastore.creation.enabled": false, - "openam.auth.destroy_session_after_upgrade": true, - "openam.auth.distAuthCookieName": "AMDistAuthCookie", - "openam.auth.session_property_upgrader": "org.forgerock.openam.authentication.service.DefaultSessionPropertyUpgrader", - "openam.auth.version.header.enabled": false, - "openam.authentication.ignore_goto_during_logout": false, - "openam.cdm.default.charset": "UTF-8", - "openam.forbidden.to.copy.headers": "connection", - "openam.forbidden.to.copy.request.headers": "connection", - "openam.oauth2.client.jwt.encryption.algorithm.allow.list": "RSA-OAEP,RSA-OAEP-256,ECDH-ES", - "openam.oauth2.client.jwt.unreasonable.lifetime.limit.minutes": "30", - "openam.retained.http.headers": "X-DSAMEVersion", - "openam.retained.http.request.headers": "X-DSAMEVersion", - "openam.serviceattributevalidator.classes.whitelist": "org.forgerock.openam.auth.nodes.validators.GreaterThanZeroValidator,org.forgerock.openam.auth.nodes.validators.HMACKeyLengthValidator,org.forgerock.openam.auth.nodes.validators.HmacSigningKeyValidator,org.forgerock.openam.auth.nodes.validators.PercentageValidator,org.forgerock.openam.auth.nodes.validators.QueryFilterValidator,org.forgerock.openam.auth.nodes.validators.SessionPropertyNameValidator,org.forgerock.openam.auth.nodes.validators.SessionPropertyValidator,org.forgerock.openam.auth.nodes.framework.validators.NodeValueValidator,org.forgerock.openam.audit.validation.PositiveIntegerValidator,org.forgerock.openam.authentication.modules.fr.oath.validators.AlphaNumericValidator,org.forgerock.openam.authentication.modules.fr.oath.validators.CodeLengthValidator,org.forgerock.openam.authentication.modules.persistentcookie.validation.SigningKeyValidator,com.sun.identity.common.configuration.DuplicateKeyMapValueValidator,com.sun.identity.common.configuration.AgentClientIpModeValueValidator,com.sun.identity.common.configuration.FilterModeValueValidator,com.sun.identity.common.configuration.GlobalMapValueValidator,com.sun.identity.common.configuration.ListValueValidator,com.sun.identity.common.configuration.MapValueValidator,com.sun.identity.common.configuration.ServerPropertyValidator,com.sun.identity.policy.ResourceComparatorValidator,com.sun.identity.sm.EmailValidator,com.sun.identity.sm.IPAddressValidator,com.sun.identity.sm.RequiredValueValidator,com.sun.identity.sm.ServerIDValidator,com.sun.identity.sm.SiteIDValidator,org.forgerock.openam.sm.validation.Base64EncodedBinaryValidator,org.forgerock.openam.sm.validation.BlankValueValidator,org.forgerock.openam.sm.validation.DurationValidator,org.forgerock.openam.sm.validation.EndpointValidator,org.forgerock.openam.sm.validation.HostnameValidator,org.forgerock.openam.sm.validation.PortValidator,org.forgerock.openam.sm.validation.SecretIdValidator,org.forgerock.openam.sm.validation.StatelessSessionSigningAlgorithmValidator,org.forgerock.openam.sm.validation.StringMapValidator,org.forgerock.openam.sm.validation.URLValidator,org.forgerock.openam.selfservice.config.KeyAliasValidator,org.forgerock.openam.sm.validation.UniqueIndexedValuesValidator,org.forgerock.openam.webhook.HttpHeaderValidator,org.forgerock.oauth2.core.ClientRedirectUriValidator", - "openam.session.case.sensitive.uuid": false, - "org.forgerock.allow.http.client.debug": false, - "org.forgerock.am.auth.chains.authindexuser.strict": true, - "org.forgerock.am.auth.node.otp.inSharedState": false, - "org.forgerock.am.auth.trees.authenticate.identified.identity": true, - "org.forgerock.openam.audit.additionalSuccessStatusCodesEnabled": true, - "org.forgerock.openam.audit.identity.activity.events.blacklist": "AM-ACCESS-ATTEMPT,AM-IDENTITY-CHANGE,AM-GROUP-CHANGE", - "org.forgerock.openam.auth.transactionauth.returnErrorOnAuthFailure": false, - "org.forgerock.openam.authLevel.excludeRequiredOrRequisite": false, - "org.forgerock.openam.authentication.forceAuth.enabled": false, - "org.forgerock.openam.console.autocomplete.enabled": true, - "org.forgerock.openam.core.resource.lookup.cache.enabled": true, - "org.forgerock.openam.core.sms.placeholder_api_enabled": "OFF", - "org.forgerock.openam.devices.recovery.use_insecure_storage": false, - "org.forgerock.openam.encryption.key.digest": "SHA1", - "org.forgerock.openam.encryption.key.iterations": "10000", - "org.forgerock.openam.encryption.key.size": "128", - "org.forgerock.openam.httpclienthandler.system.clients.connection.timeout": "10 seconds", - "org.forgerock.openam.httpclienthandler.system.clients.max.connections": "64", - "org.forgerock.openam.httpclienthandler.system.clients.pool.ttl": "-1", - "org.forgerock.openam.httpclienthandler.system.clients.response.timeout": "10 seconds", - "org.forgerock.openam.httpclienthandler.system.clients.retry.failed.requests.enabled": true, - "org.forgerock.openam.httpclienthandler.system.clients.reuse.connections.enabled": true, - "org.forgerock.openam.httpclienthandler.system.nonProxyHosts": "localhost,127.*,[::1],0.0.0.0,[::0]", - "org.forgerock.openam.httpclienthandler.system.proxy.enabled": false, - "org.forgerock.openam.httpclienthandler.system.proxy.password": null, - "org.forgerock.openam.httpclienthandler.system.proxy.uri": "", - "org.forgerock.openam.httpclienthandler.system.proxy.username": "", - "org.forgerock.openam.idm.attribute.names.lower.case": false, - "org.forgerock.openam.idrepo.ldapv3.passwordpolicy.allowDiagnosticMessage": false, - "org.forgerock.openam.idrepo.ldapv3.proxyauth.passwordreset.adminRequest": "isAdminPasswordChangeRequest", - "org.forgerock.openam.introspect.token.query.param.allowed": false, - "org.forgerock.openam.ldap.dncache.expire.time": "0", - "org.forgerock.openam.ldap.heartbeat.timeout": "10", - "org.forgerock.openam.ldap.keepalive.search.base": "", - "org.forgerock.openam.ldap.keepalive.search.filter": "(objectClass=*)", - "org.forgerock.openam.ldap.secure.protocol.version": "TLSv1.3,TLSv1.2", - "org.forgerock.openam.notifications.agents.enabled": true, - "org.forgerock.openam.oauth2.checkIssuerForIdTokenInfo": true, - "org.forgerock.openam.radius.server.context.cache.size": "5000", - "org.forgerock.openam.redirecturlvalidator.maxUrlLength": "2000", - "org.forgerock.openam.request.max.bytes.entity.size": "1048576", - "org.forgerock.openam.saml2.authenticatorlookup.skewAllowance": "60", - "org.forgerock.openam.scripting.maxinterpreterstackdepth": "10000", - "org.forgerock.openam.secrets.special.user.passwords.format": "ENCRYPTED_PLAIN", - "org.forgerock.openam.secrets.special.user.secret.refresh.seconds": "900", - "org.forgerock.openam.session.service.persistence.deleteAsynchronously": true, - "org.forgerock.openam.session.stateless.encryption.method": "A128CBC-HS256", - "org.forgerock.openam.session.stateless.rsa.padding": "RSA-OAEP-256", - "org.forgerock.openam.session.stateless.signing.allownone": false, - "org.forgerock.openam.showServletTraceInBrowser": false, - "org.forgerock.openam.slf4j.enableTraceInMessage": false, - "org.forgerock.openam.smtp.system.connect.timeout": "10000", - "org.forgerock.openam.smtp.system.socket.read.timeout": "10000", - "org.forgerock.openam.smtp.system.socket.write.timeout": "10000", - "org.forgerock.openam.sso.providers.list": "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOProvider", - "org.forgerock.openam.timerpool.shutdown.retry.interval": "15000", - "org.forgerock.openam.timerpool.shutdown.retry.limit": "3", - "org.forgerock.openam.timerpool.shutdown.retry.multiplier": "1.5", - "org.forgerock.openam.trees.consumedstatedata.cache.size": "15", - "org.forgerock.openam.trees.ids.cache.size": "50", - "org.forgerock.openam.url.connectTimeout": "1000", - "org.forgerock.openam.xui.user.session.validation.enabled": true, - "org.forgerock.openidconnect.ssoprovider.maxcachesize": "5000", - "org.forgerock.security.entitlement.enforce.realm": true, - "org.forgerock.security.oauth2.enforce.sub.claim.uniqueness": true, - "org.forgerock.services.cts.store.reaper.enabled": true, - "org.forgerock.services.cts.store.ttlsupport.enabled": false, - "org.forgerock.services.cts.store.ttlsupport.exclusionlist": "", - "org.forgerock.services.default.store.max.connections": "", - "org.forgerock.services.default.store.min.connections": "", - "org.forgerock.services.openid.request.object.lifespan": "120000", - "securidHelper.ports": "58943" + "context": { + "_id": "POLICY_CONDITION", + "allowLists": [], + "bindings": [], + "evaluatorVersions": { + "GROOVY": [ + "1.0" + ], + "JAVASCRIPT": [ + "1.0" + ] + } }, - "cts": { - "_id": "null/properties/cts", - "amconfig.org.forgerock.services.cts.store.common.section": { - "org.forgerock.services.cts.store.location": "default", - "org.forgerock.services.cts.store.max.connections": "100", - "org.forgerock.services.cts.store.page.size": "0", - "org.forgerock.services.cts.store.root.suffix": "", - "org.forgerock.services.cts.store.vlv.page.size": "1000" + "defaultScript": "9de3eb62-f131-4fac-a294-7bd170fd4acb", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" }, - "amconfig.org.forgerock.services.cts.store.external.section": { - "org.forgerock.services.cts.store.directory.name": "", - "org.forgerock.services.cts.store.heartbeat": "10", - "org.forgerock.services.cts.store.loginid": "", - "org.forgerock.services.cts.store.mtls.enabled": "", - "org.forgerock.services.cts.store.password": null, - "org.forgerock.services.cts.store.ssl.enabled": "", - "org.forgerock.services.cts.store.starttls.enabled": "" + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.ArrayList", + "java.util.HashSet", + "java.util.HashMap", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "com.sun.identity.shared.debug.Debug", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.Client", + "org.forgerock.http.Handler", + "org.forgerock.http.Context", + "org.forgerock.http.context.RootContext", + "java.util.Collections$EmptyList", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Form", + "org.forgerock.http.protocol.Header", + "org.forgerock.http.protocol.Headers", + "org.forgerock.http.protocol.Message", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.RequestCookies", + "org.forgerock.http.protocol.Response", + "org.forgerock.http.protocol.ResponseException", + "org.forgerock.http.protocol.Responses", + "org.forgerock.http.protocol.Status", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.Promise", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.identity.ScriptedIdentity", + "org.forgerock.openam.scripting.api.ScriptedSession", + "groovy.json.JsonSlurper", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT", + "GROOVY" + ] + }, + "POLICY_CONDITION_NEXT_GEN": { + "_id": "POLICY_CONDITION_NEXT_GEN", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "POLICY_CONDITION_NEXT_GEN", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object" + ], + "bindings": [ + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "advice" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "responseAttributes" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.ScriptedSession", + "javaScriptType": "object", + "name": "session" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "javaScriptType": "string", + "name": "resourceURI" + }, + { + "javaScriptType": "number", + "name": "ttl" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "environment" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "store", + "parameters": [], + "returnType": "void" + }, + { + "elementType": "method", + "name": "setAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "array", + "name": "attributeValues" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "addAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "string", + "name": "attributeValue" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "getAttributeValues", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "getUniversalId", + "parameters": [], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityScriptWrapper", + "javaScriptType": "object", + "name": "identity" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "javaScriptType": "boolean", + "name": "authorized" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "javaScriptType": "string", + "name": "username" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] } }, - "general": { - "_id": "null/properties/general", - "amconfig.header.debug": { - "com.iplanet.services.debug.directory": "%BASE_DIR%/var/debug", - "com.iplanet.services.debug.level": "off", - "com.sun.services.debug.mergeall": "on" - }, - "amconfig.header.installdir": { - "com.iplanet.am.locale": "en_US", - "com.iplanet.am.util.xml.validating": "off", - "com.iplanet.services.configpath": "%BASE_DIR%", - "com.sun.identity.client.notification.url": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice" + "defaultScript": "[Empty]", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" }, - "amconfig.header.mailserver": { - "com.iplanet.am.smtphost": "localhost", - "com.iplanet.am.smtpport": "25" - } + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Object", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*" + ] }, - "sdk": { - "_id": "null/properties/sdk", - "amconfig.header.cachingreplica": { - "com.iplanet.am.sdk.cache.maxSize": "10000" - }, - "amconfig.header.datastore": { - "com.sun.identity.sm.enableDataStoreNotification": false, - "com.sun.identity.sm.notification.threadpool.size": "1" - }, - "amconfig.header.eventservice": { - "com.iplanet.am.event.connection.delay.between.retries": "3000", - "com.iplanet.am.event.connection.ldap.error.codes.retries": "80,81,91", - "com.iplanet.am.event.connection.num.retries": "3", - "com.sun.am.event.connection.disable.list": "aci,um,sm" - }, - "amconfig.header.ldapconnection": { - "com.iplanet.am.ldap.connection.delay.between.retries": "1000", - "com.iplanet.am.ldap.connection.ldap.error.codes.retries": "80,81,91", - "com.iplanet.am.ldap.connection.num.retries": "3" - }, - "amconfig.header.sdktimetoliveconfig": { - "com.iplanet.am.sdk.cache.entry.default.expire.time": "30", - "com.iplanet.am.sdk.cache.entry.expire.enabled": false, - "com.iplanet.am.sdk.cache.entry.user.expire.time": "15" + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] + }, + "SAML2_IDP_ADAPTER": { + "_id": "SAML2_IDP_ADAPTER", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "SAML2_IDP_ADAPTER", + "allowLists": [ + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.saml2.assertion.*", + "com.sun.identity.saml2.assertion.impl.*", + "com.sun.identity.saml2.common.SAML2Exception", + "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", + "com.sun.identity.saml2.protocol.*", + "com.sun.identity.saml2.protocol.impl.*", + "com.sun.identity.shared.debug.Debug", + "java.io.PrintWriter", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.util.Collections$EmptyMap", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "javax.security.auth.Subject", + "jakarta.servlet.http.HttpServletRequestWrapper", + "jakarta.servlet.http.HttpServletResponseWrapper", + "groovy.json.internal.LazyMap", + "groovy.json.JsonSlurper", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper" + ], + "bindings": [], + "evaluatorVersions": { + "GROOVY": [ + "1.0" + ], + "JAVASCRIPT": [ + "1.0" + ] } }, - "security": { - "_id": "null/properties/security", - "amconfig.header.cookie": { - "com.iplanet.am.cookie.encode": false, - "com.iplanet.am.cookie.name": "iPlanetDirectoryPro", - "com.iplanet.am.cookie.secure": false - }, - "amconfig.header.crlcache": { - "com.sun.identity.crl.cache.directory.host": "", - "com.sun.identity.crl.cache.directory.mtlsenabled": false, - "com.sun.identity.crl.cache.directory.password": null, - "com.sun.identity.crl.cache.directory.port": "", - "com.sun.identity.crl.cache.directory.searchattr": "", - "com.sun.identity.crl.cache.directory.searchlocs": "", - "com.sun.identity.crl.cache.directory.ssl": false, - "com.sun.identity.crl.cache.directory.user": "" - }, - "amconfig.header.deserialisationwhitelist": { - "openam.deserialisation.classes.whitelist": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction" - }, - "amconfig.header.encryption": { - "am.encryption.pwd": "@AM_ENC_PWD@", - "am.encryption.secret.enabled": false, - "am.encryption.secret.keystoreType": "JCEKS", - "com.iplanet.security.SecureRandomFactoryImpl": "com.iplanet.am.util.SecureRandomFactoryImpl", - "com.iplanet.security.encryptor": "com.iplanet.services.util.JCEEncryption" - }, - "amconfig.header.ocsp.check": { - "com.sun.identity.authentication.ocsp.responder.nickname": "", - "com.sun.identity.authentication.ocsp.responder.url": "", - "com.sun.identity.authentication.ocspCheck": false - }, - "amconfig.header.securitykey": { - "com.sun.identity.saml.xmlsig.certalias": "test", - "com.sun.identity.saml.xmlsig.keypass": "%BASE_DIR%/security/secrets/default/.keypass", - "com.sun.identity.saml.xmlsig.keystore": "%BASE_DIR%/security/keystores/keystore.jceks", - "com.sun.identity.saml.xmlsig.storepass": "%BASE_DIR%/security/secrets/default/.storepass", - "com.sun.identity.saml.xmlsig.storetype": "JCEKS" + "defaultScript": "248b8a56-df81-4b1b-b4ba-45d994f6504c", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" }, - "amconfig.header.validation": { - "com.iplanet.am.clientIPCheckEnabled": false, - "com.iplanet.services.comm.server.pllrequest.maxContentLength": "16384" - } + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "com.sun.identity.saml2.common.SAML2Exception", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "com.sun.identity.saml2.assertion.*", + "com.sun.identity.saml2.assertion.impl.*", + "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", + "com.sun.identity.saml2.protocol.*", + "com.sun.identity.saml2.protocol.impl.*", + "java.io.PrintWriter", + "javax.security.auth.Subject", + "javax.servlet.http.HttpServletRequestWrapper", + "javax.servlet.http.HttpServletResponseWrapper", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "com.sun.identity.saml2.plugins.scripted.IdpAdapterScriptHelper", + "jdk.proxy*" + ] }, - "session": { - "_id": "null/properties/session", - "amconfig.header.sessionlogging": { - "com.iplanet.am.stats.interval": "60", - "com.iplanet.services.stats.directory": "%BASE_DIR%/var/stats", - "com.iplanet.services.stats.state": "file", - "com.sun.am.session.enableHostLookUp": false - }, - "amconfig.header.sessionnotification": { - "com.iplanet.am.notification.threadpool.size": "10", - "com.iplanet.am.notification.threadpool.threshold": "5000" - }, - "amconfig.header.sessionthresholds": { - "com.iplanet.am.session.invalidsessionmaxtime": "3", - "org.forgerock.openam.session.service.access.persistence.caching.maxsize": "5000" - }, - "amconfig.header.sessionvalidation": { - "com.sun.am.session.caseInsensitiveDN": true + "isHidden": false, + "languages": [ + "JAVASCRIPT", + "GROOVY" + ] + }, + "SAML2_IDP_ATTRIBUTE_MAPPER": { + "_id": "SAML2_IDP_ATTRIBUTE_MAPPER", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "SAML2_IDP_ATTRIBUTE_MAPPER", + "allowLists": [ + "com.iplanet.am.sdk.AMHashMap", + "com.sun.identity.saml2.assertion.impl.AttributeImpl", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.util.Collections$EmptyMap", + "java.lang.Double", + "java.lang.Float", + "com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.json.JsonValue", + "com.sun.identity.saml2.common.SAML2Exception", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.mozilla.javascript.JavaScriptException", + "javax.servlet.http.Cookie", + "javax.xml.parsers.DocumentBuilder", + "javax.xml.parsers.DocumentBuilderFactory", + "org.w3c.dom.Document", + "org.w3c.dom.Element", + "org.xml.sax.InputSource" + ], + "bindings": [], + "evaluatorVersions": { + "GROOVY": [ + "1.0" + ], + "JAVASCRIPT": [ + "1.0" + ] } }, - "uma": { - "_id": "null/properties/uma", - "amconfig.org.forgerock.services.resourcesets.store.common.section": { - "org.forgerock.services.resourcesets.store.location": "default", - "org.forgerock.services.resourcesets.store.max.connections": "10", - "org.forgerock.services.resourcesets.store.root.suffix": "" - }, - "amconfig.org.forgerock.services.resourcesets.store.external.section": { - "org.forgerock.services.resourcesets.store.directory.name": "", - "org.forgerock.services.resourcesets.store.heartbeat": "10", - "org.forgerock.services.resourcesets.store.loginid": "", - "org.forgerock.services.resourcesets.store.mtls.enabled": "", - "org.forgerock.services.resourcesets.store.password": null, - "org.forgerock.services.resourcesets.store.ssl.enabled": "", - "org.forgerock.services.resourcesets.store.starttls.enabled": "" - }, - "amconfig.org.forgerock.services.uma.labels.store.common.section": { - "org.forgerock.services.uma.labels.store.location": "default", - "org.forgerock.services.uma.labels.store.max.connections": "2", - "org.forgerock.services.uma.labels.store.root.suffix": "" - }, - "amconfig.org.forgerock.services.uma.labels.store.external.section": { - "org.forgerock.services.uma.labels.store.directory.name": "", - "org.forgerock.services.uma.labels.store.heartbeat": "10", - "org.forgerock.services.uma.labels.store.loginid": "", - "org.forgerock.services.uma.labels.store.mtls.enabled": "", - "org.forgerock.services.uma.labels.store.password": null, - "org.forgerock.services.uma.labels.store.ssl.enabled": "", - "org.forgerock.services.uma.labels.store.starttls.enabled": "" - }, - "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { - "org.forgerock.services.uma.pendingrequests.store.location": "default", - "org.forgerock.services.uma.pendingrequests.store.max.connections": "10", - "org.forgerock.services.uma.pendingrequests.store.root.suffix": "" - }, - "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { - "org.forgerock.services.uma.pendingrequests.store.directory.name": "", - "org.forgerock.services.uma.pendingrequests.store.heartbeat": "10", - "org.forgerock.services.uma.pendingrequests.store.loginid": "", - "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": "", - "org.forgerock.services.uma.pendingrequests.store.password": null, - "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": "", - "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": "" - }, - "amconfig.org.forgerock.services.umaaudit.store.common.section": { - "org.forgerock.services.umaaudit.store.location": "default", - "org.forgerock.services.umaaudit.store.max.connections": "10", - "org.forgerock.services.umaaudit.store.root.suffix": "" + "defaultScript": "c4f22465-2368-4e27-8013-e6399974fd48", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" }, - "amconfig.org.forgerock.services.umaaudit.store.external.section": { - "org.forgerock.services.umaaudit.store.directory.name": "", - "org.forgerock.services.umaaudit.store.heartbeat": "10", - "org.forgerock.services.umaaudit.store.loginid": "", - "org.forgerock.services.umaaudit.store.mtls.enabled": "", - "org.forgerock.services.umaaudit.store.password": null, - "org.forgerock.services.umaaudit.store.ssl.enabled": "", - "org.forgerock.services.umaaudit.store.starttls.enabled": "" - } - } + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "com.sun.identity.saml2.common.SAML2Exception", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "com.sun.identity.saml2.assertion.impl.AttributeImpl", + "com.sun.identity.saml2.plugins.scripted.IdpAttributeMapperScriptHelper", + "javax.servlet.http.Cookie", + "javax.xml.parsers.DocumentBuilder", + "javax.xml.parsers.DocumentBuilderFactory", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.w3c.dom.Document", + "org.w3c.dom.Element", + "org.xml.sax.InputSource", + "jdk.proxy*" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT", + "GROOVY" + ] }, - "server": { - "01": { - "_id": "01", - "properties": { - "advanced": { - "_id": "01/properties/advanced", - "bootstrap.file": "/home/prestonhales/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", - "com.iplanet.am.lbcookie.value": "01", - "com.iplanet.am.serverMode": true, - "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", - "com.sun.embedded.replicationport": "", - "com.sun.embedded.sync.servers": "on", - "com.sun.identity.common.systemtimerpool.size": "3", - "com.sun.identity.sm.sms_object_class_name": "com.sun.identity.sm.SmsWrapperObject", - "com.sun.identity.urlconnection.useCache": false, - "opensso.protocol.handler.pkgs": "", - "org.forgerock.embedded.dsadminport": "4444" - }, - "cts": { - "_id": "01/properties/cts", - "amconfig.org.forgerock.services.cts.store.common.section": { - "org.forgerock.services.cts.store.location": { - "inherited": true, - "value": "default" - }, - "org.forgerock.services.cts.store.max.connections": { - "inherited": true, - "value": "100" - }, - "org.forgerock.services.cts.store.page.size": { - "inherited": true, - "value": "0" - }, - "org.forgerock.services.cts.store.root.suffix": { - "inherited": true, - "value": "" - }, - "org.forgerock.services.cts.store.vlv.page.size": { - "inherited": true, - "value": "1000" - } - }, - "amconfig.org.forgerock.services.cts.store.external.section": { - "org.forgerock.services.cts.store.affinity.enabled": { - "inherited": true, - "value": null - }, - "org.forgerock.services.cts.store.directory.name": { - "inherited": true, - "value": "" - }, - "org.forgerock.services.cts.store.heartbeat": { - "inherited": true, - "value": "10" - }, - "org.forgerock.services.cts.store.loginid": { - "inherited": true, - "value": "" - }, - "org.forgerock.services.cts.store.mtls.enabled": { - "inherited": true, - "value": "" - }, - "org.forgerock.services.cts.store.password": { - "inherited": true, - "value": null - }, - "org.forgerock.services.cts.store.ssl.enabled": { - "inherited": true, - "value": "" - }, - "org.forgerock.services.cts.store.starttls.enabled": { - "inherited": true, - "value": "" - } - } - }, - "directoryConfiguration": { - "_id": "01/properties/directoryConfiguration", - "directoryConfiguration": { - "bindDn": "cn=Directory Manager", - "bindPassword": null, - "maxConnectionPool": 10, - "minConnectionPool": 1, - "mtlsAlias": "", - "mtlsEnabled": false, - "mtlsKeyPasswordFile": "", - "mtlsKeyStoreFile": "", - "mtlsKeyStorePasswordFile": "", - "mtlsKeyStoreType": null - }, - "directoryServers": [ + "SAML2_NAMEID_MAPPER": { + "_id": "SAML2_NAMEID_MAPPER", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "SAML2_NAMEID_MAPPER", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.sun.identity.common.CaseInsensitiveHashMap", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "javax.servlet.http.Cookie", + "org.xml.sax.InputSource", + "java.security.cert.CertificateFactory", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.io.PrintWriter", + "javax.security.auth.Subject", + "jakarta.servlet.http.HttpServletRequestWrapper", + "jakarta.servlet.http.HttpServletResponseWrapper", + "sun.security.ec.ECPrivateKeyImpl" + ], + "bindings": [ + { + "elements": [ { - "connectionType": "SSL", - "hostName": "localhost", - "portNumber": "50636", - "serverName": "Server1" - } - ] - }, - "general": { - "_id": "01/properties/general", - "amconfig.header.debug": { - "com.iplanet.services.debug.directory": { - "inherited": true, - "value": "%BASE_DIR%/var/debug" - }, - "com.iplanet.services.debug.level": { - "inherited": true, - "value": "off" - }, - "com.sun.services.debug.mergeall": { - "inherited": true, - "value": "on" - } - }, - "amconfig.header.installdir": { - "com.iplanet.am.locale": { - "inherited": false, - "value": "en_US" - }, - "com.iplanet.am.util.xml.validating": { - "inherited": true, - "value": "off" - }, - "com.iplanet.services.configpath": { - "inherited": false, - "value": "/home/prestonhales/am" - }, - "com.sun.identity.client.notification.url": { - "inherited": true, - "value": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice" - } - }, - "amconfig.header.mailserver": { - "com.iplanet.am.smtphost": { - "inherited": true, - "value": "localhost" - }, - "com.iplanet.am.smtpport": { - "inherited": true, - "value": "25" - } - }, - "amconfig.header.site": { - "singleChoiceSite": "[Empty]" - } - }, - "sdk": { - "_id": "01/properties/sdk", - "amconfig.header.cachingreplica": { - "com.iplanet.am.sdk.cache.maxSize": { - "inherited": true, - "value": "10000" - } - }, - "amconfig.header.datastore": { - "com.sun.identity.sm.enableDataStoreNotification": { - "inherited": false, - "value": true - }, - "com.sun.identity.sm.notification.threadpool.size": { - "inherited": true, - "value": "1" - } - }, - "amconfig.header.eventservice": { - "com.iplanet.am.event.connection.delay.between.retries": { - "inherited": true, - "value": "3000" - }, - "com.iplanet.am.event.connection.ldap.error.codes.retries": { - "inherited": true, - "value": "80,81,91" - }, - "com.iplanet.am.event.connection.num.retries": { - "inherited": true, - "value": "3" - }, - "com.sun.am.event.connection.disable.list": { - "inherited": false, - "value": "aci,um" - } - }, - "amconfig.header.ldapconnection": { - "com.iplanet.am.ldap.connection.delay.between.retries": { - "inherited": true, - "value": "1000" - }, - "com.iplanet.am.ldap.connection.ldap.error.codes.retries": { - "inherited": false, - "value": "80,81,91" - }, - "com.iplanet.am.ldap.connection.num.retries": { - "inherited": true, - "value": "3" - } - }, - "amconfig.header.sdktimetoliveconfig": { - "com.iplanet.am.sdk.cache.entry.default.expire.time": { - "inherited": true, - "value": "30" - }, - "com.iplanet.am.sdk.cache.entry.expire.enabled": { - "inherited": true, - "value": false + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" }, - "com.iplanet.am.sdk.cache.entry.user.expire.time": { - "inherited": true, - "value": "15" + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" } - } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" }, - "security": { - "_id": "01/properties/security", - "amconfig.header.cookie": { - "com.iplanet.am.cookie.encode": { - "inherited": true, - "value": false - }, - "com.iplanet.am.cookie.name": { - "inherited": true, - "value": "iPlanetDirectoryPro" - }, - "com.iplanet.am.cookie.secure": { - "inherited": true, - "value": false - } - }, - "amconfig.header.crlcache": { - "com.sun.identity.crl.cache.directory.host": { - "inherited": true, - "value": "" - }, - "com.sun.identity.crl.cache.directory.mtlsenabled": { - "inherited": true, - "value": false - }, - "com.sun.identity.crl.cache.directory.password": { - "inherited": true, - "value": null - }, - "com.sun.identity.crl.cache.directory.port": { - "inherited": true, - "value": "" - }, - "com.sun.identity.crl.cache.directory.searchattr": { - "inherited": true, - "value": "" - }, - "com.sun.identity.crl.cache.directory.searchlocs": { - "inherited": true, - "value": "" + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" }, - "com.sun.identity.crl.cache.directory.ssl": { - "inherited": true, - "value": false + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" }, - "com.sun.identity.crl.cache.directory.user": { - "inherited": true, - "value": "" - } - }, - "amconfig.header.deserialisationwhitelist": { - "openam.deserialisation.classes.whitelist": { - "inherited": true, - "value": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction" - } - }, - "amconfig.header.encryption": { - "am.encryption.pwd": { - "inherited": false, - "value": "efSYcwIhr7uKH30rgciGTVTFzb63LhYu" + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" }, - "am.encryption.secret.alias": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" }, - "am.encryption.secret.enabled": { - "inherited": true, - "value": false + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" }, - "am.encryption.secret.keyPass": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" }, - "am.encryption.secret.keystoreFile": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" }, - "am.encryption.secret.keystorePass": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" }, - "am.encryption.secret.keystoreType": { - "inherited": true, - "value": "JCEKS" + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" }, - "com.iplanet.security.SecureRandomFactoryImpl": { - "inherited": true, - "value": "com.iplanet.am.util.SecureRandomFactoryImpl" + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" }, - "com.iplanet.security.encryptor": { - "inherited": true, - "value": "com.iplanet.services.util.JCEEncryption" - } - }, - "amconfig.header.ocsp.check": { - "com.sun.identity.authentication.ocsp.responder.nickname": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" }, - "com.sun.identity.authentication.ocsp.responder.url": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" }, - "com.sun.identity.authentication.ocspCheck": { - "inherited": true, - "value": false - } - }, - "amconfig.header.securitykey": { - "com.sun.identity.saml.xmlsig.certalias": { - "inherited": true, - "value": "test" + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.keypass": { - "inherited": true, - "value": "%BASE_DIR%/security/secrets/default/.keypass" + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.keystore": { - "inherited": true, - "value": "%BASE_DIR%/security/keystores/keystore.jceks" + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.storepass": { - "inherited": true, - "value": "%BASE_DIR%/security/secrets/default/.storepass" + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.storetype": { - "inherited": true, - "value": "JCEKS" - } - }, - "amconfig.header.validation": { - "com.iplanet.am.clientIPCheckEnabled": { - "inherited": true, - "value": false + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" }, - "com.iplanet.services.comm.server.pllrequest.maxContentLength": { - "inherited": true, - "value": "16384" - } - } - }, - "session": { - "_id": "01/properties/session", - "amconfig.header.sessionlogging": { - "com.iplanet.am.stats.interval": { - "inherited": true, - "value": "60" + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" }, - "com.iplanet.services.stats.directory": { - "inherited": true, - "value": "%BASE_DIR%/var/stats" + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" }, - "com.iplanet.services.stats.state": { - "inherited": true, - "value": "file" + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" }, - "com.sun.am.session.enableHostLookUp": { - "inherited": true, - "value": false - } - }, - "amconfig.header.sessionnotification": { - "com.iplanet.am.notification.threadpool.size": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" }, - "com.iplanet.am.notification.threadpool.threshold": { - "inherited": true, - "value": "5000" - } - }, - "amconfig.header.sessionthresholds": { - "com.iplanet.am.session.invalidsessionmaxtime": { - "inherited": true, - "value": "3" + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" }, - "org.forgerock.openam.session.service.access.persistence.caching.maxsize": { - "inherited": true, - "value": "5000" - } - }, - "amconfig.header.sessionvalidation": { - "com.sun.am.session.caseInsensitiveDN": { - "inherited": true, - "value": true - } - } - }, - "uma": { - "_id": "01/properties/uma", - "amconfig.org.forgerock.services.resourcesets.store.common.section": { - "org.forgerock.services.resourcesets.store.location": { - "inherited": true, - "value": "default" + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.max.connections": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.root.suffix": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.resourcesets.store.external.section": { - "org.forgerock.services.resourcesets.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" }, - "org.forgerock.services.resourcesets.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" }, - "org.forgerock.services.resourcesets.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" }, - "org.forgerock.services.resourcesets.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" }, - "org.forgerock.services.resourcesets.store.starttls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" } - }, - "amconfig.org.forgerock.services.uma.labels.store.common.section": { - "org.forgerock.services.uma.labels.store.location": { - "inherited": true, - "value": "default" + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "javaScriptType": "unknown", + "name": "nameIDScriptHelper" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" }, - "org.forgerock.services.uma.labels.store.max.connections": { - "inherited": true, - "value": "2" + { + "elementType": "method", + "name": "store", + "parameters": [], + "returnType": "void" }, - "org.forgerock.services.uma.labels.store.root.suffix": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.uma.labels.store.external.section": { - "org.forgerock.services.uma.labels.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "setAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "array", + "name": "attributeValues" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.labels.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "addAttribute", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + }, + { + "javaScriptType": "string", + "name": "attributeValue" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.labels.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getAttributeValues", + "parameters": [ + { + "javaScriptType": "string", + "name": "attributeName" + } + ], + "returnType": "array" }, - "org.forgerock.services.uma.labels.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getUniversalId", + "parameters": [], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityScriptWrapper", + "javaScriptType": "object", + "name": "identity" + }, + { + "elements": [ + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" }, - "org.forgerock.services.uma.labels.store.password": { - "inherited": true, - "value": null + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" }, - "org.forgerock.services.uma.labels.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" }, - "org.forgerock.services.uma.labels.store.starttls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" } - }, - "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { - "org.forgerock.services.uma.pendingrequests.store.location": { - "inherited": true, - "value": "default" + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" + }, + { + "javaScriptType": "string", + "name": "nameIDFormat" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "javaScriptType": "string", + "name": "remoteEntityId" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.max.connections": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.root.suffix": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { - "org.forgerock.services.uma.pendingrequests.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.umaaudit.store.common.section": { - "org.forgerock.services.umaaudit.store.location": { - "inherited": true, - "value": "default" + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.max.connections": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.root.suffix": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.umaaudit.store.external.section": { - "org.forgerock.services.umaaudit.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.starttls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" } - } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" + }, + { + "javaScriptType": "string", + "name": "hostedEntityId" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] + } + }, + "defaultScript": "4a171d3a-056b-4ab7-a19f-d7e93ddf7ae5", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "jakarta.servlet.http.HttpServletRequestWrapper", + "jakarta.servlet.http.HttpServletResponseWrapper", + "java.io.PrintWriter", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.net.URI", + "java.security.cert.CertificateFactory", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "javax.security.auth.Subject", + "javax.servlet.http.Cookie", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "org.mozilla.javascript.JavaScriptException", + "org.xml.sax.InputSource", + "sun.security.ec.ECPrivateKeyImpl" + ] + }, + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] + }, + "SAML2_SP_ADAPTER": { + "_id": "SAML2_SP_ADAPTER", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "SAML2_SP_ADAPTER", + "allowLists": [ + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.saml2.assertion.*", + "com.sun.identity.saml2.assertion.impl.*", + "com.sun.identity.saml2.common.SAML2Exception", + "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", + "com.sun.identity.saml2.protocol.*", + "com.sun.identity.saml2.protocol.impl.*", + "com.sun.identity.shared.debug.Debug", + "java.io.PrintWriter", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.util.Collections$EmptyMap", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "javax.security.auth.Subject", + "jakarta.servlet.http.HttpServletRequestWrapper", + "jakarta.servlet.http.HttpServletResponseWrapper", + "groovy.json.internal.LazyMap", + "groovy.json.JsonSlurper", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.*", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.PromiseImpl", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper" + ], + "bindings": [], + "evaluatorVersions": { + "GROOVY": [ + "1.0" + ], + "JAVASCRIPT": [ + "1.0" + ] + } + }, + "defaultScript": "69f06e63-128c-4e2f-af52-079a8a6f448b", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" }, - "siteName": null, - "url": "http://localhost:8080/am" + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList", + "java.util.ArrayList$Itr", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$EmptyMap", + "java.util.Collections$SingletonList", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.HashMap", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$KeySet", + "java.util.HashMap$Node", + "java.util.HashSet", + "java.util.LinkedHashMap", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "java.net.URI", + "com.iplanet.am.sdk.AMHashMap", + "com.iplanet.sso.providers.dpro.SessionSsoToken", + "com.sun.identity.common.CaseInsensitiveHashMap", + "com.sun.identity.shared.debug.Debug", + "com.sun.identity.saml2.common.SAML2Exception", + "groovy.json.JsonSlurper", + "groovy.json.internal.LazyMap", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.Client", + "org.forgerock.http.client.*", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.json.JsonValue", + "org.mozilla.javascript.JavaScriptException", + "com.sun.identity.saml2.assertion.*", + "com.sun.identity.saml2.assertion.impl.*", + "com.sun.identity.saml2.plugins.scripted.ScriptEntitlementInfo", + "com.sun.identity.saml2.protocol.*", + "com.sun.identity.saml2.protocol.impl.*", + "java.io.PrintWriter", + "javax.security.auth.Subject", + "javax.servlet.http.HttpServletRequestWrapper", + "javax.servlet.http.HttpServletResponseWrapper", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "com.sun.identity.saml2.plugins.scripted.SpAdapterScriptHelper", + "jdk.proxy*" + ] }, - "03": { - "_id": "03", - "properties": { - "advanced": { - "_id": "03/properties/advanced", - "com.iplanet.am.lbcookie.value": "03" - }, - "cts": { - "_id": "03/properties/cts", - "amconfig.org.forgerock.services.cts.store.common.section": { - "org.forgerock.services.cts.store.location": { - "inherited": true, - "value": "default" - }, - "org.forgerock.services.cts.store.max.connections": { - "inherited": true, - "value": "100" - }, - "org.forgerock.services.cts.store.page.size": { - "inherited": true, - "value": "0" - }, - "org.forgerock.services.cts.store.root.suffix": { - "inherited": true, - "value": "" - }, - "org.forgerock.services.cts.store.vlv.page.size": { - "inherited": true, - "value": "1000" - } - }, - "amconfig.org.forgerock.services.cts.store.external.section": { - "org.forgerock.services.cts.store.affinity.enabled": { - "inherited": true, - "value": null - }, - "org.forgerock.services.cts.store.directory.name": { - "inherited": true, - "value": "" - }, - "org.forgerock.services.cts.store.heartbeat": { - "inherited": true, - "value": "10" - }, - "org.forgerock.services.cts.store.loginid": { - "inherited": true, - "value": "" - }, - "org.forgerock.services.cts.store.mtls.enabled": { - "inherited": true, - "value": "" - }, - "org.forgerock.services.cts.store.password": { - "inherited": true, - "value": null - }, - "org.forgerock.services.cts.store.ssl.enabled": { - "inherited": true, - "value": "" - }, - "org.forgerock.services.cts.store.starttls.enabled": { - "inherited": true, - "value": "" - } - } - }, - "directoryConfiguration": { - "_id": "03/properties/directoryConfiguration", - "directoryConfiguration": { - "bindDn": "cn=Directory Manager", - "bindPassword": null, - "maxConnectionPool": 10, - "minConnectionPool": 1, - "mtlsAlias": "", - "mtlsEnabled": false, - "mtlsKeyPasswordFile": "", - "mtlsKeyStoreFile": "", - "mtlsKeyStorePasswordFile": "", - "mtlsKeyStoreType": null - }, - "directoryServers": [ + "isHidden": false, + "languages": [ + "JAVASCRIPT", + "GROOVY" + ] + }, + "SCRIPTED_DECISION_NODE": { + "_id": "SCRIPTED_DECISION_NODE", + "_type": { + "_id": "contexts", + "collection": true, + "name": "scriptContext" + }, + "context": { + "_id": "SCRIPTED_DECISION_NODE", + "allowLists": [ + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "java.lang.Object", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.concurrent.TimeUnit", + "java.util.Collections$*", + "java.util.HashSet", + "java.util.HashMap$KeyIterator", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeSet", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.X509EncodedKeySpec", + "java.security.spec.MGF1ParameterSpec", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "org.forgerock.json.JsonValue", + "org.forgerock.util.promise.NeverThrowsException", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "sun.security.ec.ECPrivateKeyImpl", + "ch.qos.logback.classic.Logger", + "com.sun.proxy.$*", + "java.util.Date", + "java.security.spec.InvalidKeySpecException", + "org.forgerock.openam.auth.nodes.VerifyTransactionsHelper" + ], + "bindings": [ + { + "elements": [ { - "connectionType": "SSL", - "hostName": "localhost", - "portNumber": "50636", - "serverName": "Server1" - } - ] - }, - "general": { - "_id": "03/properties/general", - "amconfig.header.debug": { - "com.iplanet.services.debug.directory": { - "inherited": true, - "value": "%BASE_DIR%/var/debug" + "elementType": "method", + "name": "getAuthnRequest", + "parameters": [], + "returnType": "object" }, - "com.iplanet.services.debug.level": { - "inherited": true, - "value": "off" - }, - "com.sun.services.debug.mergeall": { - "inherited": true, - "value": "on" - } - }, - "amconfig.header.installdir": { - "com.iplanet.am.locale": { - "inherited": true, - "value": "en_US" - }, - "com.iplanet.am.util.xml.validating": { - "inherited": true, - "value": "off" + { + "elementType": "method", + "name": "getIdpAttributes", + "parameters": [], + "returnType": "object" }, - "com.iplanet.services.configpath": { - "inherited": true, - "value": "%BASE_DIR%" + { + "elementType": "method", + "name": "getSpAttributes", + "parameters": [], + "returnType": "object" }, - "com.sun.identity.client.notification.url": { - "inherited": true, - "value": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice" - } - }, - "amconfig.header.mailserver": { - "com.iplanet.am.smtphost": { - "inherited": true, - "value": "localhost" + { + "elementType": "method", + "name": "getFlowInitiator", + "parameters": [], + "returnType": "string" }, - "com.iplanet.am.smtpport": { - "inherited": true, - "value": "25" + { + "elementType": "method", + "name": "getApplicationId", + "parameters": [], + "returnType": "string" } - }, - "amconfig.header.site": { - "singleChoiceSite": "testsite" - } + ], + "javaClass": "org.forgerock.openam.saml2.SAMLScriptedBindingObjectImpl", + "javaScriptType": "object", + "name": "samlApplication" }, - "sdk": { - "_id": "03/properties/sdk", - "amconfig.header.cachingreplica": { - "com.iplanet.am.sdk.cache.maxSize": { - "inherited": true, - "value": "10000" - } - }, - "amconfig.header.datastore": { - "com.sun.identity.sm.enableDataStoreNotification": { - "inherited": true, - "value": false - }, - "com.sun.identity.sm.notification.threadpool.size": { - "inherited": true, - "value": "1" - } - }, - "amconfig.header.eventservice": { - "com.iplanet.am.event.connection.delay.between.retries": { - "inherited": true, - "value": "3000" - }, - "com.iplanet.am.event.connection.ldap.error.codes.retries": { - "inherited": true, - "value": "80,81,91" - }, - "com.iplanet.am.event.connection.num.retries": { - "inherited": true, - "value": "3" - }, - "com.sun.am.event.connection.disable.list": { - "inherited": true, - "value": "aci,um,sm" - } - }, - "amconfig.header.ldapconnection": { - "com.iplanet.am.ldap.connection.delay.between.retries": { - "inherited": true, - "value": "1000" - }, - "com.iplanet.am.ldap.connection.ldap.error.codes.retries": { - "inherited": true, - "value": "80,81,91" - }, - "com.iplanet.am.ldap.connection.num.retries": { - "inherited": true, - "value": "3" - } - }, - "amconfig.header.sdktimetoliveconfig": { - "com.iplanet.am.sdk.cache.entry.default.expire.time": { - "inherited": true, - "value": "30" - }, - "com.iplanet.am.sdk.cache.entry.expire.enabled": { - "inherited": true, - "value": false + { + "elements": [ + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + }, + { + "javaScriptType": "object", + "name": "requestOptions" + } + ], + "returnType": "object" }, - "com.iplanet.am.sdk.cache.entry.user.expire.time": { - "inherited": true, - "value": "15" + { + "elementType": "method", + "name": "send", + "parameters": [ + { + "javaScriptType": "string", + "name": "uri" + } + ], + "returnType": "object" } - } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.HttpClientScriptWrapper", + "javaScriptType": "object", + "name": "httpClient" }, - "security": { - "_id": "03/properties/security", - "amconfig.header.cookie": { - "com.iplanet.am.cookie.encode": { - "inherited": true, - "value": false - }, - "com.iplanet.am.cookie.name": { - "inherited": true, - "value": "iPlanetDirectoryPro" - }, - "com.iplanet.am.cookie.secure": { - "inherited": true, - "value": false - } - }, - "amconfig.header.crlcache": { - "com.sun.identity.crl.cache.directory.host": { - "inherited": true, - "value": "" - }, - "com.sun.identity.crl.cache.directory.mtlsenabled": { - "inherited": true, - "value": false - }, - "com.sun.identity.crl.cache.directory.password": { - "inherited": true, - "value": null - }, - "com.sun.identity.crl.cache.directory.port": { - "inherited": true, - "value": "" - }, - "com.sun.identity.crl.cache.directory.searchattr": { - "inherited": true, - "value": "" - }, - "com.sun.identity.crl.cache.directory.searchlocs": { - "inherited": true, - "value": "" - }, - "com.sun.identity.crl.cache.directory.ssl": { - "inherited": true, - "value": false - }, - "com.sun.identity.crl.cache.directory.user": { - "inherited": true, - "value": "" - } - }, - "amconfig.header.deserialisationwhitelist": { - "openam.deserialisation.classes.whitelist": { - "inherited": true, - "value": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction" - } - }, - "amconfig.header.encryption": { - "am.encryption.pwd": { - "inherited": true, - "value": "@AM_ENC_PWD@" - }, - "am.encryption.secret.alias": { - "inherited": true, - "value": null - }, - "am.encryption.secret.enabled": { - "inherited": true, - "value": false + { + "elements": [ + { + "elementType": "method", + "name": "getName", + "parameters": [], + "returnType": "string" }, - "am.encryption.secret.keyPass": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" }, - "am.encryption.secret.keystoreFile": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" }, - "am.encryption.secret.keystorePass": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" }, - "am.encryption.secret.keystoreType": { - "inherited": true, - "value": "JCEKS" + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" }, - "com.iplanet.security.SecureRandomFactoryImpl": { - "inherited": true, - "value": "com.iplanet.am.util.SecureRandomFactoryImpl" + { + "elementType": "method", + "name": "info", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" }, - "com.iplanet.security.encryptor": { - "inherited": true, - "value": "com.iplanet.services.util.JCEEncryption" - } - }, - "amconfig.header.ocsp.check": { - "com.sun.identity.authentication.ocsp.responder.nickname": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" }, - "com.sun.identity.authentication.ocsp.responder.url": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" }, - "com.sun.identity.authentication.ocspCheck": { - "inherited": true, - "value": false - } - }, - "amconfig.header.securitykey": { - "com.sun.identity.saml.xmlsig.certalias": { - "inherited": true, - "value": "test" + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.keypass": { - "inherited": true, - "value": "%BASE_DIR%/security/secrets/default/.keypass" + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.keystore": { - "inherited": true, - "value": "%BASE_DIR%/security/keystores/keystore.jceks" + { + "elementType": "method", + "name": "trace", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.storepass": { - "inherited": true, - "value": "%BASE_DIR%/security/secrets/default/.storepass" + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.storetype": { - "inherited": true, - "value": "JCEKS" - } - }, - "amconfig.header.validation": { - "com.iplanet.am.clientIPCheckEnabled": { - "inherited": true, - "value": false + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" }, - "com.iplanet.services.comm.server.pllrequest.maxContentLength": { - "inherited": true, - "value": "16384" - } - } - }, - "session": { - "_id": "03/properties/session", - "amconfig.header.sessionlogging": { - "com.iplanet.am.stats.interval": { - "inherited": true, - "value": "60" + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" }, - "com.iplanet.services.stats.directory": { - "inherited": true, - "value": "%BASE_DIR%/var/stats" + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" }, - "com.iplanet.services.stats.state": { - "inherited": true, - "value": "file" + { + "elementType": "method", + "name": "debug", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" }, - "com.sun.am.session.enableHostLookUp": { - "inherited": true, - "value": false - } - }, - "amconfig.header.sessionnotification": { - "com.iplanet.am.notification.threadpool.size": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" }, - "com.iplanet.am.notification.threadpool.threshold": { - "inherited": true, - "value": "5000" - } - }, - "amconfig.header.sessionthresholds": { - "com.iplanet.am.session.invalidsessionmaxtime": { - "inherited": true, - "value": "3" + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" }, - "org.forgerock.openam.session.service.access.persistence.caching.maxsize": { - "inherited": true, - "value": "5000" - } - }, - "amconfig.header.sessionvalidation": { - "com.sun.am.session.caseInsensitiveDN": { - "inherited": true, - "value": true - } - } - }, - "uma": { - "_id": "03/properties/uma", - "amconfig.org.forgerock.services.resourcesets.store.common.section": { - "org.forgerock.services.resourcesets.store.location": { - "inherited": true, - "value": "default" + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.max.connections": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.root.suffix": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.resourcesets.store.external.section": { - "org.forgerock.services.resourcesets.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "error", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "array", + "name": "arguments" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + }, + { + "javaScriptType": "object", + "name": "t" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "msg" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg1" + }, + { + "javaScriptType": "object", + "name": "arg2" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "warn", + "parameters": [ + { + "javaScriptType": "string", + "name": "format" + }, + { + "javaScriptType": "object", + "name": "arg" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.starttls.enabled": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.uma.labels.store.common.section": { - "org.forgerock.services.uma.labels.store.location": { - "inherited": true, - "value": "default" + { + "elementType": "method", + "name": "isTraceEnabled", + "parameters": [], + "returnType": "boolean" }, - "org.forgerock.services.uma.labels.store.max.connections": { - "inherited": true, - "value": "2" + { + "elementType": "method", + "name": "isDebugEnabled", + "parameters": [], + "returnType": "boolean" }, - "org.forgerock.services.uma.labels.store.root.suffix": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.uma.labels.store.external.section": { - "org.forgerock.services.uma.labels.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "isErrorEnabled", + "parameters": [], + "returnType": "boolean" }, - "org.forgerock.services.uma.labels.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "isInfoEnabled", + "parameters": [], + "returnType": "boolean" }, - "org.forgerock.services.uma.labels.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "isWarnEnabled", + "parameters": [], + "returnType": "boolean" + } + ], + "javaClass": "org.forgerock.openam.scripting.logging.ScriptedLoggerWrapper", + "javaScriptType": "object", + "name": "logger" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestParameters" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getStringAttributeInputCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.uma.labels.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getNumberAttributeInputCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.uma.labels.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "getKbaCreateCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.uma.labels.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getSelectIdPCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.uma.labels.store.starttls.enabled": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { - "org.forgerock.services.uma.pendingrequests.store.location": { - "inherited": true, - "value": "default" + { + "elementType": "method", + "name": "getTermsAndConditionsCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.uma.pendingrequests.store.max.connections": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "getChoiceCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.uma.pendingrequests.store.root.suffix": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { - "org.forgerock.services.uma.pendingrequests.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getNameCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.uma.pendingrequests.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "getPasswordCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.uma.pendingrequests.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getHiddenValueCallbacks", + "parameters": [], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getTextInputCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.uma.pendingrequests.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "getBooleanAttributeInputCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getConfirmationCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.umaaudit.store.common.section": { - "org.forgerock.services.umaaudit.store.location": { - "inherited": true, - "value": "default" + { + "elementType": "method", + "name": "getLanguageCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.umaaudit.store.max.connections": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "getIdpCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.umaaudit.store.root.suffix": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.umaaudit.store.external.section": { - "org.forgerock.services.umaaudit.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getValidatedPasswordCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.umaaudit.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "getValidatedUsernameCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.umaaudit.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getHttpCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.umaaudit.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getX509CertificateCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.umaaudit.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "getConsentMappingCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.umaaudit.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getDeviceProfileCallbacks", + "parameters": [], + "returnType": "array" }, - "org.forgerock.services.umaaudit.store.starttls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "isEmpty", + "parameters": [], + "returnType": "boolean" } - } - } - }, - "siteName": "testsite", - "url": "http://localhost:8081/am" - }, - "04": { - "_id": "04", - "properties": { - "advanced": { - "_id": "04/properties/advanced", - "com.iplanet.am.lbcookie.value": "04" + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksWrapper", + "javaScriptType": "object", + "name": "callbacks" }, - "cts": { - "_id": "04/properties/cts", - "amconfig.org.forgerock.services.cts.store.common.section": { - "org.forgerock.services.cts.store.location": { - "inherited": true, - "value": "default" - }, - "org.forgerock.services.cts.store.max.connections": { - "inherited": true, - "value": "100" - }, - "org.forgerock.services.cts.store.page.size": { - "inherited": true, - "value": "0" + { + "elements": [ + { + "elementType": "method", + "name": "getGenericSecret", + "parameters": [ + { + "javaScriptType": "string", + "name": "secretId" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.secrets.ScriptedSecrets", + "javaScriptType": "object", + "name": "secrets" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getIdentity", + "parameters": [ + { + "javaScriptType": "string", + "name": "userName" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.api.identity.ScriptedIdentityRepositoryScriptWrapper", + "javaScriptType": "object", + "name": "idRepository" + }, + { + "elements": [ + { + "elementType": "method", + "name": "getClientProperties", + "parameters": [], + "returnType": "object" }, - "org.forgerock.services.cts.store.root.suffix": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getApplicationId", + "parameters": [], + "returnType": "string" }, - "org.forgerock.services.cts.store.vlv.page.size": { - "inherited": true, - "value": "1000" + { + "elementType": "method", + "name": "getRequestProperties", + "parameters": [], + "returnType": "object" } - }, - "amconfig.org.forgerock.services.cts.store.external.section": { - "org.forgerock.services.cts.store.affinity.enabled": { - "inherited": true, - "value": null + ], + "javaClass": "org.forgerock.oauth2.core.application.tree.OAuthScriptedBindingObjectImpl", + "javaScriptType": "object", + "name": "oauthApplication" + }, + { + "elements": [], + "javaScriptType": "object", + "name": "requestHeaders" + }, + { + "elements": [ + { + "elementType": "method", + "name": "generateJwt", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtAssertionScriptWrapper", + "javaScriptType": "object", + "name": "jwtAssertion" + }, + { + "elements": [ + { + "elementType": "method", + "name": "remove", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "void" }, - "org.forgerock.services.cts.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "get", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" }, - "org.forgerock.services.cts.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "keys", + "parameters": [], + "returnType": "object" }, - "org.forgerock.services.cts.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "getObject", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" }, - "org.forgerock.services.cts.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "isDefined", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "boolean" }, - "org.forgerock.services.cts.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "putShared", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" }, - "org.forgerock.services.cts.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "putTransient", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" }, - "org.forgerock.services.cts.store.starttls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "mergeShared", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "mergeTransient", + "parameters": [ + { + "javaScriptType": "object", + "name": "object" + } + ], + "returnType": "object" } - } + ], + "javaClass": "org.forgerock.openam.auth.node.api.NodeStateScriptWrapper", + "javaScriptType": "object", + "name": "nodeState" }, - "directoryConfiguration": { - "_id": "04/properties/directoryConfiguration", - "directoryConfiguration": { - "bindDn": "cn=Directory Manager", - "bindPassword": null, - "maxConnectionPool": 10, - "minConnectionPool": 1, - "mtlsAlias": "", - "mtlsEnabled": false, - "mtlsKeyPasswordFile": "", - "mtlsKeyStoreFile": "", - "mtlsKeyStorePasswordFile": "", - "mtlsKeyStoreType": null - }, - "directoryServers": [ + { + "javaScriptType": "boolean", + "name": "resumedFromSuspend" + }, + { + "elements": [ { - "connectionType": "SSL", - "hostName": "localhost", - "portNumber": "50636", - "serverName": "Server1" + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "randomUUID", + "parameters": [], + "returnType": "string" + }, + { + "elementType": "method", + "name": "getRandomValues", + "parameters": [ + { + "javaScriptType": "array", + "name": "array" + } + ], + "returnType": "array" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "sign", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "digest", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "verify", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + }, + { + "javaScriptType": "array", + "name": "signature" + } + ], + "returnType": "boolean" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "encrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "decrypt", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithmOptions" + }, + { + "javaScriptType": "array", + "name": "key" + }, + { + "javaScriptType": "array", + "name": "data" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "object", + "name": "algorithm" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "generateKey", + "parameters": [ + { + "javaScriptType": "string", + "name": "algorithm" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.subtle.ScriptSubtleService", + "javaScriptType": "object", + "name": "subtle" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.crypto.ScriptCryptoService", + "javaScriptType": "object", + "name": "crypto" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "array", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "decodeToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "array" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64Service", + "javaScriptType": "object", + "name": "base64" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "decode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "encode", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "btoa", + "parameters": [ + { + "javaScriptType": "string", + "name": "toEncode" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "atob", + "parameters": [ + { + "javaScriptType": "string", + "name": "toDecode" + } + ], + "returnType": "string" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptBase64UrlService", + "javaScriptType": "object", + "name": "base64url" + }, + { + "elementType": "field", + "elements": [ + { + "elementType": "method", + "name": "bytesToString", + "parameters": [ + { + "javaScriptType": "array", + "name": "bytes" + } + ], + "returnType": "string" + }, + { + "elementType": "method", + "name": "stringToBytes", + "parameters": [ + { + "javaScriptType": "string", + "name": "string" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptTypesService", + "javaScriptType": "object", + "name": "types" } - ] + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptUtilityService", + "javaScriptType": "object", + "name": "utils" }, - "general": { - "_id": "04/properties/general", - "amconfig.header.debug": { - "com.iplanet.services.debug.directory": { - "inherited": true, - "value": "%BASE_DIR%/var/debug" + { + "elements": [ + { + "elementType": "method", + "name": "withIdentifiedUser", + "parameters": [ + { + "javaScriptType": "string", + "name": "username" + } + ], + "returnType": "object" }, - "com.iplanet.services.debug.level": { - "inherited": true, - "value": "off" + { + "elementType": "method", + "name": "withIdentifiedAgent", + "parameters": [ + { + "javaScriptType": "string", + "name": "agentName" + } + ], + "returnType": "object" }, - "com.sun.services.debug.mergeall": { - "inherited": true, - "value": "on" - } - }, - "amconfig.header.installdir": { - "com.iplanet.am.locale": { - "inherited": true, - "value": "en_US" + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + } + ], + "returnType": "object" }, - "com.iplanet.am.util.xml.validating": { - "inherited": true, - "value": "off" + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + }, + { + "javaScriptType": "object", + "name": "additionalLogic" + }, + { + "javaScriptType": "number", + "name": "maximumSuspendDuration" + } + ], + "returnType": "object" }, - "com.iplanet.services.configpath": { - "inherited": true, - "value": "%BASE_DIR%" + { + "elementType": "method", + "name": "suspend", + "parameters": [ + { + "javaScriptType": "string", + "name": "callbackTextFormat" + } + ], + "returnType": "object" }, - "com.sun.identity.client.notification.url": { - "inherited": true, - "value": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice" - } - }, - "amconfig.header.mailserver": { - "com.iplanet.am.smtphost": { - "inherited": true, - "value": "localhost" + { + "elementType": "method", + "name": "goTo", + "parameters": [ + { + "javaScriptType": "string", + "name": "outcome" + } + ], + "returnType": "object" }, - "com.iplanet.am.smtpport": { - "inherited": true, - "value": "25" - } - }, - "amconfig.header.site": { - "singleChoiceSite": "[Empty]" - } - }, - "sdk": { - "_id": "04/properties/sdk", - "amconfig.header.cachingreplica": { - "com.iplanet.am.sdk.cache.maxSize": { - "inherited": true, - "value": "10000" - } - }, - "amconfig.header.datastore": { - "com.sun.identity.sm.enableDataStoreNotification": { - "inherited": true, - "value": false + { + "elementType": "method", + "name": "putSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "object" }, - "com.sun.identity.sm.notification.threadpool.size": { - "inherited": true, - "value": "1" - } - }, - "amconfig.header.eventservice": { - "com.iplanet.am.event.connection.delay.between.retries": { - "inherited": true, - "value": "3000" + { + "elementType": "method", + "name": "withHeader", + "parameters": [ + { + "javaScriptType": "string", + "name": "header" + } + ], + "returnType": "object" }, - "com.iplanet.am.event.connection.ldap.error.codes.retries": { - "inherited": true, - "value": "80,81,91" + { + "elementType": "method", + "name": "withDescription", + "parameters": [ + { + "javaScriptType": "string", + "name": "description" + } + ], + "returnType": "object" }, - "com.iplanet.am.event.connection.num.retries": { - "inherited": true, - "value": "3" + { + "elementType": "method", + "name": "withStage", + "parameters": [ + { + "javaScriptType": "string", + "name": "stage" + } + ], + "returnType": "object" }, - "com.sun.am.event.connection.disable.list": { - "inherited": true, - "value": "aci,um,sm" - } - }, - "amconfig.header.ldapconnection": { - "com.iplanet.am.ldap.connection.delay.between.retries": { - "inherited": true, - "value": "1000" + { + "elementType": "method", + "name": "withErrorMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "errorMessage" + } + ], + "returnType": "object" }, - "com.iplanet.am.ldap.connection.ldap.error.codes.retries": { - "inherited": true, - "value": "80,81,91" + { + "elementType": "method", + "name": "withLockoutMessage", + "parameters": [ + { + "javaScriptType": "string", + "name": "lockoutMessage" + } + ], + "returnType": "object" }, - "com.iplanet.am.ldap.connection.num.retries": { - "inherited": true, - "value": "3" - } - }, - "amconfig.header.sdktimetoliveconfig": { - "com.iplanet.am.sdk.cache.entry.default.expire.time": { - "inherited": true, - "value": "30" + { + "elementType": "method", + "name": "removeSessionProperty", + "parameters": [ + { + "javaScriptType": "string", + "name": "key" + } + ], + "returnType": "object" }, - "com.iplanet.am.sdk.cache.entry.expire.enabled": { - "inherited": true, - "value": false + { + "elementType": "method", + "name": "withMaxSessionTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxSessionTime" + } + ], + "returnType": "object" }, - "com.iplanet.am.sdk.cache.entry.user.expire.time": { - "inherited": true, - "value": "15" + { + "elementType": "method", + "name": "withMaxIdleTime", + "parameters": [ + { + "javaScriptType": "number", + "name": "maxIdleTime" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ActionWrapper", + "javaScriptType": "object", + "name": "action" + }, + { + "javaScriptType": "string", + "name": "scriptName" + }, + { + "javaScriptType": "string", + "name": "realm" + }, + { + "elements": [ + { + "elementType": "method", + "name": "validateJwtClaims", + "parameters": [ + { + "javaScriptType": "object", + "name": "jwtData" + } + ], + "returnType": "object" } - } + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.JwtValidatorScriptWrapper", + "javaScriptType": "object", + "name": "jwtValidator" }, - "security": { - "_id": "04/properties/security", - "amconfig.header.cookie": { - "com.iplanet.am.cookie.encode": { - "inherited": true, - "value": false + { + "elements": [ + { + "elementType": "method", + "name": "suspendedTextOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" }, - "com.iplanet.am.cookie.name": { - "inherited": true, - "value": "iPlanetDirectoryPro" + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultText" + } + ], + "returnType": "void" }, - "com.iplanet.am.cookie.secure": { - "inherited": true, - "value": false - } - }, - "amconfig.header.crlcache": { - "com.sun.identity.crl.cache.directory.host": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "textInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" }, - "com.sun.identity.crl.cache.directory.mtlsenabled": { - "inherited": true, - "value": false + { + "elementType": "method", + "name": "scriptTextOutputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" }, - "com.sun.identity.crl.cache.directory.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "metadataCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "outputValue" + } + ], + "returnType": "void" }, - "com.sun.identity.crl.cache.directory.port": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" }, - "com.sun.identity.crl.cache.directory.searchattr": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" }, - "com.sun.identity.crl.cache.directory.searchlocs": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" }, - "com.sun.identity.crl.cache.directory.ssl": { - "inherited": true, - "value": false + { + "elementType": "method", + "name": "stringAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" }, - "com.sun.identity.crl.cache.directory.user": { - "inherited": true, - "value": "" - } - }, - "amconfig.header.deserialisationwhitelist": { - "openam.deserialisation.classes.whitelist": { - "inherited": true, - "value": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction" - } - }, - "amconfig.header.encryption": { - "am.encryption.pwd": { - "inherited": true, - "value": "@AM_ENC_PWD@" + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" }, - "am.encryption.secret.alias": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" }, - "am.encryption.secret.enabled": { - "inherited": true, - "value": false + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" }, - "am.encryption.secret.keyPass": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "numberAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" }, - "am.encryption.secret.keystoreFile": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" }, - "am.encryption.secret.keystorePass": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" + }, + { + "elementType": "method", + "name": "booleanAttributeInputCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "value" + }, + { + "javaScriptType": "boolean", + "name": "required" + } + ], + "returnType": "void" }, - "am.encryption.secret.keystoreType": { - "inherited": true, - "value": "JCEKS" + { + "elementType": "method", + "name": "languageCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "language" + }, + { + "javaScriptType": "string", + "name": "country" + } + ], + "returnType": "void" }, - "com.iplanet.security.SecureRandomFactoryImpl": { - "inherited": true, - "value": "com.iplanet.am.util.SecureRandomFactoryImpl" + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + } + ], + "returnType": "void" }, - "com.iplanet.security.encryptor": { - "inherited": true, - "value": "com.iplanet.services.util.JCEEncryption" - } - }, - "amconfig.header.ocsp.check": { - "com.sun.identity.authentication.ocsp.responder.nickname": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "idPCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "provider" + }, + { + "javaScriptType": "string", + "name": "clientId" + }, + { + "javaScriptType": "string", + "name": "redirectUri" + }, + { + "javaScriptType": "array", + "name": "scope" + }, + { + "javaScriptType": "string", + "name": "nonce" + }, + { + "javaScriptType": "string", + "name": "request" + }, + { + "javaScriptType": "string", + "name": "requestUri" + }, + { + "javaScriptType": "array", + "name": "acrValues" + }, + { + "javaScriptType": "boolean", + "name": "requestNativeAppForUserInfo" + }, + { + "javaScriptType": "string", + "name": "token" + }, + { + "javaScriptType": "string", + "name": "tokenType" + } + ], + "returnType": "void" }, - "com.sun.identity.authentication.ocsp.responder.url": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authRHeader" + }, + { + "javaScriptType": "string", + "name": "negoName" + }, + { + "javaScriptType": "string", + "name": "negoValue" + }, + { + "javaScriptType": "number", + "name": "errorCode" + } + ], + "returnType": "void" }, - "com.sun.identity.authentication.ocspCheck": { - "inherited": true, - "value": false - } - }, - "amconfig.header.securitykey": { - "com.sun.identity.saml.xmlsig.certalias": { - "inherited": true, - "value": "test" + { + "elementType": "method", + "name": "httpCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "authorizationHeader" + }, + { + "javaScriptType": "string", + "name": "negotiationHeader" + }, + { + "javaScriptType": "string", + "name": "errorCode" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.keypass": { - "inherited": true, - "value": "%BASE_DIR%/security/secrets/default/.keypass" + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.keystore": { - "inherited": true, - "value": "%BASE_DIR%/security/keystores/keystore.jceks" + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + }, + { + "javaScriptType": "boolean", + "name": "requestSignature" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.storepass": { - "inherited": true, - "value": "%BASE_DIR%/security/secrets/default/.storepass" + { + "elementType": "method", + "name": "x509CertificateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "certificate" + } + ], + "returnType": "void" }, - "com.sun.identity.saml.xmlsig.storetype": { - "inherited": true, - "value": "JCEKS" - } - }, - "amconfig.header.validation": { - "com.iplanet.am.clientIPCheckEnabled": { - "inherited": true, - "value": false + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "config" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" }, - "com.iplanet.services.comm.server.pllrequest.maxContentLength": { - "inherited": true, - "value": "16384" - } - } - }, - "session": { - "_id": "04/properties/session", - "amconfig.header.sessionlogging": { - "com.iplanet.am.stats.interval": { - "inherited": true, - "value": "60" + { + "elementType": "method", + "name": "consentMappingCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "name" + }, + { + "javaScriptType": "string", + "name": "displayName" + }, + { + "javaScriptType": "string", + "name": "icon" + }, + { + "javaScriptType": "string", + "name": "accessLevel" + }, + { + "javaScriptType": "array", + "name": "titles" + }, + { + "javaScriptType": "string", + "name": "message" + }, + { + "javaScriptType": "boolean", + "name": "isRequired" + } + ], + "returnType": "void" }, - "com.iplanet.services.stats.directory": { - "inherited": true, - "value": "%BASE_DIR%/var/stats" + { + "elementType": "method", + "name": "deviceProfileCallback", + "parameters": [ + { + "javaScriptType": "boolean", + "name": "metadata" + }, + { + "javaScriptType": "boolean", + "name": "location" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" }, - "com.iplanet.services.stats.state": { - "inherited": true, - "value": "file" + { + "elementType": "method", + "name": "kbaCreateCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "predefinedQuestions" + }, + { + "javaScriptType": "boolean", + "name": "allowUserDefinedQuestions" + } + ], + "returnType": "void" }, - "com.sun.am.session.enableHostLookUp": { - "inherited": true, - "value": false - } - }, - "amconfig.header.sessionnotification": { - "com.iplanet.am.notification.threadpool.size": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "selectIdPCallback", + "parameters": [ + { + "javaScriptType": "object", + "name": "providers" + } + ], + "returnType": "void" }, - "com.iplanet.am.notification.threadpool.threshold": { - "inherited": true, - "value": "5000" - } - }, - "amconfig.header.sessionthresholds": { - "com.iplanet.am.session.invalidsessionmaxtime": { - "inherited": true, - "value": "3" + { + "elementType": "method", + "name": "termsAndConditionsCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "version" + }, + { + "javaScriptType": "string", + "name": "terms" + }, + { + "javaScriptType": "string", + "name": "createDate" + } + ], + "returnType": "void" }, - "org.forgerock.openam.session.service.access.persistence.caching.maxsize": { - "inherited": true, - "value": "5000" - } - }, - "amconfig.header.sessionvalidation": { - "com.sun.am.session.caseInsensitiveDN": { - "inherited": true, - "value": true - } - } - }, - "uma": { - "_id": "04/properties/uma", - "amconfig.org.forgerock.services.resourcesets.store.common.section": { - "org.forgerock.services.resourcesets.store.location": { - "inherited": true, - "value": "default" + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.max.connections": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.root.suffix": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.resourcesets.store.external.section": { - "org.forgerock.services.resourcesets.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "redirectCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "redirectUrl" + }, + { + "javaScriptType": "object", + "name": "redirectData" + }, + { + "javaScriptType": "string", + "name": "method" + }, + { + "javaScriptType": "string", + "name": "statusParameter" + }, + { + "javaScriptType": "string", + "name": "redirectBackUrlCookie" + }, + { + "javaScriptType": "boolean", + "name": "setTrackingCookie" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "choiceCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "array", + "name": "choices" + }, + { + "javaScriptType": "number", + "name": "defaultChoice" + }, + { + "javaScriptType": "boolean", + "name": "multipleSelectionsAllowed" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "nameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "string", + "name": "defaultName" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "passwordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + } + ], + "returnType": "void" }, - "org.forgerock.services.resourcesets.store.starttls.enabled": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.uma.labels.store.common.section": { - "org.forgerock.services.uma.labels.store.location": { - "inherited": true, - "value": "default" + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.labels.store.max.connections": { - "inherited": true, - "value": "2" + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.labels.store.root.suffix": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.uma.labels.store.external.section": { - "org.forgerock.services.uma.labels.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "array", + "name": "options" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.labels.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "confirmationCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "number", + "name": "optionType" + }, + { + "javaScriptType": "number", + "name": "defaultOption" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.labels.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "textOutputCallback", + "parameters": [ + { + "javaScriptType": "number", + "name": "messageType" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.labels.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "pollingWaitCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "waitTime" + }, + { + "javaScriptType": "string", + "name": "message" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.labels.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "hiddenValueCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "value" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.labels.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.labels.store.starttls.enabled": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { - "org.forgerock.services.uma.pendingrequests.store.location": { - "inherited": true, - "value": "default" + { + "elementType": "method", + "name": "validatedUsernameCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.pendingrequests.store.max.connections": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + } + ], + "returnType": "void" }, - "org.forgerock.services.uma.pendingrequests.store.root.suffix": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "validatedPasswordCallback", + "parameters": [ + { + "javaScriptType": "string", + "name": "prompt" + }, + { + "javaScriptType": "boolean", + "name": "echoOn" + }, + { + "javaScriptType": "object", + "name": "policies" + }, + { + "javaScriptType": "boolean", + "name": "validateOnly" + }, + { + "javaScriptType": "array", + "name": "failedPolicies" + } + ], + "returnType": "void" } - }, - "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { - "org.forgerock.services.uma.pendingrequests.store.directory.name": { - "inherited": true, - "value": "" + ], + "javaClass": "org.forgerock.openam.auth.nodes.script.ScriptedCallbacksBuilder", + "javaScriptType": "object", + "name": "callbacksBuilder" + }, + { + "elements": [ + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "update", + "parameters": [ + { + "javaScriptType": "string", + "name": "id" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "value" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "read", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" }, - "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.umaaudit.store.common.section": { - "org.forgerock.services.umaaudit.store.location": { - "inherited": true, - "value": "default" + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.max.connections": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.root.suffix": { - "inherited": true, - "value": "" - } - }, - "amconfig.org.forgerock.services.umaaudit.store.external.section": { - "org.forgerock.services.umaaudit.store.directory.name": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "delete", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.heartbeat": { - "inherited": true, - "value": "10" + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.loginid": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.mtls.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.password": { - "inherited": true, - "value": null + { + "elementType": "method", + "name": "action", + "parameters": [ + { + "javaScriptType": "string", + "name": "resource" + }, + { + "javaScriptType": "string", + "name": "actionName" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.ssl.enabled": { - "inherited": true, - "value": "" + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + } + ], + "returnType": "object" }, - "org.forgerock.services.umaaudit.store.starttls.enabled": { - "inherited": true, - "value": "" - } - } - } - }, - "siteName": null, - "url": "http://localhost:8082/am" - } - } - }, - "serverInformation": { - "*": { - "_id": "*", - "cookieName": "iPlanetDirectoryPro", - "domains": [ - null - ], - "fileBasedConfiguration": false, - "forgotPassword": "false", - "forgotUsername": "false", - "kbaEnabled": "false", - "lang": "en-US", - "protectedUserAttributes": [ - "telephoneNumber", - "mail" - ], - "realm": "/", - "referralsEnabled": "false", - "secureCookie": false, - "selfRegistration": "false", - "socialImplementations": [], - "successfulUserRegistrationDestination": "default", - "userIdAttributes": [], - "xuiUserSessionValidationEnabled": true, - "zeroPageLogin": { - "allowedWithoutReferer": true, - "enabled": false, - "refererWhitelist": [] - } - } - }, - "serverVersion": { - "version": { - "_id": "version", - "date": "2024-March-28 16:00", - "fullVersion": "ForgeRock Access Management 7.5.0 Build 89116d59a1ebe73ed1931dd3649adb7f217cd06b (2024-March-28 16:00)", - "revision": "89116d59a1ebe73ed1931dd3649adb7f217cd06b", - "version": "7.5.0" - } - }, - "service": { - "ConfigurationVersionService": { - "_id": "", - "_type": { - "_id": "ConfigurationVersionService", - "collection": false, - "name": "Configuration Version Service" - }, - "appliedRuleIds": [ - "AME-23273", - "AME-21032", - "AME-21768" - ], - "configurationVersion": "8.0.0.0", - "location": "global", - "nextDescendents": [] - }, - "CorsService": { - "_id": "", - "_type": { - "_id": "CorsService", - "collection": false, - "name": "CORS Service" - }, - "enabled": true, - "location": "global", - "nextDescendents": [] - }, - "DataStoreService": { - "_id": "", - "_type": { - "_id": "DataStoreService", - "collection": false, - "name": "External Data Stores" - }, - "defaults": { - "applicationDataStoreId": "fd270e31-1788-4193-8734-eb2d500c47f3", - "policyDataStoreId": "fd270e31-1788-4193-8734-eb2d500c47f3" - }, - "location": "global", - "nextDescendents": [] - }, - "GoogleCloudServiceAccountService": { - "_id": "", - "_type": { - "_id": "GoogleCloudServiceAccountService", - "collection": false, - "name": "Google Cloud Platform Service Accounts" - }, - "enabled": true, - "location": "global", - "nextDescendents": [ - { - "_id": "default", - "_type": { - "_id": "serviceAccounts", - "collection": true, - "name": "GCP Service Account" + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "create", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "newResourceId" + }, + { + "javaScriptType": "object", + "name": "content" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "query", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + }, + { + "javaScriptType": "array", + "name": "fields" + } + ], + "returnType": "object" + }, + { + "elementType": "method", + "name": "patch", + "parameters": [ + { + "javaScriptType": "string", + "name": "resourceName" + }, + { + "javaScriptType": "string", + "name": "rev" + }, + { + "javaScriptType": "array", + "name": "patch" + }, + { + "javaScriptType": "object", + "name": "params" + } + ], + "returnType": "object" + } + ], + "javaClass": "org.forgerock.openam.scripting.wrappers.IdmIntegrationServiceScriptWrapper", + "javaScriptType": "object", + "name": "openidm" }, - "allowedRealms": [ - "*" - ], - "allowedSecretNamePatterns": [ - "*" - ], - "disallowedSecretNamePatterns": [] + { + "elements": [], + "javaScriptType": "object", + "name": "requestCookies" + }, + { + "javaScriptType": "string", + "name": "cookieName" + }, + { + "elements": [ + { + "elementType": "method", + "name": "evaluate", + "parameters": [ + { + "javaScriptType": "object", + "name": "subject" + }, + { + "javaScriptType": "string", + "name": "application" + }, + { + "javaScriptType": "array", + "name": "resourceNames" + }, + { + "javaScriptType": "object", + "name": "environment" + } + ], + "returnType": "array" + } + ], + "javaClass": "org.forgerock.openam.scripting.bindings.ScriptPolicyService", + "javaScriptType": "object", + "name": "policy" + } + ], + "evaluatorVersions": { + "JAVASCRIPT": [ + "2.0" + ] } - ] - }, - "IdentityAssertionService": { - "_id": "", - "_type": { - "_id": "IdentityAssertionService", - "collection": false, - "name": "Identity Assertion Service" - }, - "cacheDuration": 120, - "defaults": { - "cacheDuration": 120, - "enable": true - }, - "enable": true, - "location": "global", - "nextDescendents": [] - }, - "RadiusServerService": { - "_id": "", - "_type": { - "_id": "RadiusServerService", - "collection": false, - "name": "RADIUS Server" - }, - "location": "global", - "nextDescendents": [], - "radiusListenerEnabled": "NO", - "radiusServerPort": 1812, - "radiusThreadPoolCoreSize": 1, - "radiusThreadPoolKeepaliveSeconds": 10, - "radiusThreadPoolMaxSize": 10, - "radiusThreadPoolQueueSize": 20 - }, - "RemoteConsentService": { - "_id": "", - "_type": { - "_id": "RemoteConsentService", - "collection": false, - "name": "Remote Consent Service" - }, - "defaults": { - "consentResponseTimeLimit": 2, - "jwkStoreCacheMissCacheTime": 1, - "jwkStoreCacheTimeout": 5 - }, - "location": "global", - "nextDescendents": [] - }, - "SocialIdentityProviders": { - "_id": "", - "_type": { - "_id": "SocialIdentityProviders", - "collection": false, - "name": "Social Identity Provider Service" - }, - "defaults": { - "enabled": true - }, - "location": "global", - "nextDescendents": [] - }, - "amSessionPropertyWhitelist": { - "_id": "", - "_type": { - "_id": "amSessionPropertyWhitelist", - "collection": false, - "name": "Session Property Whitelist Service" }, - "defaults": { - "sessionPropertyWhitelist": [ - "AMCtxId" + "defaultScript": "11e1a3c0-038b-4c16-956a-6c9d89328cff", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.lang.Class", + "java.lang.reflect.*", + "java.security.AccessController" ], - "whitelistedQueryProperties": [] - }, - "location": "global", - "nextDescendents": [] - }, - "androidKeyAttestation": { - "_id": "", - "_type": { - "_id": "androidKeyAttestation", - "collection": false, - "name": "Android Key Attestation" - }, - "cacheDuration": 24, - "defaults": { - "crlUrl": "https://android.googleapis.com/attestation/status" - }, - "location": "global", - "nextDescendents": [] - }, - "audit": { - "_id": "", - "_type": { - "_id": "audit", - "collection": false, - "name": "Audit Logging" - }, - "auditEnabled": true, - "blacklistFieldFilters": [], - "defaults": { - "auditEnabled": true, - "blacklistFieldFilters": [], - "whitelistFieldFilters": [] + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "ch.qos.logback.classic.Logger", + "com.sun.crypto.provider.PBKDF2KeyImpl", + "com.sun.proxy.$*", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Float", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.Void", + "java.security.KeyPair", + "java.security.KeyPairGenerator", + "java.security.KeyPairGenerator$*", + "java.security.PrivateKey", + "java.security.PublicKey", + "java.security.spec.InvalidKeySpecException", + "java.security.spec.MGF1ParameterSpec", + "java.security.spec.X509EncodedKeySpec", + "java.util.AbstractMap$*", + "java.util.ArrayList", + "java.util.Collections", + "java.util.Collections$*", + "java.util.Collections$UnmodifiableCollection$1", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.concurrent.ExecutionException", + "java.util.concurrent.TimeoutException", + "java.util.concurrent.TimeUnit", + "java.util.Date", + "java.util.HashMap$KeyIterator", + "java.util.HashSet", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeSet", + "javax.crypto.SecretKeyFactory", + "javax.crypto.spec.OAEPParameterSpec", + "javax.crypto.spec.PBEKeySpec", + "javax.crypto.spec.PSource", + "javax.crypto.spec.PSource$*", + "org.forgerock.json.JsonValue", + "org.forgerock.openam.auth.nodes.VerifyTransactionsHelper", + "org.forgerock.openam.core.rest.authn.callbackhandlers.*", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "org.forgerock.util.promise.NeverThrowsException", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.util.promise.Promises$*", + "sun.security.ec.ECPrivateKeyImpl" + ] }, - "location": "global", - "nextDescendents": [ - { - "_id": "Global JSON Handler", - "_type": { - "_id": "JSON", - "collection": true, - "name": "JSON" - }, - "commonHandler": { - "enabled": true, - "topics": [ - "access", - "activity", - "config", - "authentication" - ] - }, - "commonHandlerPlugin": { - "handlerFactory": "org.forgerock.openam.audit.events.handlers.JsonAuditEventHandlerFactory" - }, - "jsonBuffering": { - "bufferingMaxSize": "100000", - "bufferingWriteInterval": "5" - }, - "jsonConfig": { - "elasticsearchCompatible": false, - "location": "%BASE_DIR%/var/audit/", - "rotationRetentionCheckInterval": "5" - }, - "jsonFileRetention": { - "retentionMaxDiskSpaceToUse": "-1", - "retentionMaxNumberOfHistoryFiles": "1", - "retentionMinFreeSpaceRequired": "-1" - }, - "jsonFileRotation": { - "rotationEnabled": true, - "rotationFileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "rotationInterval": "-1", - "rotationMaxFileSize": "100000000", - "rotationTimes": [] - } - } - ], - "whitelistFieldFilters": [] + "isHidden": false, + "languages": [ + "JAVASCRIPT" + ] }, - "authenticatorOathService": { - "_id": "", + "SOCIAL_IDP_PROFILE_TRANSFORMATION": { + "_id": "SOCIAL_IDP_PROFILE_TRANSFORMATION", "_type": { - "_id": "authenticatorOathService", - "collection": false, - "name": "ForgeRock Authenticator (OATH) Service" - }, - "defaults": { - "authenticatorOATHDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", - "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", - "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, - "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", - "authenticatorOATHDeviceSettingsEncryptionScheme": "NONE", - "authenticatorOATHSkippableName": "oath2faEnabled", - "oathAttrName": "oathDeviceProfiles" + "_id": "contexts", + "collection": true, + "name": "scriptContext" }, - "location": "global", - "nextDescendents": [] - }, - "authenticatorPushService": { - "_id": "", - "_type": { - "_id": "authenticatorPushService", - "collection": false, - "name": "ForgeRock Authenticator (Push) Service" + "context": { + "_id": "SOCIAL_IDP_PROFILE_TRANSFORMATION", + "allowLists": [ + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList$Itr", + "java.util.ArrayList", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$Node", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.Response", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.oauth.clients.oidc.Claim", + "java.util.Locale", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn" + ], + "bindings": [], + "evaluatorVersions": { + "GROOVY": [ + "1.0" + ], + "JAVASCRIPT": [ + "1.0" + ] + } }, - "defaults": { - "authenticatorPushDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", - "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, - "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", - "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", - "authenticatorPushSkippableName": "push2faEnabled", - "pushAttrName": "pushDeviceProfiles" + "defaultScript": "1d475815-72cb-42eb-aafd-4026989d28a7", + "engineConfiguration": { + "_id": "engineConfiguration", + "_type": { + "_id": "engineConfiguration", + "collection": false, + "name": "Scripting engine configuration" + }, + "blackList": [ + "java.security.AccessController", + "java.lang.Class", + "java.lang.reflect.*" + ], + "coreThreads": 10, + "idleTimeout": 60, + "maxThreads": 50, + "propertyNamePrefix": "script", + "queueSize": 10, + "serverTimeout": 0, + "useSecurityManager": true, + "whiteList": [ + "com.sun.identity.idm.AMIdentity", + "com.sun.identity.shared.debug.Debug", + "groovy.json.JsonSlurper", + "java.lang.Boolean", + "java.lang.Byte", + "java.lang.Character$Subset", + "java.lang.Character$UnicodeBlock", + "java.lang.Character", + "java.lang.Double", + "java.lang.Float", + "java.lang.Integer", + "java.lang.Long", + "java.lang.Math", + "java.lang.Number", + "java.lang.Object", + "java.lang.Short", + "java.lang.StrictMath", + "java.lang.String", + "java.lang.Void", + "java.util.AbstractMap$SimpleImmutableEntry", + "java.util.ArrayList$Itr", + "java.util.ArrayList", + "java.util.Collections$1", + "java.util.Collections$EmptyList", + "java.util.Collections$SingletonList", + "java.util.HashMap$Entry", + "java.util.HashMap$KeyIterator", + "java.util.HashMap$Node", + "java.util.HashMap", + "java.util.HashSet", + "java.util.LinkedHashMap$Entry", + "java.util.LinkedHashMap$LinkedEntryIterator", + "java.util.LinkedHashMap$LinkedEntrySet", + "java.util.LinkedHashMap", + "java.util.LinkedHashSet", + "java.util.LinkedList", + "java.util.TreeMap", + "java.util.TreeSet", + "org.codehaus.groovy.runtime.GStringImpl", + "org.codehaus.groovy.runtime.ScriptBytecodeAdapter", + "org.forgerock.http.client.*", + "org.forgerock.http.protocol.Entity", + "org.forgerock.http.protocol.Request", + "org.forgerock.http.protocol.Response", + "org.forgerock.json.JsonValue", + "org.forgerock.oauth2.core.UserInfoClaims", + "org.forgerock.openam.scripting.api.http.GroovyHttpClient", + "org.forgerock.openam.scripting.api.http.JavaScriptHttpClient", + "org.forgerock.openam.shared.security.crypto.CertificateService", + "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOToken", + "org.forgerock.util.promise.PromiseImpl", + "org.forgerock.openam.scripting.api.PrefixedScriptPropertyResolver", + "java.util.List", + "java.util.Map", + "java.util.Collections$UnmodifiableRandomAccessList", + "java.util.Collections$UnmodifiableCollection$1", + "org.forgerock.oauth.clients.oidc.Claim", + "java.util.Locale", + "org.mozilla.javascript.JavaScriptException", + "sun.security.ec.ECPrivateKeyImpl", + "org.forgerock.opendj.ldap.Rdn", + "org.forgerock.opendj.ldap.Dn", + "jdk.proxy*" + ] }, - "location": "global", - "nextDescendents": [] - }, - "authenticatorWebAuthnService": { - "_id": "", + "isHidden": false, + "languages": [ + "JAVASCRIPT", + "GROOVY" + ] + } + }, + "secrets": { + "GlobalSecrets": { + "_id": "GlobalSecrets", "_type": { - "_id": "authenticatorWebAuthnService", + "_id": "GlobalSecrets", "collection": false, - "name": "WebAuthn Profile Encryption Service" - }, - "defaults": { - "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jceks", - "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, - "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", - "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", - "webauthnAttrName": "webauthnDeviceProfiles" + "name": "Global Secrets Settings" }, - "location": "global", - "nextDescendents": [] - }, - "baseurl": { - "_id": "", + "storeTypes": [ + "EnvironmentAndSystemPropertySecretStore", + "KeyStoreSecretStore", + "GoogleKeyManagementServiceSecretStore", + "GoogleSecretManagerSecretStoreProvider", + "HsmSecretStore", + "FileSystemSecretStore" + ] + } + }, + "secretstore": { + "EnvironmentAndSystemPropertySecretStore": { + "_id": "EnvironmentAndSystemPropertySecretStore", "_type": { - "_id": "baseurl", + "_id": "EnvironmentAndSystemPropertySecretStore", "collection": false, - "name": "Base URL Source" - }, - "defaults": { - "contextPath": "/am", - "source": "REQUEST_VALUES" + "name": "Environment and System Property Secrets Store" }, - "location": "global", - "nextDescendents": [] + "format": "BASE64" }, - "dashboard": { - "_id": "", + "default-keystore": { + "_id": "default-keystore", "_type": { - "_id": "dashboard", - "collection": false, - "name": "Dashboard" - }, - "defaults": { - "assignedDashboard": [] + "_id": "KeyStoreSecretStore", + "collection": true, + "name": "Keystore" }, - "location": "global", - "nextDescendents": [ + "file": "/root/am/security/keystores/keystore.jceks", + "keyEntryPassword": "entrypass", + "leaseExpiryDuration": 5, + "mappings": [ + { + "_id": "am.applications.agents.remote.consent.request.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "es256test" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES256" + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES384", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "es384test" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES384" + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "es512test" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.ES512" + }, + { + "_id": "am.applications.agents.remote.consent.request.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "rsajwtsigningkey" + ], + "secretId": "am.applications.agents.remote.consent.request.signing.RSA" + }, + { + "_id": "am.authentication.nodes.persistentcookie.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "test" + ], + "secretId": "am.authentication.nodes.persistentcookie.encryption" + }, + { + "_id": "am.authn.authid.signing.HMAC", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "hmacsigningtest" + ], + "secretId": "am.authn.authid.signing.HMAC" + }, + { + "_id": "am.authn.trees.transientstate.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "directenctest" + ], + "secretId": "am.authn.trees.transientstate.encryption" + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.idp.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "test" + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.idp.encryption" + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.idp.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "rsajwtsigningkey" + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.idp.signing" + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.sp.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "test" + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.sp.encryption" + }, + { + "_id": "am.default.applications.federation.entity.providers.saml2.sp.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "rsajwtsigningkey" + ], + "secretId": "am.default.applications.federation.entity.providers.saml2.sp.signing" + }, + { + "_id": "am.default.authentication.modules.persistentcookie.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "test" + ], + "secretId": "am.default.authentication.modules.persistentcookie.encryption" + }, + { + "_id": "am.default.authentication.modules.persistentcookie.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "hmacsigningtest" + ], + "secretId": "am.default.authentication.modules.persistentcookie.signing" + }, + { + "_id": "am.default.authentication.nodes.persistentcookie.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "hmacsigningtest" + ], + "secretId": "am.default.authentication.nodes.persistentcookie.signing" + }, + { + "_id": "am.global.services.oauth2.oidc.agent.idtoken.signing", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "rsajwtsigningkey" + ], + "secretId": "am.global.services.oauth2.oidc.agent.idtoken.signing" + }, + { + "_id": "am.global.services.saml2.client.storage.jwt.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "directenctest" + ], + "secretId": "am.global.services.saml2.client.storage.jwt.encryption" + }, + { + "_id": "am.global.services.session.clientbased.encryption.AES", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "aestest" + ], + "secretId": "am.global.services.session.clientbased.encryption.AES" + }, { - "_id": "Google", + "_id": "am.global.services.session.clientbased.signing.HMAC", "_type": { - "_id": "instances", + "_id": "mappings", "collection": true, - "name": "instance" + "name": "Mappings" }, - "className": "SAML2ApplicationClass", - "displayName": "Google", - "icfIdentifier": "idm magic 34", - "icon": "images/logos/googleplus.png", - "login": "http://www.google.com", - "name": "Google" + "aliases": [ + "hmacsigningtest" + ], + "secretId": "am.global.services.session.clientbased.signing.HMAC" }, { - "_id": "SalesForce", + "_id": "am.services.iot.jwt.issuer.signing", "_type": { - "_id": "instances", + "_id": "mappings", "collection": true, - "name": "instance" + "name": "Mappings" }, - "className": "SAML2ApplicationClass", - "displayName": "SalesForce", - "icfIdentifier": "idm magic 12", - "icon": "images/logos/salesforce.png", - "login": "http://www.salesforce.com", - "name": "SalesForce" + "aliases": [ + "hmacsigningtest" + ], + "secretId": "am.services.iot.jwt.issuer.signing" }, { - "_id": "ZenDesk", + "_id": "am.services.oauth2.jwt.authenticity.signing", "_type": { - "_id": "instances", + "_id": "mappings", "collection": true, - "name": "instance" + "name": "Mappings" }, - "className": "SAML2ApplicationClass", - "displayName": "ZenDesk", - "icfIdentifier": "idm magic 56", - "icon": "images/logos/zendesk.png", - "login": "http://www.ZenDesk.com", - "name": "ZenDesk" - } - ] - }, - "deviceBindingService": { - "_id": "", - "_type": { - "_id": "deviceBindingService", - "collection": false, - "name": "Device Binding Service" - }, - "defaults": { - "deviceBindingAttrName": "boundDevices", - "deviceBindingSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", - "deviceBindingSettingsEncryptionKeystorePassword": null, - "deviceBindingSettingsEncryptionKeystoreType": "JKS", - "deviceBindingSettingsEncryptionScheme": "NONE" - }, - "location": "global", - "nextDescendents": [] - }, - "deviceIdService": { - "_id": "", - "_type": { - "_id": "deviceIdService", - "collection": false, - "name": "Device ID Service" - }, - "defaults": { - "deviceIdAttrName": "devicePrintProfiles", - "deviceIdSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", - "deviceIdSettingsEncryptionKeystorePassword": null, - "deviceIdSettingsEncryptionKeystoreType": "JKS", - "deviceIdSettingsEncryptionScheme": "NONE" - }, - "location": "global", - "nextDescendents": [] - }, - "deviceProfilesService": { - "_id": "", - "_type": { - "_id": "deviceProfilesService", - "collection": false, - "name": "Device Profiles Service" - }, - "defaults": { - "deviceProfilesAttrName": "deviceProfiles", - "deviceProfilesSettingsEncryptionKeystore": "/home/prestonhales/am/security/keystores/keystore.jks", - "deviceProfilesSettingsEncryptionKeystorePassword": null, - "deviceProfilesSettingsEncryptionKeystoreType": "JKS", - "deviceProfilesSettingsEncryptionScheme": "NONE" - }, - "location": "global", - "nextDescendents": [] - }, - "email": { - "_id": "", - "_type": { - "_id": "email", - "collection": false, - "name": "Email Service" - }, - "defaults": { - "emailAddressAttribute": "mail", - "emailImplClassName": "org.forgerock.openam.services.email.MailServerImpl", - "emailRateLimitSeconds": 1, - "port": 465, - "sslState": "SSL" - }, - "location": "global", - "nextDescendents": [] - }, - "federation/common": { - "_id": "", - "_type": { - "_id": "federation/common", - "collection": false, - "name": "Common Federation Configuration" - }, - "algorithms": { - "DigestAlgorithm": "http://www.w3.org/2001/04/xmlenc#sha256", - "QuerySignatureAlgorithmDSA": "http://www.w3.org/2009/xmldsig11#dsa-sha256", - "QuerySignatureAlgorithmEC": "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512", - "QuerySignatureAlgorithmRSA": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256", - "aesKeyWrapAlgorithm": "http://www.w3.org/2001/04/xmlenc#kw-aes256", - "canonicalizationAlgorithm": "http://www.w3.org/2001/10/xml-exc-c14n#", - "maskGenerationFunction": "http://www.w3.org/2009/xmlenc11#mgf1sha256", - "rsaKeyTransportAlgorithm": "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p", - "signatureAlgorithm": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256", - "transformationAlgorithm": "http://www.w3.org/2001/10/xml-exc-c14n#" - }, - "generalConfig": { - "certificateChecking": "on", - "maxContentLength": 20480, - "samlErrorPageHttpBinding": "HTTP-POST", - "samlErrorPageUrl": "/saml2/jsp/saml2error.jsp" - }, - "implementationClasses": { - "configurationClass": "com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl", - "datastoreClass": "com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider", - "keyProviderClass": "com.sun.identity.saml.xmlsig.JKSKeyProvider", - "loggerClass": "com.sun.identity.plugin.log.impl.LogProvider", - "passwordDecoderClass": "com.sun.identity.saml.xmlsig.FMPasswordDecoder", - "rootUrlProviderClass": "org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider", - "sessionProviderClass": "com.sun.identity.plugin.session.impl.FMSessionProvider", - "signatureProviderClass": "com.sun.identity.saml.xmlsig.AMSignatureProvider" - }, - "location": "global", - "montoring": { - "monitoringAgentClass": "com.sun.identity.plugin.monitoring.impl.AgentProvider", - "monitoringSaml2Class": "com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider" - }, - "nextDescendents": [] - }, - "federation/multi": { - "_id": "", - "_type": { - "_id": "federation/multi", - "collection": false, - "name": "Multi-Federation Protocol" - }, - "location": "global", - "nextDescendents": [], - "singleLogoutHandlerList": [ - "key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler", - "key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler" - ] - }, - "federation/saml2soapbinding": { - "_id": "", - "_type": { - "_id": "federation/saml2soapbinding", - "collection": false, - "name": "SAML v2.0 SOAP Binding" - }, - "location": "global", - "nextDescendents": [], - "requestHandlers": [] - }, - "globalization": { - "_id": "", - "_type": { - "_id": "globalization", - "collection": false, - "name": "Globalization Settings" - }, - "charsetMappings": [ - "locale=zh|charset=UTF-8;GB2312", - "locale=ar|charset=UTF-8;ISO-8859-6", - "locale=es|charset=UTF-8;ISO-8859-15", - "locale=de|charset=UTF-8;ISO-8859-15", - "locale=zh_TW|charset=UTF-8;BIG5", - "locale=fr|charset=UTF-8;ISO-8859-15", - "locale=ko|charset=UTF-8;EUC-KR", - "locale=en|charset=UTF-8;ISO-8859-1", - "locale=th|charset=UTF-8;TIS-620", - "locale=ja|charset=UTF-8;Shift_JIS;EUC-JP" - ], - "defaults": { - "commonNameFormats": [ - "zh={sn}{givenname}" - ] - }, - "location": "global", - "nextDescendents": [], - "sun-identity-g11n-settings-charset-alias-mapping": [ - "mimeName=EUC-KR|javaName=EUC_KR", - "mimeName=EUC-JP|javaName=EUC_JP", - "mimeName=Shift_JIS|javaName=SJIS" - ] - }, - "id-repositories": { - "_id": "", - "_type": { - "_id": "id-repositories", - "collection": false, - "name": "sunIdentityRepositoryService" - }, - "defaults": { - "sunIdRepoAttributeCombiner": "com.iplanet.am.sdk.AttributeCombiner", - "sunIdRepoAttributeValidator": [ - "class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl", - "minimumPasswordLength=8", - "usernameInvalidChars=*|(|)|&|!" - ] - }, - "location": "global", - "nextDescendents": [ + "aliases": [ + "hmacsigningtest" + ], + "secretId": "am.services.oauth2.jwt.authenticity.signing" + }, { - "_id": "agent", + "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "test" + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP" + }, + { + "_id": "am.services.oauth2.oidc.decryption.RSA.OAEP.256", + "_type": { + "_id": "mappings", "collection": true, - "name": "SupportedIdentities" - } + "name": "Mappings" + }, + "aliases": [ + "test" + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA.OAEP.256" }, { - "_id": "agentgroup", + "_id": "am.services.oauth2.oidc.decryption.RSA1.5", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities" - } + "name": "Mappings" + }, + "aliases": [ + "test" + ], + "secretId": "am.services.oauth2.oidc.decryption.RSA1.5" }, { - "_id": "agentonly", + "_id": "am.services.oauth2.oidc.rp.idtoken.encryption", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities" - } + "name": "Mappings" + }, + "aliases": [ + "test" + ], + "secretId": "am.services.oauth2.oidc.rp.idtoken.encryption" }, { - "_id": "filteredrole", + "_id": "am.services.oauth2.oidc.rp.jwt.authenticity.signing", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities" - } + "name": "Mappings" + }, + "aliases": [ + "rsajwtsigningkey" + ], + "secretId": "am.services.oauth2.oidc.rp.jwt.authenticity.signing" }, { - "_id": "group", + "_id": "am.services.oauth2.oidc.signing.ES256", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities" - } + "name": "Mappings" + }, + "aliases": [ + "es256test" + ], + "secretId": "am.services.oauth2.oidc.signing.ES256" }, { - "_id": "realm", + "_id": "am.services.oauth2.oidc.signing.ES384", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities" - } + "name": "Mappings" + }, + "aliases": [ + "es384test" + ], + "secretId": "am.services.oauth2.oidc.signing.ES384" }, { - "_id": "role", + "_id": "am.services.oauth2.oidc.signing.ES512", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities" - } + "name": "Mappings" + }, + "aliases": [ + "es512test" + ], + "secretId": "am.services.oauth2.oidc.signing.ES512" }, { - "_id": "user", + "_id": "am.services.oauth2.oidc.signing.RSA", "_type": { - "_id": "SupportedIdentities", + "_id": "mappings", "collection": true, - "name": "SupportedIdentities" - } + "name": "Mappings" + }, + "aliases": [ + "rsajwtsigningkey" + ], + "secretId": "am.services.oauth2.oidc.signing.RSA" }, { - "_id": "amAdmin", + "_id": "am.services.oauth2.remote.consent.request.encryption", "_type": { - "_id": "user", + "_id": "mappings", "collection": true, - "name": "User" + "name": "Mappings" }, - "cn": "amAdmin", - "dn": "uid=amAdmin,ou=people,", - "givenName": "amAdmin", - "inetUserStatus": "Active", - "iplanet-am-user-auth-config": "[Empty]", - "roles": [], - "sn": "amAdmin", - "userPassword": null + "aliases": [ + "selfserviceenctest" + ], + "secretId": "am.services.oauth2.remote.consent.request.encryption" }, { - "_id": "anonymous", + "_id": "am.services.oauth2.remote.consent.response.decryption", "_type": { - "_id": "user", + "_id": "mappings", "collection": true, - "name": "User" + "name": "Mappings" }, - "cn": "anonymous", - "dn": "uid=anonymous,ou=people,", - "givenName": "anonymous", - "inetUserStatus": "Inactive", - "iplanet-am-user-auth-config": "[Empty]", - "roles": [], - "sn": "anonymous", - "userPassword": null + "aliases": [ + "test" + ], + "secretId": "am.services.oauth2.remote.consent.response.decryption" }, { - "_id": "dsameuser", + "_id": "am.services.oauth2.remote.consent.response.signing.RSA", "_type": { - "_id": "user", + "_id": "mappings", "collection": true, - "name": "User" + "name": "Mappings" }, - "dn": "cn=dsameuser,ou=DSAME Users,", - "inetUserStatus": "Active", - "iplanet-am-user-auth-config": "[Empty]", - "roles": [], - "userPassword": null - } - ] - }, - "idm-integration": { - "_id": "", - "_type": { - "_id": "idm-integration", - "collection": false, - "name": "IDM Provisioning" - }, - "configurationCacheDuration": 0, - "enabled": false, - "idmProvisioningClient": "idm-provisioning", - "jwtSigningCompatibilityMode": false, - "location": "global", - "nextDescendents": [], - "provisioningClientScopes": [ - "fr:idm:*" - ], - "useInternalOAuth2Provider": false - }, - "iot": { - "_id": "", - "_type": { - "_id": "iot", - "collection": false, - "name": "IoT Service" - }, - "defaults": { - "attributeAllowlist": [ - "thingConfig" - ], - "createOAuthClient": false, - "createOAuthJwtIssuer": false, - "oauthClientName": "forgerock-iot-oauth2-client", - "oauthJwtIssuerName": "forgerock-iot-jwt-issuer" - }, - "location": "global", - "nextDescendents": [] - }, - "logging": { - "_id": "", - "_type": { - "_id": "logging", - "collection": false, - "name": "Logging" - }, - "database": { - "databaseFailureMemoryBufferSize": 2, - "driver": "oracle.jdbc.driver.OracleDriver", - "maxRecords": 500, - "user": "dbuser" - }, - "file": { - "location": "%BASE_DIR%/var/audit/", - "maxFileSize": 100000000, - "numberHistoryFiles": 1, - "rotationEnabled": true, - "rotationInterval": -1, - "suffix": "-MM.dd.yy-kk.mm" - }, - "general": { - "bufferSize": 25, - "bufferTime": 60, - "buffering": "ON", - "certificateStore": "%BASE_DIR%/var/audit/Logger.jks", - "fields": [ - "IPAddr", - "LoggedBy", - "LoginID", - "NameID", - "ModuleName", - "ContextID", - "Domain", - "LogLevel", - "HostName", - "MessageID" - ], - "filesPerKeystore": 5, - "jdkLoggingLevel": "INFO", - "security": "OFF", - "signaturePeriod": 900, - "signingAlgorithm": "SHA1withRSA", - "status": "INACTIVE", - "type": "File", - "verifyPeriod": 3600 - }, - "location": "global", - "nextDescendents": [], - "resolveHostName": false, - "syslog": { - "facility": "local5", - "host": "localhost", - "port": 514, - "protocol": "UDP", - "timeout": 30 - } - }, - "monitoring": { - "_id": "", - "_type": { - "_id": "monitoring", - "collection": false, - "name": "Monitoring" - }, - "authfilePath": "%BASE_DIR%/security/openam_mon_auth", - "enabled": true, - "httpEnabled": false, - "httpPort": 8082, - "location": "global", - "nextDescendents": [ + "aliases": [ + "rsajwtsigningkey" + ], + "secretId": "am.services.oauth2.remote.consent.response.signing.RSA" + }, + { + "_id": "am.services.oauth2.stateless.signing.ES256", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "es256test" + ], + "secretId": "am.services.oauth2.stateless.signing.ES256" + }, { - "_id": "crest", + "_id": "am.services.oauth2.stateless.signing.ES384", "_type": { - "_id": "crest", + "_id": "mappings", "collection": true, - "name": "CREST Reporter" + "name": "Mappings" }, - "enabled": false + "aliases": [ + "es384test" + ], + "secretId": "am.services.oauth2.stateless.signing.ES384" + }, + { + "_id": "am.services.oauth2.stateless.signing.ES512", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "es512test" + ], + "secretId": "am.services.oauth2.stateless.signing.ES512" + }, + { + "_id": "am.services.oauth2.stateless.signing.HMAC", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "hmacsigningtest" + ], + "secretId": "am.services.oauth2.stateless.signing.HMAC" + }, + { + "_id": "am.services.oauth2.stateless.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "rsajwtsigningkey" + ], + "secretId": "am.services.oauth2.stateless.signing.RSA" + }, + { + "_id": "am.services.oauth2.stateless.token.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "directenctest" + ], + "secretId": "am.services.oauth2.stateless.token.encryption" + }, + { + "_id": "am.services.saml2.metadata.signing.RSA", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "rsajwtsigningkey" + ], + "secretId": "am.services.saml2.metadata.signing.RSA" + }, + { + "_id": "am.services.uma.pct.encryption", + "_type": { + "_id": "mappings", + "collection": true, + "name": "Mappings" + }, + "aliases": [ + "directenctest" + ], + "secretId": "am.services.uma.pct.encryption" + } + ], + "providerName": "SunJCE", + "storePassword": "storepass", + "storetype": "JCEKS" + }, + "default-passwords-store": { + "_id": "default-passwords-store", + "_type": { + "_id": "FileSystemSecretStore", + "collection": true, + "name": "File System Secret Volumes" + }, + "directory": "/root/am/security/secrets/encrypted", + "format": "ENCRYPTED_PLAIN" + } + }, + "server": { + "defaultProperties": { + "advanced": { + "_id": "null/properties/advanced", + "com.iplanet.am.buildDate": "2025-April-15 11:37", + "com.iplanet.am.buildRevision": "b59bc0908346197b0c33afcb9e733d0400feeea1", + "com.iplanet.am.buildVersion": "ForgeRock Access Management 8.0.1", + "com.iplanet.am.cookie.c66Encode": true, + "com.iplanet.am.daemons": "securid", + "com.iplanet.am.directory.ssl.enabled": false, + "com.iplanet.am.installdir": "%BASE_DIR%", + "com.iplanet.am.jssproxy.SSLTrustHostList": "", + "com.iplanet.am.jssproxy.checkSubjectAltName": false, + "com.iplanet.am.jssproxy.resolveIPAddress": false, + "com.iplanet.am.jssproxy.trustAllServerCerts": false, + "com.iplanet.am.lbcookie.name": "amlbcookie", + "com.iplanet.am.lbcookie.value": "00", + "com.iplanet.am.logstatus": "ACTIVE", + "com.iplanet.am.pcookie.name": "DProPCookie", + "com.iplanet.am.profile.host": "%SERVER_HOST%", + "com.iplanet.am.profile.port": "%SERVER_PORT%", + "com.iplanet.am.serverMode": true, + "com.iplanet.am.session.agentSessionIdleTime": "1440", + "com.iplanet.am.session.client.polling.enable": false, + "com.iplanet.am.session.client.polling.period": "180", + "com.iplanet.am.session.httpSession.enabled": "true", + "com.iplanet.am.version": "ForgeRock Access Management 8.0.1 Build b59bc0908346197b0c33afcb9e733d0400feeea1 (2025-April-15 11:37)", + "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", + "com.sun.am.event.notification.expire.time": "5", + "com.sun.embedded.sync.servers": "on", + "com.sun.identity.am.cookie.check": false, + "com.sun.identity.auth.cookieName": "AMAuthCookie", + "com.sun.identity.authentication.multiple.tabs.used": false, + "com.sun.identity.authentication.setCookieToAllDomains": true, + "com.sun.identity.authentication.special.users": "cn=dsameuser,ou=DSAME Users,%ROOT_SUFFIX%|cn=amService-UrlAccessAgent,ou=DSAME Users,%ROOT_SUFFIX%", + "com.sun.identity.authentication.super.user": "uid=amAdmin,ou=People,%ROOT_SUFFIX%", + "com.sun.identity.authentication.uniqueCookieName": "sunIdentityServerAuthNServer", + "com.sun.identity.cookie.httponly": true, + "com.sun.identity.cookie.samesite": "off", + "com.sun.identity.enableUniqueSSOTokenCookie": false, + "com.sun.identity.jss.donotInstallAtHighestPriority": true, + "com.sun.identity.monitoring": "off", + "com.sun.identity.monitoring.local.conn.server.url": "service:jmx:rmi://", + "com.sun.identity.password.deploymentDescriptor": "%SERVER_URI%", + "com.sun.identity.plugin.configuration.class": "@CONFIGURATION_PROVIDER_CLASS@", + "com.sun.identity.plugin.datastore.class.default": "@DATASTORE_PROVIDER_CLASS@", + "com.sun.identity.plugin.log.class": "@LOG_PROVIDER_CLASS@", + "com.sun.identity.plugin.monitoring.agent.class": "@MONAGENT_PROVIDER_CLASS@", + "com.sun.identity.plugin.monitoring.saml2.class": "@MONSAML2_PROVIDER_CLASS@", + "com.sun.identity.plugin.session.class": "@SESSION_PROVIDER_CLASS@", + "com.sun.identity.policy.Policy.policy_evaluation_weights": "10:10:10", + "com.sun.identity.policy.resultsCacheMaxSize": "10000", + "com.sun.identity.policy.resultsCacheResourceCap": "20", + "com.sun.identity.saml.xmlsig.keyprovider.class": "@XMLSIG_KEY_PROVIDER@", + "com.sun.identity.saml.xmlsig.passwordDecoder": "@PASSWORD_DECODER_CLASS@", + "com.sun.identity.saml.xmlsig.signatureprovider.class": "@XML_SIGNATURE_PROVIDER@", + "com.sun.identity.security.checkcaller": false, + "com.sun.identity.server.fqdnMap[dnsfirst]": "dnsfirst", + "com.sun.identity.server.fqdnMap[hello]": "hello", + "com.sun.identity.server.fqdnMap[localhost]": "localhost", + "com.sun.identity.server.fqdnMap[openam-frodo-dev.classic.com]": "openam-frodo-dev.classic.com", + "com.sun.identity.server.fqdnMap[openam]": "openam", + "com.sun.identity.server.fqdnMap[secondDNS]": "secondDNS", + "com.sun.identity.session.repository.enableAttributeCompression": false, + "com.sun.identity.session.repository.enableCompression": false, + "com.sun.identity.session.repository.enableEncryption": false, + "com.sun.identity.sm.cache.ttl": "30", + "com.sun.identity.sm.cache.ttl.enable": false, + "com.sun.identity.url.readTimeout": "30000", + "com.sun.identity.webcontainer": "WEB_CONTAINER", + "dynamic.datastore.creation.enabled": false, + "openam.auth.destroy_session_after_upgrade": true, + "openam.auth.distAuthCookieName": "AMDistAuthCookie", + "openam.auth.session_property_upgrader": "org.forgerock.openam.authentication.service.DefaultSessionPropertyUpgrader", + "openam.auth.version.header.enabled": false, + "openam.authentication.ignore_goto_during_logout": false, + "openam.cdm.default.charset": "UTF-8", + "openam.forbidden.to.copy.headers": "connection", + "openam.forbidden.to.copy.request.headers": "connection", + "openam.oauth2.client.jwt.encryption.algorithm.allow.list": "RSA-OAEP,RSA-OAEP-256,ECDH-ES", + "openam.oauth2.client.jwt.unreasonable.lifetime.limit.minutes": "30", + "openam.retained.http.headers": "X-DSAMEVersion", + "openam.retained.http.request.headers": "X-DSAMEVersion", + "openam.serviceattributevalidator.classes.whitelist": "org.forgerock.openam.auth.nodes.validators.GreaterThanZeroValidator,org.forgerock.openam.auth.nodes.validators.HMACKeyLengthValidator,org.forgerock.openam.auth.nodes.validators.HmacSigningKeyValidator,org.forgerock.openam.auth.nodes.validators.PercentageValidator,org.forgerock.openam.auth.nodes.validators.QueryFilterValidator,org.forgerock.openam.auth.nodes.validators.SessionPropertyNameValidator,org.forgerock.openam.auth.nodes.validators.SessionPropertyValidator,org.forgerock.openam.auth.nodes.framework.validators.NodeValueValidator,org.forgerock.openam.audit.validation.PositiveIntegerValidator,org.forgerock.openam.authentication.modules.fr.oath.validators.AlphaNumericValidator,org.forgerock.openam.authentication.modules.fr.oath.validators.CodeLengthValidator,org.forgerock.openam.authentication.modules.persistentcookie.validation.SigningKeyValidator,com.sun.identity.common.configuration.DuplicateKeyMapValueValidator,com.sun.identity.common.configuration.AgentClientIpModeValueValidator,com.sun.identity.common.configuration.FilterModeValueValidator,com.sun.identity.common.configuration.GlobalMapValueValidator,com.sun.identity.common.configuration.ListValueValidator,com.sun.identity.common.configuration.MapValueValidator,com.sun.identity.common.configuration.ServerPropertyValidator,com.sun.identity.policy.ResourceComparatorValidator,com.sun.identity.sm.EmailValidator,com.sun.identity.sm.IPAddressValidator,com.sun.identity.sm.RequiredValueValidator,com.sun.identity.sm.ServerIDValidator,com.sun.identity.sm.SiteIDValidator,org.forgerock.openam.sm.validation.Base64EncodedBinaryValidator,org.forgerock.openam.sm.validation.BlankValueValidator,org.forgerock.openam.sm.validation.DurationValidator,org.forgerock.openam.sm.validation.EndpointValidator,org.forgerock.openam.sm.validation.HostnameValidator,org.forgerock.openam.sm.validation.PortValidator,org.forgerock.openam.sm.validation.SecretIdValidator,org.forgerock.openam.sm.validation.StatelessSessionSigningAlgorithmValidator,org.forgerock.openam.sm.validation.StringMapValidator,org.forgerock.openam.sm.validation.URLValidator,org.forgerock.openam.selfservice.config.KeyAliasValidator,org.forgerock.openam.sm.validation.UniqueIndexedValuesValidator,org.forgerock.openam.webhook.HttpHeaderValidator,org.forgerock.oauth2.core.ClientRedirectUriValidator", + "openam.session.case.sensitive.uuid": false, + "org.forgerock.allow.http.client.debug": false, + "org.forgerock.am.auth.chains.authindexuser.strict": true, + "org.forgerock.am.auth.node.otp.inSharedState": false, + "org.forgerock.am.auth.trees.authenticate.identified.identity": true, + "org.forgerock.openam.audit.additionalSuccessStatusCodesEnabled": true, + "org.forgerock.openam.audit.identity.activity.events.blacklist": "AM-ACCESS-ATTEMPT,AM-IDENTITY-CHANGE,AM-GROUP-CHANGE", + "org.forgerock.openam.auth.transactionauth.returnErrorOnAuthFailure": false, + "org.forgerock.openam.authLevel.excludeRequiredOrRequisite": false, + "org.forgerock.openam.authentication.forceAuth.enabled": false, + "org.forgerock.openam.console.autocomplete.enabled": true, + "org.forgerock.openam.core.resource.lookup.cache.enabled": true, + "org.forgerock.openam.core.sms.placeholder_api_enabled": "OFF", + "org.forgerock.openam.devices.recovery.use_insecure_storage": false, + "org.forgerock.openam.encryption.key.digest": "SHA1", + "org.forgerock.openam.encryption.key.iterations": "10000", + "org.forgerock.openam.encryption.key.size": "128", + "org.forgerock.openam.httpclienthandler.system.clients.connection.timeout": "10 seconds", + "org.forgerock.openam.httpclienthandler.system.clients.max.connections": "64", + "org.forgerock.openam.httpclienthandler.system.clients.pool.ttl": "-1", + "org.forgerock.openam.httpclienthandler.system.clients.response.timeout": "10 seconds", + "org.forgerock.openam.httpclienthandler.system.clients.retry.failed.requests.enabled": true, + "org.forgerock.openam.httpclienthandler.system.clients.reuse.connections.enabled": true, + "org.forgerock.openam.httpclienthandler.system.nonProxyHosts": "localhost,127.*,[::1],0.0.0.0,[::0]", + "org.forgerock.openam.httpclienthandler.system.proxy.enabled": false, + "org.forgerock.openam.httpclienthandler.system.proxy.password": null, + "org.forgerock.openam.httpclienthandler.system.proxy.uri": "", + "org.forgerock.openam.httpclienthandler.system.proxy.username": "", + "org.forgerock.openam.idm.attribute.names.lower.case": false, + "org.forgerock.openam.idrepo.ldapv3.passwordpolicy.allowDiagnosticMessage": false, + "org.forgerock.openam.idrepo.ldapv3.proxyauth.passwordreset.adminRequest": "isAdminPasswordChangeRequest", + "org.forgerock.openam.introspect.token.query.param.allowed": false, + "org.forgerock.openam.ldap.dncache.expire.time": "0", + "org.forgerock.openam.ldap.heartbeat.timeout": "10", + "org.forgerock.openam.ldap.keepalive.search.base": "", + "org.forgerock.openam.ldap.keepalive.search.filter": "(objectClass=*)", + "org.forgerock.openam.ldap.secure.protocol.version": "TLSv1.3,TLSv1.2", + "org.forgerock.openam.notifications.agents.enabled": true, + "org.forgerock.openam.oauth2.checkIssuerForIdTokenInfo": true, + "org.forgerock.openam.radius.server.context.cache.size": "5000", + "org.forgerock.openam.redirecturlvalidator.maxUrlLength": "2000", + "org.forgerock.openam.request.max.bytes.entity.size": "1048576", + "org.forgerock.openam.saml2.authenticatorlookup.skewAllowance": "60", + "org.forgerock.openam.scripting.maxinterpreterstackdepth": "10000", + "org.forgerock.openam.secrets.special.user.passwords.format": "ENCRYPTED_PLAIN", + "org.forgerock.openam.secrets.special.user.secret.refresh.seconds": "900", + "org.forgerock.openam.session.service.persistence.deleteAsynchronously": true, + "org.forgerock.openam.session.stateless.encryption.method": "A128CBC-HS256", + "org.forgerock.openam.session.stateless.rsa.padding": "RSA-OAEP-256", + "org.forgerock.openam.session.stateless.signing.allownone": false, + "org.forgerock.openam.showServletTraceInBrowser": false, + "org.forgerock.openam.slf4j.enableTraceInMessage": false, + "org.forgerock.openam.smtp.system.connect.timeout": "10000", + "org.forgerock.openam.smtp.system.socket.read.timeout": "10000", + "org.forgerock.openam.smtp.system.socket.write.timeout": "10000", + "org.forgerock.openam.sso.providers.list": "org.forgerock.openidconnect.ssoprovider.OpenIdConnectSSOProvider", + "org.forgerock.openam.timerpool.shutdown.retry.interval": "15000", + "org.forgerock.openam.timerpool.shutdown.retry.limit": "3", + "org.forgerock.openam.timerpool.shutdown.retry.multiplier": "1.5", + "org.forgerock.openam.trees.consumedstatedata.cache.size": "15", + "org.forgerock.openam.trees.ids.cache.size": "50", + "org.forgerock.openam.url.connectTimeout": "1000", + "org.forgerock.openam.xui.user.session.validation.enabled": true, + "org.forgerock.openidconnect.ssoprovider.maxcachesize": "5000", + "org.forgerock.security.entitlement.enforce.realm": true, + "org.forgerock.security.oauth2.enforce.sub.claim.uniqueness": true, + "org.forgerock.services.cts.store.reaper.enabled": true, + "org.forgerock.services.cts.store.ttlsupport.enabled": false, + "org.forgerock.services.cts.store.ttlsupport.exclusionlist": "", + "org.forgerock.services.default.store.max.connections": "", + "org.forgerock.services.default.store.min.connections": "", + "org.forgerock.services.openid.request.object.lifespan": "120000", + "securidHelper.ports": "58943" + }, + "cts": { + "_id": "null/properties/cts", + "amconfig.org.forgerock.services.cts.store.common.section": { + "org.forgerock.services.cts.store.location": "default", + "org.forgerock.services.cts.store.max.connections": "100", + "org.forgerock.services.cts.store.page.size": "0", + "org.forgerock.services.cts.store.root.suffix": "", + "org.forgerock.services.cts.store.vlv.page.size": "1000" }, - { - "_id": "prometheus", - "_type": { - "_id": "prometheus", - "collection": true, - "name": "Prometheus Reporter" - }, - "authenticationType": "BASIC", - "enabled": false, - "password": null, - "username": "prometheus" + "amconfig.org.forgerock.services.cts.store.external.section": { + "org.forgerock.services.cts.store.directory.name": "", + "org.forgerock.services.cts.store.heartbeat": "10", + "org.forgerock.services.cts.store.loginid": "", + "org.forgerock.services.cts.store.mtls.enabled": "", + "org.forgerock.services.cts.store.password": null, + "org.forgerock.services.cts.store.ssl.enabled": "", + "org.forgerock.services.cts.store.starttls.enabled": "" } - ], - "policyHistoryWindowSize": 10000, - "rmiEnabled": false, - "rmiPort": 9999, - "sessionHistoryWindowSize": 10000, - "snmpEnabled": false, - "snmpPort": 8085 - }, - "naming": { - "_id": "", - "_type": { - "_id": "naming", - "collection": false, - "name": "Naming" }, - "endpointConfig": { - "jaxwsUrl": "%protocol://%host:%port%uri/identityservices/", - "stsMexUrl": "%protocol://%host:%port%uri/sts/mex", - "stsUrl": "%protocol://%host:%port%uri/sts" + "general": { + "_id": "null/properties/general", + "amconfig.header.debug": { + "com.iplanet.services.debug.directory": "%BASE_DIR%/var/debug", + "com.iplanet.services.debug.level": "off", + "com.sun.services.debug.mergeall": "on" + }, + "amconfig.header.installdir": { + "com.iplanet.am.locale": "en_US", + "com.iplanet.am.util.xml.validating": "off", + "com.iplanet.services.configpath": "%BASE_DIR%", + "com.sun.identity.client.notification.url": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice" + }, + "amconfig.header.mailserver": { + "com.iplanet.am.smtphost": "localhost", + "com.iplanet.am.smtpport": "25" + } }, - "federationConfig": { - "jaxrpcUrl": "%protocol://%host:%port%uri/jaxrpc/", - "samlAssertionManagerUrl": "%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF", - "samlAwareServletUrl": "%protocol://%host:%port%uri/SAMLAwareServlet", - "samlPostServletUrl": "%protocol://%host:%port%uri/SAMLPOSTProfileServlet", - "samlSoapReceiverUrl": "%protocol://%host:%port%uri/SAMLSOAPReceiver" + "sdk": { + "_id": "null/properties/sdk", + "amconfig.header.cachingreplica": { + "com.iplanet.am.sdk.cache.maxSize": "10000" + }, + "amconfig.header.datastore": { + "com.sun.identity.sm.enableDataStoreNotification": false, + "com.sun.identity.sm.notification.threadpool.size": "1" + }, + "amconfig.header.eventservice": { + "com.iplanet.am.event.connection.delay.between.retries": "3000", + "com.iplanet.am.event.connection.ldap.error.codes.retries": "80,81,91", + "com.iplanet.am.event.connection.num.retries": "3", + "com.sun.am.event.connection.disable.list": "aci,um,sm" + }, + "amconfig.header.ldapconnection": { + "com.iplanet.am.ldap.connection.delay.between.retries": "1000", + "com.iplanet.am.ldap.connection.ldap.error.codes.retries": "80,81,91", + "com.iplanet.am.ldap.connection.num.retries": "3" + }, + "amconfig.header.sdktimetoliveconfig": { + "com.iplanet.am.sdk.cache.entry.default.expire.time": "30", + "com.iplanet.am.sdk.cache.entry.expire.enabled": false, + "com.iplanet.am.sdk.cache.entry.user.expire.time": "15" + } }, - "generalConfig": { - "authUrl": "%protocol://%host:%port%uri/authservice", - "loggingUrl": "%protocol://%host:%port%uri/loggingservice", - "policyUrl": "%protocol://%host:%port%uri/policyservice", - "profileUrl": "%protocol://%host:%port%uri/profileservice", - "sessionUrl": "%protocol://%host:%port%uri/sessionservice" + "security": { + "_id": "null/properties/security", + "amconfig.header.cookie": { + "com.iplanet.am.cookie.encode": false, + "com.iplanet.am.cookie.name": "iPlanetDirectoryPro", + "com.iplanet.am.cookie.secure": false + }, + "amconfig.header.crlcache": { + "com.sun.identity.crl.cache.directory.host": "", + "com.sun.identity.crl.cache.directory.mtlsenabled": false, + "com.sun.identity.crl.cache.directory.password": null, + "com.sun.identity.crl.cache.directory.port": "", + "com.sun.identity.crl.cache.directory.searchattr": "", + "com.sun.identity.crl.cache.directory.searchlocs": "", + "com.sun.identity.crl.cache.directory.ssl": false, + "com.sun.identity.crl.cache.directory.user": "" + }, + "amconfig.header.deserialisationwhitelist": { + "openam.deserialisation.classes.whitelist": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction" + }, + "amconfig.header.encryption": { + "am.encryption.pwd": "@AM_ENC_PWD@", + "am.encryption.secret.enabled": false, + "am.encryption.secret.keystoreType": "JCEKS", + "com.iplanet.security.SecureRandomFactoryImpl": "com.iplanet.am.util.SecureRandomFactoryImpl", + "com.iplanet.security.encryptor": "com.iplanet.services.util.JCEEncryption" + }, + "amconfig.header.ocsp.check": { + "com.sun.identity.authentication.ocsp.responder.nickname": "", + "com.sun.identity.authentication.ocsp.responder.url": "", + "com.sun.identity.authentication.ocspCheck": false + }, + "amconfig.header.securitykey": { + "com.sun.identity.saml.xmlsig.certalias": "test", + "com.sun.identity.saml.xmlsig.keypass": "%BASE_DIR%/security/secrets/default/.keypass", + "com.sun.identity.saml.xmlsig.keystore": "%BASE_DIR%/security/keystores/keystore.jceks", + "com.sun.identity.saml.xmlsig.storepass": "%BASE_DIR%/security/secrets/default/.storepass", + "com.sun.identity.saml.xmlsig.storetype": "JCEKS" + }, + "amconfig.header.validation": { + "com.iplanet.am.clientIPCheckEnabled": false, + "com.iplanet.services.comm.server.pllrequest.maxContentLength": "16384" + } }, - "location": "global", - "nextDescendents": [] - }, - "oauth-oidc": { - "_id": "", - "_type": { - "_id": "oauth-oidc", - "collection": false, - "name": "OAuth2 Provider" + "session": { + "_id": "null/properties/session", + "amconfig.header.sessionlogging": { + "com.iplanet.am.stats.interval": "60", + "com.iplanet.services.stats.directory": "%BASE_DIR%/var/stats", + "com.iplanet.services.stats.state": "file", + "com.sun.am.session.enableHostLookUp": false + }, + "amconfig.header.sessionnotification": { + "com.iplanet.am.notification.threadpool.size": "10", + "com.iplanet.am.notification.threadpool.threshold": "5000" + }, + "amconfig.header.sessionthresholds": { + "com.iplanet.am.session.invalidsessionmaxtime": "3", + "org.forgerock.openam.session.service.access.persistence.caching.maxsize": "5000" + }, + "amconfig.header.sessionvalidation": { + "com.sun.am.session.caseInsensitiveDN": true + } }, - "allowUnauthorisedAccessToUserCodeForm": false, - "blacklistCacheSize": 10000, - "blacklistPollInterval": 60, - "blacklistPurgeDelay": 1, - "defaults": { - "advancedOAuth2Config": { - "allowClientCredentialsInTokenRequestQueryParameters": false, - "allowedAudienceValues": [], - "authenticationAttributes": [ - "uid" - ], - "codeVerifierEnforced": "false", - "defaultScopes": [], - "displayNameAttribute": "cn", - "expClaimRequiredInRequestObject": false, - "grantTypes": [ - "implicit", - "urn:ietf:params:oauth:grant-type:saml2-bearer", - "refresh_token", - "password", - "client_credentials", - "urn:ietf:params:oauth:grant-type:device_code", - "authorization_code", - "urn:openid:params:grant-type:ciba", - "urn:ietf:params:oauth:grant-type:uma-ticket", - "urn:ietf:params:oauth:grant-type:token-exchange", - "urn:ietf:params:oauth:grant-type:jwt-bearer" - ], - "hashSalt": "changeme", - "includeSubnameInTokenClaims": true, - "macaroonTokenFormat": "V2", - "maxAgeOfRequestObjectNbfClaim": 0, - "maxDifferenceBetweenRequestObjectNbfAndExp": 0, - "moduleMessageEnabledInPasswordGrant": false, - "nbfClaimRequiredInRequestObject": false, - "parRequestUriLifetime": 90, - "persistentClaims": [], - "refreshTokenGracePeriod": 0, - "requestObjectProcessing": "OIDC", - "requirePushedAuthorizationRequests": false, - "responseTypeClasses": [ - "code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler", - "id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler", - "token|org.forgerock.oauth2.core.TokenResponseTypeHandler" - ], - "supportedScopes": [], - "supportedSubjectTypes": [ - "public", - "pairwise" - ], - "tlsCertificateBoundAccessTokensEnabled": true, - "tlsCertificateRevocationCheckingEnabled": false, - "tlsClientCertificateHeaderFormat": "URLENCODED_PEM", - "tokenCompressionEnabled": false, - "tokenEncryptionEnabled": false, - "tokenExchangeClasses": [ - "urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger", - "urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger", - "urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger", - "urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger" - ], - "tokenSigningAlgorithm": "HS256", - "tokenValidatorClasses": [ - "urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator", - "urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator" - ] + "uma": { + "_id": "null/properties/uma", + "amconfig.org.forgerock.services.resourcesets.store.common.section": { + "org.forgerock.services.resourcesets.store.location": "default", + "org.forgerock.services.resourcesets.store.max.connections": "10", + "org.forgerock.services.resourcesets.store.root.suffix": "" + }, + "amconfig.org.forgerock.services.resourcesets.store.external.section": { + "org.forgerock.services.resourcesets.store.directory.name": "", + "org.forgerock.services.resourcesets.store.heartbeat": "10", + "org.forgerock.services.resourcesets.store.loginid": "", + "org.forgerock.services.resourcesets.store.mtls.enabled": "", + "org.forgerock.services.resourcesets.store.password": null, + "org.forgerock.services.resourcesets.store.ssl.enabled": "", + "org.forgerock.services.resourcesets.store.starttls.enabled": "" + }, + "amconfig.org.forgerock.services.uma.labels.store.common.section": { + "org.forgerock.services.uma.labels.store.location": "default", + "org.forgerock.services.uma.labels.store.max.connections": "2", + "org.forgerock.services.uma.labels.store.root.suffix": "" }, - "advancedOIDCConfig": { - "alwaysAddClaimsToToken": false, - "amrMappings": {}, - "authorisedIdmDelegationClients": [], - "authorisedOpenIdConnectSSOClients": [], - "claimsParameterSupported": false, - "defaultACR": [], - "idTokenInfoClientAuthenticationEnabled": true, - "includeAllKtyAlgCombinationsInJwksUri": false, - "loaMapping": {}, - "storeOpsTokens": true, - "supportedAuthorizationResponseEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW" - ], - "supportedAuthorizationResponseEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512" - ], - "supportedAuthorizationResponseSigningAlgorithms": [ - "PS384", - "RS384", - "EdDSA", - "ES384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512" - ], - "supportedRequestParameterEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "ECDH-ES+A128KW", - "RSA-OAEP", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW" - ], - "supportedRequestParameterEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512" - ], - "supportedRequestParameterSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512" - ], - "supportedTokenEndpointAuthenticationSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512" - ], - "supportedTokenIntrospectionResponseEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW" - ], - "supportedTokenIntrospectionResponseEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512" - ], - "supportedTokenIntrospectionResponseSigningAlgorithms": [ - "PS384", - "RS384", - "EdDSA", - "ES384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512" - ], - "supportedUserInfoEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW" - ], - "supportedUserInfoEncryptionEnc": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512" - ], - "supportedUserInfoSigningAlgorithms": [ - "ES384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512" - ], - "useForceAuthnForMaxAge": false, - "useForceAuthnForPromptLogin": false + "amconfig.org.forgerock.services.uma.labels.store.external.section": { + "org.forgerock.services.uma.labels.store.directory.name": "", + "org.forgerock.services.uma.labels.store.heartbeat": "10", + "org.forgerock.services.uma.labels.store.loginid": "", + "org.forgerock.services.uma.labels.store.mtls.enabled": "", + "org.forgerock.services.uma.labels.store.password": null, + "org.forgerock.services.uma.labels.store.ssl.enabled": "", + "org.forgerock.services.uma.labels.store.starttls.enabled": "" }, - "cibaConfig": { - "cibaAuthReqIdLifetime": 600, - "cibaMinimumPollingInterval": 2, - "supportedCibaSigningAlgorithms": [ - "ES256", - "PS256" - ] + "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { + "org.forgerock.services.uma.pendingrequests.store.location": "default", + "org.forgerock.services.uma.pendingrequests.store.max.connections": "10", + "org.forgerock.services.uma.pendingrequests.store.root.suffix": "" }, - "clientDynamicRegistrationConfig": { - "allowDynamicRegistration": false, - "dynamicClientRegistrationScope": "dynamic_client_registration", - "dynamicClientRegistrationSoftwareStatementRequired": false, - "generateRegistrationAccessTokens": true, - "requiredSoftwareStatementAttestedAttributes": [ - "redirect_uris" - ] + "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { + "org.forgerock.services.uma.pendingrequests.store.directory.name": "", + "org.forgerock.services.uma.pendingrequests.store.heartbeat": "10", + "org.forgerock.services.uma.pendingrequests.store.loginid": "", + "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": "", + "org.forgerock.services.uma.pendingrequests.store.password": null, + "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": "", + "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": "" + }, + "amconfig.org.forgerock.services.umaaudit.store.common.section": { + "org.forgerock.services.umaaudit.store.location": "default", + "org.forgerock.services.umaaudit.store.max.connections": "10", + "org.forgerock.services.umaaudit.store.root.suffix": "" + }, + "amconfig.org.forgerock.services.umaaudit.store.external.section": { + "org.forgerock.services.umaaudit.store.directory.name": "", + "org.forgerock.services.umaaudit.store.heartbeat": "10", + "org.forgerock.services.umaaudit.store.loginid": "", + "org.forgerock.services.umaaudit.store.mtls.enabled": "", + "org.forgerock.services.umaaudit.store.password": null, + "org.forgerock.services.umaaudit.store.ssl.enabled": "", + "org.forgerock.services.umaaudit.store.starttls.enabled": "" + } + } + }, + "server": { + "01": { + "_id": "01", + "properties": { + "advanced": { + "_id": "01/properties/advanced", + "bootstrap.file": "/root/.openamcfg/AMConfig_usr_local_tomcat_webapps_am_", + "com.iplanet.am.lbcookie.value": "01", + "com.iplanet.am.serverMode": true, + "com.iplanet.security.SSLSocketFactoryImpl": "com.sun.identity.shared.ldap.factory.JSSESocketFactory", + "com.sun.embedded.replicationport": "", + "com.sun.embedded.sync.servers": "on", + "com.sun.identity.common.systemtimerpool.size": "3", + "com.sun.identity.sm.sms_object_class_name": "com.sun.identity.sm.SmsWrapperObject", + "com.sun.identity.urlconnection.useCache": false, + "opensso.protocol.handler.pkgs": "", + "org.forgerock.embedded.dsadminport": "4444" + }, + "cts": { + "_id": "01/properties/cts", + "amconfig.org.forgerock.services.cts.store.common.section": { + "org.forgerock.services.cts.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.cts.store.max.connections": { + "inherited": true, + "value": "100" + }, + "org.forgerock.services.cts.store.page.size": { + "inherited": true, + "value": "0" + }, + "org.forgerock.services.cts.store.root.suffix": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.vlv.page.size": { + "inherited": true, + "value": "1000" + } + }, + "amconfig.org.forgerock.services.cts.store.external.section": { + "org.forgerock.services.cts.store.affinity.enabled": { + "inherited": true, + "value": null + }, + "org.forgerock.services.cts.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.cts.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.cts.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.starttls.enabled": { + "inherited": true, + "value": "" + } + } + }, + "directoryConfiguration": { + "_id": "01/properties/directoryConfiguration", + "directoryConfiguration": { + "bindDn": "uid=am-config,ou=admins,ou=am-config", + "bindPassword": null, + "maxConnectionPool": 10, + "minConnectionPool": 1, + "mtlsAlias": "", + "mtlsEnabled": false, + "mtlsKeyPasswordFile": "", + "mtlsKeyStoreFile": "", + "mtlsKeyStorePasswordFile": "", + "mtlsKeyStoreType": null + }, + "directoryServers": [ + { + "connectionType": "SSL", + "hostName": "opendj-frodo-dev.classic.com", + "portNumber": "1636", + "serverName": "Server1" + } + ] + }, + "general": { + "_id": "01/properties/general", + "amconfig.header.debug": { + "com.iplanet.services.debug.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/debug" + }, + "com.iplanet.services.debug.level": { + "inherited": false, + "value": "error" + }, + "com.sun.services.debug.mergeall": { + "inherited": false, + "value": "off" + } + }, + "amconfig.header.installdir": { + "com.iplanet.am.locale": { + "inherited": false, + "value": "en_US" + }, + "com.iplanet.am.util.xml.validating": { + "inherited": true, + "value": "off" + }, + "com.iplanet.services.configpath": { + "inherited": false, + "value": "/root/am" + }, + "com.sun.identity.client.notification.url": { + "inherited": true, + "value": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice" + } + }, + "amconfig.header.mailserver": { + "com.iplanet.am.smtphost": { + "inherited": true, + "value": "localhost" + }, + "com.iplanet.am.smtpport": { + "inherited": true, + "value": "25" + } + }, + "amconfig.header.site": { + "singleChoiceSite": "[Empty]" + } + }, + "sdk": { + "_id": "01/properties/sdk", + "amconfig.header.cachingreplica": { + "com.iplanet.am.sdk.cache.maxSize": { + "inherited": true, + "value": "10000" + } + }, + "amconfig.header.datastore": { + "com.sun.identity.sm.enableDataStoreNotification": { + "inherited": false, + "value": true + }, + "com.sun.identity.sm.notification.threadpool.size": { + "inherited": true, + "value": "1" + } + }, + "amconfig.header.eventservice": { + "com.iplanet.am.event.connection.delay.between.retries": { + "inherited": true, + "value": "3000" + }, + "com.iplanet.am.event.connection.ldap.error.codes.retries": { + "inherited": true, + "value": "80,81,91" + }, + "com.iplanet.am.event.connection.num.retries": { + "inherited": true, + "value": "3" + }, + "com.sun.am.event.connection.disable.list": { + "inherited": false, + "value": "aci,um" + } + }, + "amconfig.header.ldapconnection": { + "com.iplanet.am.ldap.connection.delay.between.retries": { + "inherited": true, + "value": "1000" + }, + "com.iplanet.am.ldap.connection.ldap.error.codes.retries": { + "inherited": false, + "value": "80,81,91" + }, + "com.iplanet.am.ldap.connection.num.retries": { + "inherited": true, + "value": "3" + } + }, + "amconfig.header.sdktimetoliveconfig": { + "com.iplanet.am.sdk.cache.entry.default.expire.time": { + "inherited": true, + "value": "30" + }, + "com.iplanet.am.sdk.cache.entry.expire.enabled": { + "inherited": true, + "value": false + }, + "com.iplanet.am.sdk.cache.entry.user.expire.time": { + "inherited": true, + "value": "15" + } + } + }, + "security": { + "_id": "01/properties/security", + "amconfig.header.cookie": { + "com.iplanet.am.cookie.encode": { + "inherited": true, + "value": false + }, + "com.iplanet.am.cookie.name": { + "inherited": true, + "value": "iPlanetDirectoryPro" + }, + "com.iplanet.am.cookie.secure": { + "inherited": true, + "value": false + } + }, + "amconfig.header.crlcache": { + "com.sun.identity.crl.cache.directory.host": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.mtlsenabled": { + "inherited": true, + "value": false + }, + "com.sun.identity.crl.cache.directory.password": { + "inherited": true, + "value": null + }, + "com.sun.identity.crl.cache.directory.port": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.searchattr": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.searchlocs": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.ssl": { + "inherited": true, + "value": false + }, + "com.sun.identity.crl.cache.directory.user": { + "inherited": true, + "value": "" + } + }, + "amconfig.header.deserialisationwhitelist": { + "openam.deserialisation.classes.whitelist": { + "inherited": true, + "value": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction" + } + }, + "amconfig.header.encryption": { + "am.encryption.pwd": { + "inherited": false, + "value": "4B9qeVEEXVDJsdLen/J7HWyN9yItJ1xB" + }, + "am.encryption.secret.alias": { + "inherited": true, + "value": null + }, + "am.encryption.secret.enabled": { + "inherited": true, + "value": false + }, + "am.encryption.secret.keyPass": { + "inherited": true, + "value": null + }, + "am.encryption.secret.keystoreFile": { + "inherited": true, + "value": null + }, + "am.encryption.secret.keystorePass": { + "inherited": true, + "value": null + }, + "am.encryption.secret.keystoreType": { + "inherited": true, + "value": "JCEKS" + }, + "com.iplanet.security.SecureRandomFactoryImpl": { + "inherited": true, + "value": "com.iplanet.am.util.SecureRandomFactoryImpl" + }, + "com.iplanet.security.encryptor": { + "inherited": true, + "value": "com.iplanet.services.util.JCEEncryption" + } + }, + "amconfig.header.ocsp.check": { + "com.sun.identity.authentication.ocsp.responder.nickname": { + "inherited": true, + "value": "" + }, + "com.sun.identity.authentication.ocsp.responder.url": { + "inherited": true, + "value": "" + }, + "com.sun.identity.authentication.ocspCheck": { + "inherited": true, + "value": false + } + }, + "amconfig.header.securitykey": { + "com.sun.identity.saml.xmlsig.certalias": { + "inherited": true, + "value": "test" + }, + "com.sun.identity.saml.xmlsig.keypass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.keypass" + }, + "com.sun.identity.saml.xmlsig.keystore": { + "inherited": true, + "value": "%BASE_DIR%/security/keystores/keystore.jceks" + }, + "com.sun.identity.saml.xmlsig.storepass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.storepass" + }, + "com.sun.identity.saml.xmlsig.storetype": { + "inherited": true, + "value": "JCEKS" + } + }, + "amconfig.header.validation": { + "com.iplanet.am.clientIPCheckEnabled": { + "inherited": true, + "value": false + }, + "com.iplanet.services.comm.server.pllrequest.maxContentLength": { + "inherited": true, + "value": "16384" + } + } + }, + "session": { + "_id": "01/properties/session", + "amconfig.header.sessionlogging": { + "com.iplanet.am.stats.interval": { + "inherited": true, + "value": "60" + }, + "com.iplanet.services.stats.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/stats" + }, + "com.iplanet.services.stats.state": { + "inherited": true, + "value": "file" + }, + "com.sun.am.session.enableHostLookUp": { + "inherited": true, + "value": false + } + }, + "amconfig.header.sessionnotification": { + "com.iplanet.am.notification.threadpool.size": { + "inherited": true, + "value": "10" + }, + "com.iplanet.am.notification.threadpool.threshold": { + "inherited": true, + "value": "5000" + } + }, + "amconfig.header.sessionthresholds": { + "com.iplanet.am.session.invalidsessionmaxtime": { + "inherited": true, + "value": "3" + }, + "org.forgerock.openam.session.service.access.persistence.caching.maxsize": { + "inherited": true, + "value": "5000" + } + }, + "amconfig.header.sessionvalidation": { + "com.sun.am.session.caseInsensitiveDN": { + "inherited": true, + "value": true + } + } + }, + "uma": { + "_id": "01/properties/uma", + "amconfig.org.forgerock.services.resourcesets.store.common.section": { + "org.forgerock.services.resourcesets.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.resourcesets.store.max.connections": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.resourcesets.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.resourcesets.store.external.section": { + "org.forgerock.services.resourcesets.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.resourcesets.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.resourcesets.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.starttls.enabled": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.labels.store.common.section": { + "org.forgerock.services.uma.labels.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.uma.labels.store.max.connections": { + "inherited": true, + "value": "2" + }, + "org.forgerock.services.uma.labels.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.labels.store.external.section": { + "org.forgerock.services.uma.labels.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.uma.labels.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.uma.labels.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.starttls.enabled": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { + "org.forgerock.services.uma.pendingrequests.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.uma.pendingrequests.store.max.connections": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.uma.pendingrequests.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { + "org.forgerock.services.uma.pendingrequests.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.uma.pendingrequests.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.umaaudit.store.common.section": { + "org.forgerock.services.umaaudit.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.umaaudit.store.max.connections": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.umaaudit.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.umaaudit.store.external.section": { + "org.forgerock.services.umaaudit.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.umaaudit.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.umaaudit.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.starttls.enabled": { + "inherited": true, + "value": "" + } + } + } }, - "consent": { - "clientsCanSkipConsent": false, - "enableRemoteConsent": false, - "supportedRcsRequestEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW" - ], - "supportedRcsRequestEncryptionMethods": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512" - ], - "supportedRcsRequestSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512" - ], - "supportedRcsResponseEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "ECDH-ES+A128KW", - "RSA-OAEP", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW" - ], - "supportedRcsResponseEncryptionMethods": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512" - ], - "supportedRcsResponseSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512" - ] + "siteName": null, + "url": "http://openam-frodo-dev.classic.com:8080/am" + }, + "03": { + "_id": "03", + "properties": { + "advanced": { + "_id": "03/properties/advanced", + "com.iplanet.am.lbcookie.value": "03" + }, + "cts": { + "_id": "03/properties/cts", + "amconfig.org.forgerock.services.cts.store.common.section": { + "org.forgerock.services.cts.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.cts.store.max.connections": { + "inherited": true, + "value": "100" + }, + "org.forgerock.services.cts.store.page.size": { + "inherited": true, + "value": "0" + }, + "org.forgerock.services.cts.store.root.suffix": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.vlv.page.size": { + "inherited": true, + "value": "1000" + } + }, + "amconfig.org.forgerock.services.cts.store.external.section": { + "org.forgerock.services.cts.store.affinity.enabled": { + "inherited": true, + "value": null + }, + "org.forgerock.services.cts.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.cts.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.cts.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.starttls.enabled": { + "inherited": true, + "value": "" + } + } + }, + "directoryConfiguration": { + "_id": "03/properties/directoryConfiguration", + "directoryConfiguration": { + "bindDn": "uid=am-config,ou=admins,ou=am-config", + "bindPassword": null, + "maxConnectionPool": 10, + "minConnectionPool": 1, + "mtlsAlias": "", + "mtlsEnabled": false, + "mtlsKeyPasswordFile": "", + "mtlsKeyStoreFile": "", + "mtlsKeyStorePasswordFile": "", + "mtlsKeyStoreType": null + }, + "directoryServers": [ + { + "connectionType": "SSL", + "hostName": "opendj-frodo-dev.classic.com", + "portNumber": "1636", + "serverName": "Server1" + } + ] + }, + "general": { + "_id": "03/properties/general", + "amconfig.header.debug": { + "com.iplanet.services.debug.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/debug" + }, + "com.iplanet.services.debug.level": { + "inherited": true, + "value": "off" + }, + "com.sun.services.debug.mergeall": { + "inherited": true, + "value": "on" + } + }, + "amconfig.header.installdir": { + "com.iplanet.am.locale": { + "inherited": true, + "value": "en_US" + }, + "com.iplanet.am.util.xml.validating": { + "inherited": true, + "value": "off" + }, + "com.iplanet.services.configpath": { + "inherited": true, + "value": "%BASE_DIR%" + }, + "com.sun.identity.client.notification.url": { + "inherited": true, + "value": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice" + } + }, + "amconfig.header.mailserver": { + "com.iplanet.am.smtphost": { + "inherited": true, + "value": "localhost" + }, + "com.iplanet.am.smtpport": { + "inherited": true, + "value": "25" + } + }, + "amconfig.header.site": { + "singleChoiceSite": "[Empty]" + } + }, + "sdk": { + "_id": "03/properties/sdk", + "amconfig.header.cachingreplica": { + "com.iplanet.am.sdk.cache.maxSize": { + "inherited": true, + "value": "10000" + } + }, + "amconfig.header.datastore": { + "com.sun.identity.sm.enableDataStoreNotification": { + "inherited": true, + "value": false + }, + "com.sun.identity.sm.notification.threadpool.size": { + "inherited": true, + "value": "1" + } + }, + "amconfig.header.eventservice": { + "com.iplanet.am.event.connection.delay.between.retries": { + "inherited": true, + "value": "3000" + }, + "com.iplanet.am.event.connection.ldap.error.codes.retries": { + "inherited": true, + "value": "80,81,91" + }, + "com.iplanet.am.event.connection.num.retries": { + "inherited": true, + "value": "3" + }, + "com.sun.am.event.connection.disable.list": { + "inherited": true, + "value": "aci,um,sm" + } + }, + "amconfig.header.ldapconnection": { + "com.iplanet.am.ldap.connection.delay.between.retries": { + "inherited": true, + "value": "1000" + }, + "com.iplanet.am.ldap.connection.ldap.error.codes.retries": { + "inherited": true, + "value": "80,81,91" + }, + "com.iplanet.am.ldap.connection.num.retries": { + "inherited": true, + "value": "3" + } + }, + "amconfig.header.sdktimetoliveconfig": { + "com.iplanet.am.sdk.cache.entry.default.expire.time": { + "inherited": true, + "value": "30" + }, + "com.iplanet.am.sdk.cache.entry.expire.enabled": { + "inherited": true, + "value": false + }, + "com.iplanet.am.sdk.cache.entry.user.expire.time": { + "inherited": true, + "value": "15" + } + } + }, + "security": { + "_id": "03/properties/security", + "amconfig.header.cookie": { + "com.iplanet.am.cookie.encode": { + "inherited": true, + "value": false + }, + "com.iplanet.am.cookie.name": { + "inherited": true, + "value": "iPlanetDirectoryPro" + }, + "com.iplanet.am.cookie.secure": { + "inherited": true, + "value": false + } + }, + "amconfig.header.crlcache": { + "com.sun.identity.crl.cache.directory.host": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.mtlsenabled": { + "inherited": true, + "value": false + }, + "com.sun.identity.crl.cache.directory.password": { + "inherited": true, + "value": null + }, + "com.sun.identity.crl.cache.directory.port": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.searchattr": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.searchlocs": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.ssl": { + "inherited": true, + "value": false + }, + "com.sun.identity.crl.cache.directory.user": { + "inherited": true, + "value": "" + } + }, + "amconfig.header.deserialisationwhitelist": { + "openam.deserialisation.classes.whitelist": { + "inherited": true, + "value": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction" + } + }, + "amconfig.header.encryption": { + "am.encryption.pwd": { + "inherited": true, + "value": "@AM_ENC_PWD@" + }, + "am.encryption.secret.alias": { + "inherited": true, + "value": null + }, + "am.encryption.secret.enabled": { + "inherited": true, + "value": false + }, + "am.encryption.secret.keyPass": { + "inherited": true, + "value": null + }, + "am.encryption.secret.keystoreFile": { + "inherited": true, + "value": null + }, + "am.encryption.secret.keystorePass": { + "inherited": true, + "value": null + }, + "am.encryption.secret.keystoreType": { + "inherited": true, + "value": "JCEKS" + }, + "com.iplanet.security.SecureRandomFactoryImpl": { + "inherited": true, + "value": "com.iplanet.am.util.SecureRandomFactoryImpl" + }, + "com.iplanet.security.encryptor": { + "inherited": true, + "value": "com.iplanet.services.util.JCEEncryption" + } + }, + "amconfig.header.ocsp.check": { + "com.sun.identity.authentication.ocsp.responder.nickname": { + "inherited": true, + "value": "" + }, + "com.sun.identity.authentication.ocsp.responder.url": { + "inherited": true, + "value": "" + }, + "com.sun.identity.authentication.ocspCheck": { + "inherited": true, + "value": false + } + }, + "amconfig.header.securitykey": { + "com.sun.identity.saml.xmlsig.certalias": { + "inherited": true, + "value": "test" + }, + "com.sun.identity.saml.xmlsig.keypass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.keypass" + }, + "com.sun.identity.saml.xmlsig.keystore": { + "inherited": true, + "value": "%BASE_DIR%/security/keystores/keystore.jceks" + }, + "com.sun.identity.saml.xmlsig.storepass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.storepass" + }, + "com.sun.identity.saml.xmlsig.storetype": { + "inherited": true, + "value": "JCEKS" + } + }, + "amconfig.header.validation": { + "com.iplanet.am.clientIPCheckEnabled": { + "inherited": true, + "value": false + }, + "com.iplanet.services.comm.server.pllrequest.maxContentLength": { + "inherited": true, + "value": "16384" + } + } + }, + "session": { + "_id": "03/properties/session", + "amconfig.header.sessionlogging": { + "com.iplanet.am.stats.interval": { + "inherited": true, + "value": "60" + }, + "com.iplanet.services.stats.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/stats" + }, + "com.iplanet.services.stats.state": { + "inherited": true, + "value": "file" + }, + "com.sun.am.session.enableHostLookUp": { + "inherited": true, + "value": false + } + }, + "amconfig.header.sessionnotification": { + "com.iplanet.am.notification.threadpool.size": { + "inherited": true, + "value": "10" + }, + "com.iplanet.am.notification.threadpool.threshold": { + "inherited": true, + "value": "5000" + } + }, + "amconfig.header.sessionthresholds": { + "com.iplanet.am.session.invalidsessionmaxtime": { + "inherited": true, + "value": "3" + }, + "org.forgerock.openam.session.service.access.persistence.caching.maxsize": { + "inherited": true, + "value": "5000" + } + }, + "amconfig.header.sessionvalidation": { + "com.sun.am.session.caseInsensitiveDN": { + "inherited": true, + "value": true + } + } + }, + "uma": { + "_id": "03/properties/uma", + "amconfig.org.forgerock.services.resourcesets.store.common.section": { + "org.forgerock.services.resourcesets.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.resourcesets.store.max.connections": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.resourcesets.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.resourcesets.store.external.section": { + "org.forgerock.services.resourcesets.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.resourcesets.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.resourcesets.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.starttls.enabled": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.labels.store.common.section": { + "org.forgerock.services.uma.labels.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.uma.labels.store.max.connections": { + "inherited": true, + "value": "2" + }, + "org.forgerock.services.uma.labels.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.labels.store.external.section": { + "org.forgerock.services.uma.labels.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.uma.labels.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.uma.labels.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.starttls.enabled": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { + "org.forgerock.services.uma.pendingrequests.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.uma.pendingrequests.store.max.connections": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.uma.pendingrequests.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { + "org.forgerock.services.uma.pendingrequests.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.uma.pendingrequests.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.umaaudit.store.common.section": { + "org.forgerock.services.umaaudit.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.umaaudit.store.max.connections": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.umaaudit.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.umaaudit.store.external.section": { + "org.forgerock.services.umaaudit.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.umaaudit.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.umaaudit.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.starttls.enabled": { + "inherited": true, + "value": "" + } + } + } }, - "coreOAuth2Config": { - "accessTokenLifetime": 3600, - "accessTokenMayActScript": "[Empty]", - "codeLifetime": 120, - "issueRefreshToken": true, - "issueRefreshTokenOnRefreshedToken": true, - "macaroonTokensEnabled": false, - "oidcMayActScript": "[Empty]", - "refreshTokenLifetime": 604800, - "scopesPolicySet": "oauth2Scopes", - "statelessTokensEnabled": false, - "usePolicyEngineForScope": false + "siteName": null, + "url": "http://localhost:8081/am" + }, + "04": { + "_id": "04", + "properties": { + "advanced": { + "_id": "04/properties/advanced", + "com.iplanet.am.lbcookie.value": "04" + }, + "cts": { + "_id": "04/properties/cts", + "amconfig.org.forgerock.services.cts.store.common.section": { + "org.forgerock.services.cts.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.cts.store.max.connections": { + "inherited": true, + "value": "100" + }, + "org.forgerock.services.cts.store.page.size": { + "inherited": true, + "value": "0" + }, + "org.forgerock.services.cts.store.root.suffix": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.vlv.page.size": { + "inherited": true, + "value": "1000" + } + }, + "amconfig.org.forgerock.services.cts.store.external.section": { + "org.forgerock.services.cts.store.affinity.enabled": { + "inherited": true, + "value": null + }, + "org.forgerock.services.cts.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.cts.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.cts.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.cts.store.starttls.enabled": { + "inherited": true, + "value": "" + } + } + }, + "directoryConfiguration": { + "_id": "04/properties/directoryConfiguration", + "directoryConfiguration": { + "bindDn": "uid=am-config,ou=admins,ou=am-config", + "bindPassword": null, + "maxConnectionPool": 10, + "minConnectionPool": 1, + "mtlsAlias": "", + "mtlsEnabled": false, + "mtlsKeyPasswordFile": "", + "mtlsKeyStoreFile": "", + "mtlsKeyStorePasswordFile": "", + "mtlsKeyStoreType": null + }, + "directoryServers": [ + { + "connectionType": "SSL", + "hostName": "opendj-frodo-dev.classic.com", + "portNumber": "1636", + "serverName": "Server1" + } + ] + }, + "general": { + "_id": "04/properties/general", + "amconfig.header.debug": { + "com.iplanet.services.debug.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/debug" + }, + "com.iplanet.services.debug.level": { + "inherited": true, + "value": "off" + }, + "com.sun.services.debug.mergeall": { + "inherited": true, + "value": "on" + } + }, + "amconfig.header.installdir": { + "com.iplanet.am.locale": { + "inherited": true, + "value": "en_US" + }, + "com.iplanet.am.util.xml.validating": { + "inherited": true, + "value": "off" + }, + "com.iplanet.services.configpath": { + "inherited": true, + "value": "%BASE_DIR%" + }, + "com.sun.identity.client.notification.url": { + "inherited": true, + "value": "%SERVER_PROTO%://%SERVER_HOST%:%SERVER_PORT%/%SERVER_URI%/notificationservice" + } + }, + "amconfig.header.mailserver": { + "com.iplanet.am.smtphost": { + "inherited": true, + "value": "localhost" + }, + "com.iplanet.am.smtpport": { + "inherited": true, + "value": "25" + } + }, + "amconfig.header.site": { + "singleChoiceSite": "[Empty]" + } + }, + "sdk": { + "_id": "04/properties/sdk", + "amconfig.header.cachingreplica": { + "com.iplanet.am.sdk.cache.maxSize": { + "inherited": true, + "value": "10000" + } + }, + "amconfig.header.datastore": { + "com.sun.identity.sm.enableDataStoreNotification": { + "inherited": true, + "value": false + }, + "com.sun.identity.sm.notification.threadpool.size": { + "inherited": true, + "value": "1" + } + }, + "amconfig.header.eventservice": { + "com.iplanet.am.event.connection.delay.between.retries": { + "inherited": true, + "value": "3000" + }, + "com.iplanet.am.event.connection.ldap.error.codes.retries": { + "inherited": true, + "value": "80,81,91" + }, + "com.iplanet.am.event.connection.num.retries": { + "inherited": true, + "value": "3" + }, + "com.sun.am.event.connection.disable.list": { + "inherited": true, + "value": "aci,um,sm" + } + }, + "amconfig.header.ldapconnection": { + "com.iplanet.am.ldap.connection.delay.between.retries": { + "inherited": true, + "value": "1000" + }, + "com.iplanet.am.ldap.connection.ldap.error.codes.retries": { + "inherited": true, + "value": "80,81,91" + }, + "com.iplanet.am.ldap.connection.num.retries": { + "inherited": true, + "value": "3" + } + }, + "amconfig.header.sdktimetoliveconfig": { + "com.iplanet.am.sdk.cache.entry.default.expire.time": { + "inherited": true, + "value": "30" + }, + "com.iplanet.am.sdk.cache.entry.expire.enabled": { + "inherited": true, + "value": false + }, + "com.iplanet.am.sdk.cache.entry.user.expire.time": { + "inherited": true, + "value": "15" + } + } + }, + "security": { + "_id": "04/properties/security", + "amconfig.header.cookie": { + "com.iplanet.am.cookie.encode": { + "inherited": true, + "value": false + }, + "com.iplanet.am.cookie.name": { + "inherited": true, + "value": "iPlanetDirectoryPro" + }, + "com.iplanet.am.cookie.secure": { + "inherited": true, + "value": false + } + }, + "amconfig.header.crlcache": { + "com.sun.identity.crl.cache.directory.host": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.mtlsenabled": { + "inherited": true, + "value": false + }, + "com.sun.identity.crl.cache.directory.password": { + "inherited": true, + "value": null + }, + "com.sun.identity.crl.cache.directory.port": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.searchattr": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.searchlocs": { + "inherited": true, + "value": "" + }, + "com.sun.identity.crl.cache.directory.ssl": { + "inherited": true, + "value": false + }, + "com.sun.identity.crl.cache.directory.user": { + "inherited": true, + "value": "" + } + }, + "amconfig.header.deserialisationwhitelist": { + "openam.deserialisation.classes.whitelist": { + "inherited": true, + "value": "com.iplanet.dpro.session.DNOrIPAddressListTokenRestriction,com.sun.identity.common.CaseInsensitiveHashMap,com.sun.identity.common.CaseInsensitiveHashSet,com.sun.identity.common.CaseInsensitiveKey,com.sun.identity.console.base.model.SMSubConfig,com.sun.identity.console.session.model.SMSessionData,com.sun.identity.console.user.model.UMUserPasswordResetOptionsData,com.sun.identity.shared.datastruct.OrderedSet,com.sun.xml.bind.util.ListImpl,com.sun.xml.bind.util.ProxyListImpl,java.lang.Boolean,java.lang.Integer,java.lang.Number,java.lang.StringBuffer,java.net.InetAddress,java.security.cert.Certificate,java.security.cert.Certificate$CertificateRep,java.util.ArrayList,java.util.Collections$EmptyMap,java.util.Collections$EmptySet,java.util.Collections$SingletonList,java.util.HashMap,java.util.HashSet,java.util.LinkedHashSet,java.util.Locale,org.forgerock.openam.authentication.service.protocol.RemoteCookie,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteHttpServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteServletRequest,org.forgerock.openam.authentication.service.protocol.RemoteServletResponse,org.forgerock.openam.authentication.service.protocol.RemoteSession,org.forgerock.openam.dpro.session.NoOpTokenRestriction,org.forgerock.openam.dpro.session.ProofOfPossessionTokenRestriction" + } + }, + "amconfig.header.encryption": { + "am.encryption.pwd": { + "inherited": true, + "value": "@AM_ENC_PWD@" + }, + "am.encryption.secret.alias": { + "inherited": true, + "value": null + }, + "am.encryption.secret.enabled": { + "inherited": true, + "value": false + }, + "am.encryption.secret.keyPass": { + "inherited": true, + "value": null + }, + "am.encryption.secret.keystoreFile": { + "inherited": true, + "value": null + }, + "am.encryption.secret.keystorePass": { + "inherited": true, + "value": null + }, + "am.encryption.secret.keystoreType": { + "inherited": true, + "value": "JCEKS" + }, + "com.iplanet.security.SecureRandomFactoryImpl": { + "inherited": true, + "value": "com.iplanet.am.util.SecureRandomFactoryImpl" + }, + "com.iplanet.security.encryptor": { + "inherited": true, + "value": "com.iplanet.services.util.JCEEncryption" + } + }, + "amconfig.header.ocsp.check": { + "com.sun.identity.authentication.ocsp.responder.nickname": { + "inherited": true, + "value": "" + }, + "com.sun.identity.authentication.ocsp.responder.url": { + "inherited": true, + "value": "" + }, + "com.sun.identity.authentication.ocspCheck": { + "inherited": true, + "value": false + } + }, + "amconfig.header.securitykey": { + "com.sun.identity.saml.xmlsig.certalias": { + "inherited": true, + "value": "test" + }, + "com.sun.identity.saml.xmlsig.keypass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.keypass" + }, + "com.sun.identity.saml.xmlsig.keystore": { + "inherited": true, + "value": "%BASE_DIR%/security/keystores/keystore.jceks" + }, + "com.sun.identity.saml.xmlsig.storepass": { + "inherited": true, + "value": "%BASE_DIR%/security/secrets/default/.storepass" + }, + "com.sun.identity.saml.xmlsig.storetype": { + "inherited": true, + "value": "JCEKS" + } + }, + "amconfig.header.validation": { + "com.iplanet.am.clientIPCheckEnabled": { + "inherited": true, + "value": false + }, + "com.iplanet.services.comm.server.pllrequest.maxContentLength": { + "inherited": true, + "value": "16384" + } + } + }, + "session": { + "_id": "04/properties/session", + "amconfig.header.sessionlogging": { + "com.iplanet.am.stats.interval": { + "inherited": true, + "value": "60" + }, + "com.iplanet.services.stats.directory": { + "inherited": true, + "value": "%BASE_DIR%/var/stats" + }, + "com.iplanet.services.stats.state": { + "inherited": true, + "value": "file" + }, + "com.sun.am.session.enableHostLookUp": { + "inherited": true, + "value": false + } + }, + "amconfig.header.sessionnotification": { + "com.iplanet.am.notification.threadpool.size": { + "inherited": true, + "value": "10" + }, + "com.iplanet.am.notification.threadpool.threshold": { + "inherited": true, + "value": "5000" + } + }, + "amconfig.header.sessionthresholds": { + "com.iplanet.am.session.invalidsessionmaxtime": { + "inherited": true, + "value": "3" + }, + "org.forgerock.openam.session.service.access.persistence.caching.maxsize": { + "inherited": true, + "value": "5000" + } + }, + "amconfig.header.sessionvalidation": { + "com.sun.am.session.caseInsensitiveDN": { + "inherited": true, + "value": true + } + } + }, + "uma": { + "_id": "04/properties/uma", + "amconfig.org.forgerock.services.resourcesets.store.common.section": { + "org.forgerock.services.resourcesets.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.resourcesets.store.max.connections": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.resourcesets.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.resourcesets.store.external.section": { + "org.forgerock.services.resourcesets.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.resourcesets.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.resourcesets.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.resourcesets.store.starttls.enabled": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.labels.store.common.section": { + "org.forgerock.services.uma.labels.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.uma.labels.store.max.connections": { + "inherited": true, + "value": "2" + }, + "org.forgerock.services.uma.labels.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.labels.store.external.section": { + "org.forgerock.services.uma.labels.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.uma.labels.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.uma.labels.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.labels.store.starttls.enabled": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.common.section": { + "org.forgerock.services.uma.pendingrequests.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.uma.pendingrequests.store.max.connections": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.uma.pendingrequests.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.uma.pendingrequests.store.external.section": { + "org.forgerock.services.uma.pendingrequests.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.uma.pendingrequests.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.uma.pendingrequests.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.uma.pendingrequests.store.starttls.enabled": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.umaaudit.store.common.section": { + "org.forgerock.services.umaaudit.store.location": { + "inherited": true, + "value": "default" + }, + "org.forgerock.services.umaaudit.store.max.connections": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.umaaudit.store.root.suffix": { + "inherited": true, + "value": "" + } + }, + "amconfig.org.forgerock.services.umaaudit.store.external.section": { + "org.forgerock.services.umaaudit.store.directory.name": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.heartbeat": { + "inherited": true, + "value": "10" + }, + "org.forgerock.services.umaaudit.store.loginid": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.mtls.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.password": { + "inherited": true, + "value": null + }, + "org.forgerock.services.umaaudit.store.ssl.enabled": { + "inherited": true, + "value": "" + }, + "org.forgerock.services.umaaudit.store.starttls.enabled": { + "inherited": true, + "value": "" + } + } + } }, - "coreOIDCConfig": { - "jwtTokenLifetime": 3600, - "oidcDiscoveryEndpointEnabled": false, - "overrideableOIDCClaims": [], - "supportedClaims": [], - "supportedIDTokenEncryptionAlgorithms": [ - "ECDH-ES+A256KW", - "ECDH-ES+A192KW", - "RSA-OAEP", - "ECDH-ES+A128KW", - "RSA-OAEP-256", - "A128KW", - "A256KW", - "ECDH-ES", - "dir", - "A192KW" + "siteName": null, + "url": "http://localhost:8082/am" + } + } + }, + "serverInformation": { + "*": { + "_id": "*", + "cookieName": "iPlanetDirectoryPro", + "domains": [ + null + ], + "fileBasedConfiguration": false, + "forgotPassword": "false", + "forgotUsername": "false", + "kbaEnabled": "false", + "lang": "en-US", + "nodeDesignerXuiEnabled": true, + "protectedUserAttributes": [ + "telephoneNumber", + "mail" + ], + "realm": "/", + "referralsEnabled": "false", + "secureCookie": false, + "selfRegistration": "false", + "socialImplementations": [], + "successfulUserRegistrationDestination": "default", + "userIdAttributes": [ + "uid" + ], + "xuiUserSessionValidationEnabled": true, + "zeroPageLogin": { + "allowedWithoutReferer": true, + "enabled": false, + "refererWhitelist": [] + } + } + }, + "serverVersion": { + "version": { + "_id": "version", + "date": "2025-April-15 11:37", + "fullVersion": "ForgeRock Access Management 8.0.1 Build b59bc0908346197b0c33afcb9e733d0400feeea1 (2025-April-15 11:37)", + "revision": "b59bc0908346197b0c33afcb9e733d0400feeea1", + "version": "8.0.1" + } + }, + "service": { + "ConfigurationVersionService": { + "_id": "", + "_type": { + "_id": "ConfigurationVersionService", + "collection": false, + "name": "Configuration Version Service" + }, + "appliedRuleIds": [ + "AME-23273", + "AME-21032", + "AME-21768" + ], + "configurationVersion": "8.0.0.0", + "location": "global", + "nextDescendents": [] + }, + "CorsService": { + "_id": "", + "_type": { + "_id": "CorsService", + "collection": false, + "name": "CORS Service" + }, + "enabled": true, + "location": "global", + "nextDescendents": [] + }, + "DataStoreService": { + "_id": "", + "_type": { + "_id": "DataStoreService", + "collection": false, + "name": "External Data Stores" + }, + "defaults": { + "applicationDataStoreId": "fd270e31-1788-4193-8734-eb2d500c47f3", + "policyDataStoreId": "fd270e31-1788-4193-8734-eb2d500c47f3" + }, + "location": "global", + "nextDescendents": [] + }, + "GoogleCloudServiceAccountService": { + "_id": "", + "_type": { + "_id": "GoogleCloudServiceAccountService", + "collection": false, + "name": "Google Cloud Platform Service Accounts" + }, + "enabled": true, + "location": "global", + "nextDescendents": [ + { + "_id": "default", + "_type": { + "_id": "serviceAccounts", + "collection": true, + "name": "GCP Service Account" + }, + "allowedRealms": [ + "*" ], - "supportedIDTokenEncryptionMethods": [ - "A256GCM", - "A192GCM", - "A128GCM", - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512" + "allowedSecretNamePatterns": [ + "*" ], - "supportedIDTokenSigningAlgorithms": [ - "PS384", - "ES384", - "RS384", - "HS256", - "HS512", - "ES256", - "RS256", - "HS384", - "ES512", - "PS256", - "PS512", - "RS512" - ] + "disallowedSecretNamePatterns": [] + } + ] + }, + "IdentityAssertionService": { + "_id": "", + "_type": { + "_id": "IdentityAssertionService", + "collection": false, + "name": "Identity Assertion Service" + }, + "cacheDuration": 120, + "defaults": { + "cacheDuration": 120, + "enable": true + }, + "enable": true, + "location": "global", + "nextDescendents": [] + }, + "RadiusServerService": { + "_id": "", + "_type": { + "_id": "RadiusServerService", + "collection": false, + "name": "RADIUS Server" + }, + "location": "global", + "nextDescendents": [], + "radiusListenerEnabled": "NO", + "radiusServerPort": 1812, + "radiusThreadPoolCoreSize": 1, + "radiusThreadPoolKeepaliveSeconds": 10, + "radiusThreadPoolMaxSize": 10, + "radiusThreadPoolQueueSize": 20 + }, + "RemoteConsentService": { + "_id": "", + "_type": { + "_id": "RemoteConsentService", + "collection": false, + "name": "Remote Consent Service" + }, + "defaults": { + "consentResponseTimeLimit": 2, + "jwkStoreCacheMissCacheTime": 1, + "jwkStoreCacheTimeout": 5 + }, + "location": "global", + "nextDescendents": [] + }, + "SocialIdentityProviders": { + "_id": "", + "_type": { + "_id": "SocialIdentityProviders", + "collection": false, + "name": "Social Identity Provider Service" + }, + "defaults": { + "enabled": true + }, + "location": "global", + "nextDescendents": [] + }, + "amSessionPropertyWhitelist": { + "_id": "", + "_type": { + "_id": "amSessionPropertyWhitelist", + "collection": false, + "name": "Session Property Whitelist Service" + }, + "defaults": { + "sessionPropertyWhitelist": [ + "AMCtxId" + ], + "whitelistedQueryProperties": [] + }, + "location": "global", + "nextDescendents": [] + }, + "androidKeyAttestation": { + "_id": "", + "_type": { + "_id": "androidKeyAttestation", + "collection": false, + "name": "Android Key Attestation" + }, + "cacheDuration": 24, + "defaults": { + "crlUrl": "https://android.googleapis.com/attestation/status" + }, + "location": "global", + "nextDescendents": [] + }, + "audit": { + "_id": "", + "_type": { + "_id": "audit", + "collection": false, + "name": "Audit Logging" + }, + "auditEnabled": true, + "blacklistFieldFilters": [], + "defaults": { + "auditEnabled": true, + "blacklistFieldFilters": [], + "whitelistFieldFilters": [] + }, + "location": "global", + "nextDescendents": [ + { + "_id": "Global JSON Handler", + "_type": { + "_id": "JSON", + "collection": true, + "name": "JSON" + }, + "commonHandler": { + "enabled": true, + "topics": [ + "access", + "activity", + "config", + "authentication" + ] + }, + "commonHandlerPlugin": { + "handlerFactory": "org.forgerock.openam.audit.events.handlers.JsonAuditEventHandlerFactory" + }, + "jsonBuffering": { + "bufferingMaxSize": "100000", + "bufferingWriteInterval": "5" + }, + "jsonConfig": { + "elasticsearchCompatible": false, + "location": "%BASE_DIR%/var/audit/", + "rotationRetentionCheckInterval": "5" + }, + "jsonFileRetention": { + "retentionMaxDiskSpaceToUse": "-1", + "retentionMaxNumberOfHistoryFiles": "1", + "retentionMinFreeSpaceRequired": "-1" + }, + "jsonFileRotation": { + "rotationEnabled": true, + "rotationFileSuffix": "-yyyy.MM.dd-HH.mm.ss", + "rotationInterval": "-1", + "rotationMaxFileSize": "100000000", + "rotationTimes": [] + } + } + ], + "whitelistFieldFilters": [] + }, + "authenticatorOathService": { + "_id": "", + "_type": { + "_id": "authenticatorOathService", + "collection": false, + "name": "ForgeRock Authenticator (OATH) Service" + }, + "defaults": { + "authenticatorOATHDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", + "authenticatorOATHDeviceSettingsEncryptionKeystoreKeyPairAlias": "pushDeviceProfiles", + "authenticatorOATHDeviceSettingsEncryptionKeystorePassword": null, + "authenticatorOATHDeviceSettingsEncryptionKeystoreType": "JKS", + "authenticatorOATHDeviceSettingsEncryptionScheme": "NONE", + "authenticatorOATHSkippableName": "oath2faEnabled", + "oathAttrName": "oathDeviceProfiles" + }, + "location": "global", + "nextDescendents": [] + }, + "authenticatorPushService": { + "_id": "", + "_type": { + "_id": "authenticatorPushService", + "collection": false, + "name": "ForgeRock Authenticator (Push) Service" + }, + "defaults": { + "authenticatorPushDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", + "authenticatorPushDeviceSettingsEncryptionKeystorePassword": null, + "authenticatorPushDeviceSettingsEncryptionKeystoreType": "JKS", + "authenticatorPushDeviceSettingsEncryptionScheme": "NONE", + "authenticatorPushSkippableName": "push2faEnabled", + "pushAttrName": "pushDeviceProfiles" + }, + "location": "global", + "nextDescendents": [] + }, + "authenticatorWebAuthnService": { + "_id": "", + "_type": { + "_id": "authenticatorWebAuthnService", + "collection": false, + "name": "WebAuthn Profile Encryption Service" + }, + "defaults": { + "authenticatorWebAuthnDeviceSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jceks", + "authenticatorWebAuthnDeviceSettingsEncryptionKeystorePassword": null, + "authenticatorWebAuthnDeviceSettingsEncryptionKeystoreType": "JCEKS", + "authenticatorWebAuthnDeviceSettingsEncryptionScheme": "NONE", + "webauthnAttrName": "webauthnDeviceProfiles" + }, + "location": "global", + "nextDescendents": [] + }, + "baseurl": { + "_id": "", + "_type": { + "_id": "baseurl", + "collection": false, + "name": "Base URL Source" + }, + "defaults": { + "contextPath": "/am", + "fixedValue": "http://openam-frodo-dev.classic.com:8080/am", + "source": "REQUEST_VALUES" + }, + "location": "global", + "nextDescendents": [] + }, + "dashboard": { + "_id": "", + "_type": { + "_id": "dashboard", + "collection": false, + "name": "Dashboard" + }, + "defaults": { + "assignedDashboard": [] + }, + "location": "global", + "nextDescendents": [ + { + "_id": "Google", + "_type": { + "_id": "instances", + "collection": true, + "name": "instance" + }, + "className": "SAML2ApplicationClass", + "displayName": "Google", + "icfIdentifier": "idm magic 34", + "icon": "images/logos/googleplus.png", + "login": "http://www.google.com", + "name": "Google" }, - "deviceCodeConfig": { - "deviceCodeLifetime": 300, - "devicePollInterval": 5, - "deviceUserCodeCharacterSet": "234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz", - "deviceUserCodeLength": 8 + { + "_id": "SalesForce", + "_type": { + "_id": "instances", + "collection": true, + "name": "instance" + }, + "className": "SAML2ApplicationClass", + "displayName": "SalesForce", + "icfIdentifier": "idm magic 12", + "icon": "images/logos/salesforce.png", + "login": "http://www.salesforce.com", + "name": "SalesForce" }, - "pluginsConfig": { - "accessTokenEnricherClass": "org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher", - "accessTokenModificationPluginType": "SCRIPTED", - "accessTokenModificationScript": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", - "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", - "authorizeEndpointDataProviderPluginType": "JAVA", - "authorizeEndpointDataProviderScript": "3f93ef6e-e54a-4393-aba1-f322656db28a", - "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", - "evaluateScopePluginType": "JAVA", - "evaluateScopeScript": "da56fe60-8b38-4c46-a405-d6b306d4b336", - "oidcClaimsPluginType": "SCRIPTED", - "oidcClaimsScript": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", - "userCodeGeneratorClass": "org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator", - "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", - "validateScopePluginType": "JAVA", - "validateScopeScript": "25e6c06d-cf70-473b-bd28-26931edc476b" + { + "_id": "ZenDesk", + "_type": { + "_id": "instances", + "collection": true, + "name": "instance" + }, + "className": "SAML2ApplicationClass", + "displayName": "ZenDesk", + "icfIdentifier": "idm magic 56", + "icon": "images/logos/zendesk.png", + "login": "http://www.ZenDesk.com", + "name": "ZenDesk" } + ] + }, + "deviceBindingService": { + "_id": "", + "_type": { + "_id": "deviceBindingService", + "collection": false, + "name": "Device Binding Service" + }, + "defaults": { + "deviceBindingAttrName": "boundDevices", + "deviceBindingSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", + "deviceBindingSettingsEncryptionKeystorePassword": null, + "deviceBindingSettingsEncryptionKeystoreType": "JKS", + "deviceBindingSettingsEncryptionScheme": "NONE" }, - "jwtTokenLifetimeValidationEnabled": true, - "jwtTokenRequiredClaims": [], - "jwtTokenUnreasonableLifetime": 86400, "location": "global", - "nextDescendents": [], - "statelessGrantTokenUpgradeCompatibilityMode": false, - "storageScheme": "CTS_ONE_TO_ONE_MODEL" + "nextDescendents": [] }, - "pingOneWorkerService": { + "deviceIdService": { "_id": "", "_type": { - "_id": "pingOneWorkerService", + "_id": "deviceIdService", "collection": false, - "name": "PingOne Worker Service" + "name": "Device ID Service" }, "defaults": { - "enabled": true + "deviceIdAttrName": "devicePrintProfiles", + "deviceIdSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", + "deviceIdSettingsEncryptionKeystorePassword": null, + "deviceIdSettingsEncryptionKeystoreType": "JKS", + "deviceIdSettingsEncryptionScheme": "NONE" }, "location": "global", "nextDescendents": [] }, - "platform": { + "deviceProfilesService": { "_id": "", "_type": { - "_id": "platform", + "_id": "deviceProfilesService", "collection": false, - "name": "Platform" + "name": "Device Profiles Service" + }, + "defaults": { + "deviceProfilesAttrName": "deviceProfiles", + "deviceProfilesSettingsEncryptionKeystore": "/root/am/security/keystores/keystore.jks", + "deviceProfilesSettingsEncryptionKeystorePassword": null, + "deviceProfilesSettingsEncryptionKeystoreType": "JKS", + "deviceProfilesSettingsEncryptionScheme": "NONE" }, - "cookieDomains": [], - "locale": "en_US", "location": "global", "nextDescendents": [] }, - "policyconfiguration": { + "email": { "_id": "", "_type": { - "_id": "policyconfiguration", + "_id": "email", "collection": false, - "name": "Policy Configuration" + "name": "Email Service" }, - "continueEvaluationOnDeny": false, "defaults": { - "bindDn": "cn=Directory Manager", - "checkIfResourceTypeExists": true, - "connectionPoolMaximumSize": 10, - "connectionPoolMinimumSize": 1, - "ldapServer": [ - "localhost:50636" - ], - "maximumSearchResults": 100, - "mtlsEnabled": false, - "policyHeartbeatInterval": 10, - "policyHeartbeatTimeUnit": "SECONDS", - "realmSearchFilter": "(objectclass=sunismanagedorganization)", - "searchTimeout": 5, - "sslEnabled": true, - "subjectsResultTTL": 10, - "userAliasEnabled": false, - "usersBaseDn": "dc=openam,dc=forgerock,dc=org", - "usersSearchAttribute": "uid", - "usersSearchFilter": "(objectclass=inetorgperson)", - "usersSearchScope": "SCOPE_SUB" + "emailAddressAttribute": "mail", + "emailImplClassName": "org.forgerock.openam.services.email.MailServerImpl", + "emailRateLimitSeconds": 1, + "port": 465, + "sslState": "SSL" }, "location": "global", - "nextDescendents": [], - "realmAliasReferrals": false, - "resourceComparators": [ - "serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false" - ] + "nextDescendents": [] + }, + "federation/common": { + "_id": "", + "_type": { + "_id": "federation/common", + "collection": false, + "name": "Common Federation Configuration" + }, + "algorithms": { + "DigestAlgorithm": "http://www.w3.org/2001/04/xmlenc#sha256", + "QuerySignatureAlgorithmDSA": "http://www.w3.org/2009/xmldsig11#dsa-sha256", + "QuerySignatureAlgorithmEC": "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512", + "QuerySignatureAlgorithmRSA": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256", + "aesKeyWrapAlgorithm": "http://www.w3.org/2001/04/xmlenc#kw-aes256", + "canonicalizationAlgorithm": "http://www.w3.org/2001/10/xml-exc-c14n#", + "maskGenerationFunction": "http://www.w3.org/2009/xmlenc11#mgf1sha256", + "rsaKeyTransportAlgorithm": "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p", + "signatureAlgorithm": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256", + "transformationAlgorithm": "http://www.w3.org/2001/10/xml-exc-c14n#" + }, + "generalConfig": { + "certificateChecking": "on", + "maxContentLength": 20480, + "samlErrorPageHttpBinding": "HTTP-POST", + "samlErrorPageUrl": "/saml2/jsp/saml2error.jsp" + }, + "implementationClasses": { + "configurationClass": "com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl", + "datastoreClass": "com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider", + "keyProviderClass": "com.sun.identity.saml.xmlsig.JKSKeyProvider", + "loggerClass": "com.sun.identity.plugin.log.impl.LogProvider", + "passwordDecoderClass": "com.sun.identity.saml.xmlsig.FMPasswordDecoder", + "rootUrlProviderClass": "org.forgerock.openam.federation.plugin.rooturl.impl.FmRootUrlProvider", + "sessionProviderClass": "com.sun.identity.plugin.session.impl.FMSessionProvider", + "signatureProviderClass": "com.sun.identity.saml.xmlsig.AMSignatureProvider" + }, + "location": "global", + "montoring": { + "monitoringAgentClass": "com.sun.identity.plugin.monitoring.impl.AgentProvider", + "monitoringSaml2Class": "com.sun.identity.plugin.monitoring.impl.FedMonSAML2SvcProvider" + }, + "nextDescendents": [] }, - "pushNotification": { + "federation/multi": { "_id": "", "_type": { - "_id": "pushNotification", + "_id": "federation/multi", "collection": false, - "name": "Push Notification Service" - }, - "defaults": { - "delegateFactory": "org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory", - "mdCacheSize": 10000, - "mdConcurrency": 16, - "mdDuration": 120, - "region": "us-east-1" + "name": "Multi-Federation Protocol" }, "location": "global", - "nextDescendents": [] + "nextDescendents": [], + "singleLogoutHandlerList": [ + "key=WSFED|class=com.sun.identity.multiprotocol.WSFederationSingleLogoutHandler", + "key=SAML2|class=com.sun.identity.multiprotocol.SAML2SingleLogoutHandler" + ] }, - "rest": { + "federation/saml2soapbinding": { "_id": "", "_type": { - "_id": "rest", + "_id": "federation/saml2soapbinding", "collection": false, - "name": "REST APIs" + "name": "SAML v2.0 SOAP Binding" }, - "csrfFilterEnabled": true, - "defaultProtocolVersion": "Latest", - "defaultVersion": "Latest", - "descriptionsState": "STATIC", "location": "global", "nextDescendents": [], - "warningHeader": true + "requestHandlers": [] }, - "saml2": { + "globalization": { "_id": "", "_type": { - "_id": "saml2", + "_id": "globalization", "collection": false, - "name": "SAML v2.0 Service Configuration" + "name": "Globalization Settings" + }, + "charsetMappings": [ + "locale=zh|charset=UTF-8;GB2312", + "locale=ar|charset=UTF-8;ISO-8859-6", + "locale=es|charset=UTF-8;ISO-8859-15", + "locale=de|charset=UTF-8;ISO-8859-15", + "locale=zh_TW|charset=UTF-8;BIG5", + "locale=fr|charset=UTF-8;ISO-8859-15", + "locale=ko|charset=UTF-8;EUC-KR", + "locale=en|charset=UTF-8;ISO-8859-1", + "locale=th|charset=UTF-8;TIS-620", + "locale=ja|charset=UTF-8;Shift_JIS;EUC-JP" + ], + "defaults": { + "commonNameFormats": [ + "zh={sn}{givenname}" + ] }, - "bufferLength": 2048, - "caCertValidation": false, - "cacheCleanupInterval": 600, - "encryptedKeyInKeyInfo": true, - "idpDiscoveryCookieType": "PERSISTENT", - "idpDiscoveryUrlSchema": "HTTPS", "location": "global", - "nameIDInfoAttribute": "sun-fm-saml2-nameid-info", - "nameIDInfoKeyAttribute": "sun-fm-saml2-nameid-infokey", "nextDescendents": [], - "signingCertValidation": false, - "xmlEncryptionClass": "com.sun.identity.saml2.xmlenc.FMEncProvider", - "xmlSigningClass": "com.sun.identity.saml2.xmlsig.FMSigProvider" + "sun-identity-g11n-settings-charset-alias-mapping": [ + "mimeName=EUC-KR|javaName=EUC_KR", + "mimeName=EUC-JP|javaName=EUC_JP", + "mimeName=Shift_JIS|javaName=SJIS" + ] }, - "security": { + "httpclient": { "_id": "", "_type": { - "_id": "security", + "_id": "httpclient", "collection": false, - "name": "Legacy User Self Service" + "name": "Http Client Service" + }, + "core": { + "enabled": false }, "defaults": { - "confirmationIdHmacKey": "YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=", - "forgotPasswordConfirmationUrl": "http://localhost:8080/am/XUI/confirm.html", - "forgotPasswordEnabled": false, - "forgotPasswordTokenLifetime": 900, - "protectedUserAttributes": [], - "selfRegistrationConfirmationUrl": "http://localhost:8080/am/XUI/confirm.html", - "selfRegistrationEnabled": false, - "selfRegistrationTokenLifetime": 900, - "selfServiceEnabled": false, - "userRegisteredDestination": "default" + "core": { + "enabled": false + } }, "location": "global", "nextDescendents": [] }, - "selfService": { + "id-repositories": { "_id": "", "_type": { - "_id": "selfService", + "_id": "id-repositories", "collection": false, - "name": "User Self-Service" + "name": "sunIdentityRepositoryService" }, "defaults": { - "advancedConfig": { - "forgottenPasswordConfirmationUrl": "http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/", - "forgottenPasswordServiceConfigClass": "org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider", - "forgottenUsernameServiceConfigClass": "org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider", - "userRegistrationConfirmationUrl": "http://localhost:8080/am/XUI/?realm=${realm}#register/", - "userRegistrationServiceConfigClass": "org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider" + "sunIdRepoAttributeCombiner": "com.iplanet.am.sdk.AttributeCombiner", + "sunIdRepoAttributeValidator": [ + "class=com.sun.identity.idm.server.IdRepoAttributeValidatorImpl", + "minimumPasswordLength=8", + "usernameInvalidChars=*|(|)|&|!" + ] + }, + "location": "global", + "nextDescendents": [ + { + "_id": "agent", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities" + } }, - "forgottenPassword": { - "forgottenPasswordCaptchaEnabled": false, - "forgottenPasswordEmailBody": [ - "en|

Click on this link to reset your password.

" - ], - "forgottenPasswordEmailSubject": [ - "en|Forgotten password email" - ], - "forgottenPasswordEmailVerificationEnabled": true, - "forgottenPasswordEnabled": false, - "forgottenPasswordKbaEnabled": false, - "forgottenPasswordTokenPaddingLength": 450, - "forgottenPasswordTokenTTL": 300, - "numberOfAllowedAttempts": 1, - "numberOfAttemptsEnforced": false + { + "_id": "agentgroup", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities" + } }, - "forgottenUsername": { - "forgottenUsernameCaptchaEnabled": false, - "forgottenUsernameEmailBody": [ - "en|

Your username is %username%.

" - ], - "forgottenUsernameEmailSubject": [ - "en|Forgotten username email" - ], - "forgottenUsernameEmailUsernameEnabled": true, - "forgottenUsernameEnabled": false, - "forgottenUsernameKbaEnabled": false, - "forgottenUsernameShowUsernameEnabled": false, - "forgottenUsernameTokenTTL": 300 + { + "_id": "agentonly", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities" + } }, - "generalConfig": { - "captchaVerificationUrl": "https://www.google.com/recaptcha/api/siteverify", - "kbaQuestions": [ - "4|en|What is your mother's maiden name?", - "3|en|What was the name of your childhood pet?", - "2|en|What was the model of your first car?", - "1|en|What is the name of your favourite restaurant?" - ], - "minimumAnswersToDefine": 1, - "minimumAnswersToVerify": 1, - "validQueryAttributes": [ - "uid", - "mail", - "givenName", - "sn" - ] + { + "_id": "filteredrole", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities" + } }, - "profileManagement": { - "profileAttributeWhitelist": [ - "uid", - "telephoneNumber", - "mail", - "kbaInfo", - "givenName", - "sn", - "cn" - ], - "profileProtectedUserAttributes": [ - "telephoneNumber", - "mail" - ] + { + "_id": "group", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities" + } + }, + { + "_id": "realm", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities" + } + }, + { + "_id": "role", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities" + } + }, + { + "_id": "user", + "_type": { + "_id": "SupportedIdentities", + "collection": true, + "name": "SupportedIdentities" + } + }, + { + "_id": "amAdmin", + "_type": { + "_id": "user", + "collection": true, + "name": "User" + }, + "cn": "amAdmin", + "dn": "uid=amAdmin,ou=people,", + "givenName": "amAdmin", + "inetUserStatus": "Active", + "iplanet-am-user-auth-config": "[Empty]", + "roles": [], + "sn": "amAdmin", + "userPassword": null + }, + { + "_id": "anonymous", + "_type": { + "_id": "user", + "collection": true, + "name": "User" + }, + "cn": "anonymous", + "dn": "uid=anonymous,ou=people,", + "givenName": "anonymous", + "inetUserStatus": "Inactive", + "iplanet-am-user-auth-config": "[Empty]", + "roles": [], + "sn": "anonymous", + "userPassword": null }, - "userRegistration": { - "userRegisteredDestination": "default", - "userRegistrationCaptchaEnabled": false, - "userRegistrationEmailBody": [ - "en|

Click on this link to register.

" - ], - "userRegistrationEmailSubject": [ - "en|Registration email" - ], - "userRegistrationEmailVerificationEnabled": true, - "userRegistrationEmailVerificationFirstEnabled": false, - "userRegistrationEnabled": false, - "userRegistrationKbaEnabled": false, - "userRegistrationTokenTTL": 300, - "userRegistrationValidUserAttributes": [ - "userPassword", - "mail", - "givenName", - "kbaInfo", - "inetUserStatus", - "sn", - "username" - ] + { + "_id": "dsameuser", + "_type": { + "_id": "user", + "collection": true, + "name": "User" + }, + "dn": "cn=dsameuser,ou=DSAME Users,", + "inetUserStatus": "Active", + "iplanet-am-user-auth-config": "[Empty]", + "roles": [], + "userPassword": null } - }, - "location": "global", - "nextDescendents": [] - }, - "selfServiceTrees": { - "_id": "", - "_type": { - "_id": "selfServiceTrees", - "collection": false, - "name": "Self Service Trees" - }, - "defaults": { - "enabled": true, - "treeMapping": {} - }, - "location": "global", - "nextDescendents": [] + ] }, - "session": { + "idm-integration": { "_id": "", "_type": { - "_id": "session", + "_id": "idm-integration", "collection": false, - "name": "Session" - }, - "dynamic": { - "maxCachingTime": 3, - "maxIdleTime": 30, - "maxSessionTime": 120, - "quotaLimit": 5 - }, - "general": { - "crossUpgradeReferenceFlag": false, - "dnRestrictionOnly": false, - "latestAccessTimeUpdateFrequency": 60, - "timeoutHandlers": [] + "name": "IdmIntegrationService" }, + "configurationCacheDuration": 0, + "enabled": false, + "idmProvisioningClient": "idm-provisioning", + "jwtSigningCompatibilityMode": false, "location": "global", "nextDescendents": [], - "notifications": { - "notificationPropertyList": [], - "propertyChangeNotifications": "OFF" - }, - "quotas": { - "behaviourWhenQuotaExhausted": "org.forgerock.openam.session.service.DestroyNextExpiringAction", - "denyLoginWhenRepoDown": "NO", - "iplanet-am-session-enable-session-constraint": "OFF", - "quotaConstraintMaxWaitTime": 6000 - }, - "search": { - "maxSessionListSize": 120, - "sessionListRetrievalTimeout": 5 - }, - "stateless": { - "openam-session-stateless-blacklist-cache-size": 10000, - "openam-session-stateless-blacklist-poll-interval": 60, - "openam-session-stateless-blacklist-purge-delay": 1, - "openam-session-stateless-enable-session-blacklisting": false, - "openam-session-stateless-logout-poll-interval": 60, - "statelessCompressionType": "NONE", - "statelessEncryptionAesKey": null, - "statelessEncryptionType": "DIRECT", - "statelessLogoutByUser": false, - "statelessSigningHmacSecret": null, - "statelessSigningType": "HS256" - } + "provisioningClientScopes": [ + "fr:idm:*" + ], + "useInternalOAuth2Provider": false }, - "socialauthentication": { + "iot": { "_id": "", "_type": { - "_id": "socialauthentication", + "_id": "iot", "collection": false, - "name": "Social Authentication Implementations" + "name": "IoT Service" }, "defaults": { - "authenticationChains": {}, - "displayNames": {}, - "enabledKeys": [], - "icons": {} + "attributeAllowlist": [ + "thingConfig" + ], + "createOAuthClient": false, + "createOAuthJwtIssuer": false, + "oauthClientName": "forgerock-iot-oauth2-client", + "oauthJwtIssuerName": "forgerock-iot-jwt-issuer" }, "location": "global", "nextDescendents": [] }, - "transaction": { + "logging": { "_id": "", "_type": { - "_id": "transaction", + "_id": "logging", "collection": false, - "name": "Transaction Authentication Service" + "name": "Logging" }, - "defaults": { - "timeToLive": "180" + "database": { + "databaseFailureMemoryBufferSize": 2, + "driver": "oracle.jdbc.driver.OracleDriver", + "maxRecords": 500, + "user": "dbuser" }, - "location": "global", - "nextDescendents": [] - }, - "uma": { - "_id": "", - "_type": { - "_id": "uma", - "collection": false, - "name": "UMA Provider" + "file": { + "location": "%BASE_DIR%/var/audit/", + "maxFileSize": 100000000, + "numberHistoryFiles": 1, + "rotationEnabled": true, + "rotationInterval": -1, + "suffix": "-MM.dd.yy-kk.mm" }, - "defaults": { - "claimsGathering": { - "claimsGatheringService": "[Empty]", - "interactiveClaimsGatheringEnabled": false, - "pctLifetime": 604800 - }, - "generalSettings": { - "deletePoliciesOnDeleteRS": true, - "deleteResourceSetsOnDeleteRS": true, - "emailRequestingPartyOnPendingRequestApproval": true, - "emailResourceOwnerOnPendingRequestCreation": true, - "grantResourceOwnerImplicitConsent": true, - "grantRptConditions": [ - "REQUEST_PARTIAL", - "REQUEST_NONE", - "TICKET_PARTIAL" - ], - "pendingRequestsEnabled": true, - "permissionTicketLifetime": 120, - "resharingMode": "IMPLICIT", - "userProfileLocaleAttribute": "inetOrgPerson" - } + "general": { + "bufferSize": 25, + "bufferTime": 60, + "buffering": "ON", + "certificateStore": "%BASE_DIR%/var/audit/Logger.jks", + "fields": [ + "IPAddr", + "LoggedBy", + "LoginID", + "NameID", + "ModuleName", + "ContextID", + "Domain", + "LogLevel", + "HostName", + "MessageID" + ], + "filesPerKeystore": 5, + "jdkLoggingLevel": "INFO", + "security": "OFF", + "signaturePeriod": 900, + "signingAlgorithm": "SHA1withRSA", + "status": "INACTIVE", + "type": "File", + "verifyPeriod": 3600 }, "location": "global", "nextDescendents": [], - "umaPolicyUpgradeCompatibilityMode": false + "resolveHostName": false, + "syslog": { + "facility": "local5", + "host": "localhost", + "port": 514, + "protocol": "UDP", + "timeout": 30 + } }, - "user": { + "monitoring": { "_id": "", "_type": { - "_id": "user", + "_id": "monitoring", "collection": false, - "name": "User" - }, - "dynamic": { - "defaultUserStatus": "Active" + "name": "Monitoring" }, + "authfilePath": "%BASE_DIR%/security/openam_mon_auth", + "enabled": false, + "httpEnabled": false, + "httpPort": 8082, "location": "global", - "nextDescendents": [] + "nextDescendents": [ + { + "_id": "crest", + "_type": { + "_id": "crest", + "collection": true, + "name": "CREST Reporter" + }, + "enabled": false + }, + { + "_id": "prometheus", + "_type": { + "_id": "prometheus", + "collection": true, + "name": "Prometheus Reporter" + }, + "authenticationType": "BASIC", + "enabled": false, + "password": null, + "username": "prometheus" + } + ], + "policyHistoryWindowSize": 10000, + "rmiEnabled": false, + "rmiPort": 9999, + "sessionHistoryWindowSize": 10000 }, - "validation": { + "naming": { "_id": "", "_type": { - "_id": "validation", + "_id": "naming", "collection": false, - "name": "Validation Service" + "name": "Naming" }, - "defaults": { - "validGotoDestinations": [] + "endpointConfig": { + "jaxwsUrl": "%protocol://%host:%port%uri/identityservices/", + "stsMexUrl": "%protocol://%host:%port%uri/sts/mex", + "stsUrl": "%protocol://%host:%port%uri/sts" + }, + "federationConfig": { + "jaxrpcUrl": "%protocol://%host:%port%uri/jaxrpc/", + "samlAssertionManagerUrl": "%protocol://%host:%port%uri/AssertionManagerServlet/AssertionManagerIF", + "samlAwareServletUrl": "%protocol://%host:%port%uri/SAMLAwareServlet", + "samlPostServletUrl": "%protocol://%host:%port%uri/SAMLPOSTProfileServlet", + "samlSoapReceiverUrl": "%protocol://%host:%port%uri/SAMLSOAPReceiver" + }, + "generalConfig": { + "authUrl": "%protocol://%host:%port%uri/authservice", + "loggingUrl": "%protocol://%host:%port%uri/loggingservice", + "policyUrl": "%protocol://%host:%port%uri/policyservice", + "profileUrl": "%protocol://%host:%port%uri/profileservice", + "sessionUrl": "%protocol://%host:%port%uri/sessionservice" }, "location": "global", - "nextDescendents": [], - "validGotoDestinations": [] - } - }, - "site": { - "testsite": { - "_id": "testsite", - "secondaryURLs": [], - "servers": [ - { - "id": "03", - "url": "http://localhost:8081/am" - } - ], - "url": "http://testurl.com:8080" - } - }, - "webhookService": { - "webhooks": { + "nextDescendents": [] + }, + "oauth-oidc": { "_id": "", "_type": { - "_id": "webhooks", + "_id": "oauth-oidc", "collection": false, - "name": "Webhook Service" - } - } - } - }, - "realm": { - "root": { - "agent": { - "Test IG": { - "_id": "Test IG", - "_type": { - "_id": "IdentityGatewayAgent", - "collection": true, - "name": "Identity Gateway Agents" - }, - "agentgroup": null, - "igCdssoLoginUrlTemplate": null, - "igCdssoRedirectUrls": [], - "igTokenIntrospection": "None", - "secretLabelIdentifier": null, - "status": "Active", - "userpassword": null - }, - "Test SOAP STS": { - "_id": "Test SOAP STS", - "_type": { - "_id": "SoapSTSAgent", - "collection": true, - "name": "SOAP STS Agents" - }, - "agentgroup": null, - "publishServicePollInterval": 300 + "name": "OAuth2 Provider" }, - "Test Web": { - "_id": "Test Web", - "_type": { - "_id": "WebAgent", - "collection": true, - "name": "Web Agents" - }, - "advancedWebAgentConfig": { - "apacheAuthDirectives": null, - "clientHostnameHeader": null, - "clientIpHeader": null, - "customProperties": [], - "fragmentRedirectEnabled": false, - "hostnameToIpAddress": [], - "logonAndImpersonation": false, - "overrideRequestHost": false, - "overrideRequestPort": false, - "overrideRequestProtocol": false, - "pdpJavascriptRepost": false, - "pdpSkipPostUrl": [ - "" + "allowUnauthorisedAccessToUserCodeForm": false, + "blacklistCacheSize": 10000, + "blacklistPollInterval": 60, + "blacklistPurgeDelay": 1, + "defaults": { + "advancedOAuth2Config": { + "allowClientCredentialsInTokenRequestQueryParameters": false, + "allowedAudienceValues": [], + "authenticationAttributes": [ + "uid" ], - "pdpStickySessionCookieName": null, - "pdpStickySessionMode": "OFF", - "pdpStickySessionValue": null, - "postDataCachePeriod": 10, - "postDataPreservation": false, - "replayPasswordKey": null, - "retainSessionCache": false, - "showPasswordInHeader": false + "codeVerifierEnforced": "false", + "defaultScopes": [], + "displayNameAttribute": "cn", + "expClaimRequiredInRequestObject": false, + "grantTypes": [ + "implicit", + "urn:ietf:params:oauth:grant-type:saml2-bearer", + "refresh_token", + "password", + "client_credentials", + "urn:ietf:params:oauth:grant-type:device_code", + "authorization_code", + "urn:openid:params:grant-type:ciba", + "urn:ietf:params:oauth:grant-type:uma-ticket", + "urn:ietf:params:oauth:grant-type:token-exchange", + "urn:ietf:params:oauth:grant-type:jwt-bearer" + ], + "hashSalt": "changeme", + "includeClientIdClaimInStatelessTokens": true, + "includeSubnameInTokenClaims": true, + "macaroonTokenFormat": "V2", + "maxAgeOfRequestObjectNbfClaim": 0, + "maxDifferenceBetweenRequestObjectNbfAndExp": 0, + "moduleMessageEnabledInPasswordGrant": false, + "nbfClaimRequiredInRequestObject": false, + "parRequestUriLifetime": 90, + "persistentClaims": [], + "refreshTokenGracePeriod": 0, + "requestObjectProcessing": "OIDC", + "requirePushedAuthorizationRequests": false, + "responseTypeClasses": [ + "code|org.forgerock.oauth2.core.AuthorizationCodeResponseTypeHandler", + "id_token|org.forgerock.openidconnect.IdTokenResponseTypeHandler", + "token|org.forgerock.oauth2.core.TokenResponseTypeHandler" + ], + "supportedScopes": [], + "supportedSubjectTypes": [ + "public", + "pairwise" + ], + "tlsCertificateBoundAccessTokensEnabled": true, + "tlsCertificateRevocationCheckingEnabled": false, + "tlsClientCertificateHeaderFormat": "BASE64_ENCODED_CERT", + "tokenCompressionEnabled": false, + "tokenEncryptionEnabled": false, + "tokenExchangeClasses": [ + "urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToAccessTokenExchanger", + "urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToIdTokenExchanger", + "urn:ietf:params:oauth:token-type:access_token=>urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.AccessTokenToIdTokenExchanger", + "urn:ietf:params:oauth:token-type:id_token=>urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.idtoken.IdTokenToAccessTokenExchanger" + ], + "tokenSigningAlgorithm": "HS256", + "tokenValidatorClasses": [ + "urn:ietf:params:oauth:token-type:id_token|org.forgerock.oauth2.core.tokenexchange.idtoken.OidcIdTokenValidator", + "urn:ietf:params:oauth:token-type:access_token|org.forgerock.oauth2.core.tokenexchange.accesstoken.OAuth2AccessTokenValidator" + ] }, - "amServicesWebAgent": { - "amLoginUrl": [], - "amLogoutUrl": [ - "http://testurl.com:8080/UI/Logout" + "advancedOIDCConfig": { + "alwaysAddClaimsToToken": false, + "amrMappings": {}, + "authorisedIdmDelegationClients": [], + "authorisedOpenIdConnectSSOClients": [], + "claimsParameterSupported": false, + "defaultACR": [], + "idTokenInfoClientAuthenticationEnabled": true, + "includeAllKtyAlgCombinationsInJwksUri": false, + "loaMapping": {}, + "storeOpsTokens": true, + "supportedAuthorizationResponseEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "RSA-OAEP", + "ECDH-ES+A128KW", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW" + ], + "supportedAuthorizationResponseEncryptionEnc": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512" + ], + "supportedAuthorizationResponseSigningAlgorithms": [ + "PS384", + "RS384", + "EdDSA", + "ES384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512" + ], + "supportedRequestParameterEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "ECDH-ES+A128KW", + "RSA-OAEP", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW" + ], + "supportedRequestParameterEncryptionEnc": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512" + ], + "supportedRequestParameterSigningAlgorithms": [ + "PS384", + "ES384", + "RS384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512" + ], + "supportedTokenEndpointAuthenticationSigningAlgorithms": [ + "PS384", + "ES384", + "RS384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512" + ], + "supportedTokenIntrospectionResponseEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "RSA-OAEP", + "ECDH-ES+A128KW", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW" ], - "applicationLogoutUrls": [ - "" + "supportedTokenIntrospectionResponseEncryptionEnc": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512" ], - "conditionalLoginUrl": [ - "" + "supportedTokenIntrospectionResponseSigningAlgorithms": [ + "PS384", + "RS384", + "EdDSA", + "ES384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512" ], - "customLoginMode": 0, - "enableLogoutRegex": false, - "fetchPoliciesFromRootResource": false, - "invalidateLogoutSession": true, - "logoutRedirectDisabled": false, - "logoutRedirectUrl": null, - "logoutResetCookies": [ - "" + "supportedUserInfoEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "RSA-OAEP", + "ECDH-ES+A128KW", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW" ], - "logoutUrlRegex": null, - "policyCachePollingInterval": 3, - "policyClockSkew": 0, - "policyEvaluationApplication": "iPlanetAMWebAgentService", - "policyEvaluationRealm": "/", - "publicAmUrl": null, - "regexConditionalLoginPattern": [ - "" + "supportedUserInfoEncryptionEnc": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512" ], - "regexConditionalLoginUrl": [ - "" + "supportedUserInfoSigningAlgorithms": [ + "ES384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512" ], - "retrieveClientHostname": false, - "ssoCachePollingInterval": 3, - "userIdParameter": "UserToken", - "userIdParameterType": "session" + "useForceAuthnForMaxAge": false, + "useForceAuthnForPromptLogin": false }, - "applicationWebAgentConfig": { - "attributeMultiValueSeparator": "|", - "clientIpValidation": false, - "continuousSecurityCookies": {}, - "continuousSecurityHeaders": {}, - "fetchAttributesForNotEnforcedUrls": false, - "ignorePathInfoForNotEnforcedUrls": true, - "invertNotEnforcedUrls": false, - "notEnforcedIps": [ - "" + "cibaConfig": { + "cibaAuthReqIdLifetime": 600, + "cibaMinimumPollingInterval": 2, + "supportedCibaSigningAlgorithms": [ + "ES256", + "PS256" + ] + }, + "clientDynamicRegistrationConfig": { + "allowDynamicRegistration": false, + "dynamicClientRegistrationScope": "dynamic_client_registration", + "dynamicClientRegistrationScript": "[Empty]", + "dynamicClientRegistrationSoftwareStatementRequired": false, + "generateRegistrationAccessTokens": true, + "requiredSoftwareStatementAttestedAttributes": [ + "redirect_uris" + ] + }, + "consent": { + "clientsCanSkipConsent": false, + "enableRemoteConsent": false, + "supportedRcsRequestEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "RSA-OAEP", + "ECDH-ES+A128KW", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW" ], - "notEnforcedIpsList": [ - "" + "supportedRcsRequestEncryptionMethods": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512" ], - "notEnforcedIpsRegex": false, - "notEnforcedUrls": [ - "" + "supportedRcsRequestSigningAlgorithms": [ + "PS384", + "ES384", + "RS384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512" ], - "notEnforcedUrlsRegex": false, - "profileAttributeFetchMode": "NONE", - "profileAttributeMap": {}, - "responseAttributeFetchMode": "NONE", - "responseAttributeMap": {}, - "sessionAttributeFetchMode": "NONE", - "sessionAttributeMap": {} - }, - "globalWebAgentConfig": { - "accessDeniedUrl": null, - "agentConfigChangeNotificationsEnabled": true, - "agentDebugLevel": "Error", - "agentUriPrefix": "http://testurl.com:8080/amagent", - "agentgroup": null, - "amLbCookieEnable": false, - "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", - "cdssoRootUrl": [ - "agentRootURL=http://testurl.com:8080/" + "supportedRcsResponseEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "ECDH-ES+A128KW", + "RSA-OAEP", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW" ], - "configurationPollingInterval": 60, - "disableJwtAudit": false, - "fqdnCheck": false, - "fqdnDefault": "testurl.com", - "fqdnMapping": {}, - "jwtAuditWhitelist": null, - "jwtName": "am-auth-jwt", - "notificationsEnabled": true, - "repositoryLocation": "centralized", - "resetIdleTime": false, - "secretLabelIdentifier": null, - "ssoOnlyMode": false, - "status": "Active", - "userpassword": null, - "webSocketConnectionIntervalInMinutes": 30 - }, - "miscWebAgentConfig": { - "addCacheControlHeader": false, - "anonymousUserEnabled": false, - "anonymousUserId": "anonymous", - "caseInsensitiveUrlComparison": true, - "compositeAdviceEncode": false, - "compositeAdviceRedirect": false, - "encodeSpecialCharsInCookies": false, - "encodeUrlSpecialCharacters": false, - "gotoParameterName": "goto", - "headerJsonResponse": {}, - "ignorePathInfo": false, - "invalidUrlRegex": null, - "invertUrlJsonResponse": false, - "mineEncodeHeader": 0, - "profileAttributesCookieMaxAge": 300, - "profileAttributesCookiePrefix": "HTTP_", - "statusCodeJsonResponse": 202, - "urlJsonResponse": [ - "" + "supportedRcsResponseEncryptionMethods": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512" + ], + "supportedRcsResponseSigningAlgorithms": [ + "PS384", + "ES384", + "RS384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512" ] }, - "ssoWebAgentConfig": { - "acceptSsoToken": false, - "cdssoCookieDomain": [ - "" + "coreOAuth2Config": { + "accessTokenLifetime": 3600, + "accessTokenMayActScript": "[Empty]", + "codeLifetime": 120, + "issueRefreshToken": true, + "issueRefreshTokenOnRefreshedToken": true, + "macaroonTokensEnabled": false, + "oidcMayActScript": "[Empty]", + "refreshTokenLifetime": 604800, + "scopesPolicySet": "oauth2Scopes", + "statelessTokensEnabled": false, + "usePolicyEngineForScope": false + }, + "coreOIDCConfig": { + "jwtTokenLifetime": 3600, + "oidcDiscoveryEndpointEnabled": false, + "overrideableOIDCClaims": [], + "supportedClaims": [], + "supportedIDTokenEncryptionAlgorithms": [ + "ECDH-ES+A256KW", + "ECDH-ES+A192KW", + "RSA-OAEP", + "ECDH-ES+A128KW", + "RSA-OAEP-256", + "A128KW", + "A256KW", + "ECDH-ES", + "dir", + "A192KW" ], - "cdssoRedirectUri": "agent/cdsso-oauth2", - "cookieName": "iPlanetDirectoryPro", - "cookieResetEnabled": false, - "cookieResetList": [ - "" + "supportedIDTokenEncryptionMethods": [ + "A256GCM", + "A192GCM", + "A128GCM", + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512" ], - "cookieResetOnRedirect": false, - "httpOnly": true, - "multivaluePreAuthnCookie": false, - "persistentJwtCookie": false, - "sameSite": null, - "secureCookies": false + "supportedIDTokenSigningAlgorithms": [ + "PS384", + "ES384", + "RS384", + "HS256", + "HS512", + "ES256", + "RS256", + "HS384", + "ES512", + "PS256", + "PS512", + "RS512" + ] + }, + "deviceCodeConfig": { + "deviceCodeLifetime": 300, + "devicePollInterval": 5, + "deviceUserCodeCharacterSet": "234567ACDEFGHJKLMNPQRSTWXYZabcdefhijkmnopqrstwxyz", + "deviceUserCodeLength": 8 + }, + "pluginsConfig": { + "accessTokenEnricherClass": "org.forgerock.oauth2.core.plugins.registry.DefaultAccessTokenEnricher", + "accessTokenModificationPluginType": "SCRIPTED", + "accessTokenModificationScript": "d22f9a0c-426a-4466-b95e-d0f125b0d5fa", + "authorizeEndpointDataProviderClass": "org.forgerock.oauth2.core.plugins.registry.DefaultEndpointDataProvider", + "authorizeEndpointDataProviderPluginType": "JAVA", + "authorizeEndpointDataProviderScript": "3f93ef6e-e54a-4393-aba1-f322656db28a", + "evaluateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeEvaluator", + "evaluateScopePluginType": "JAVA", + "evaluateScopeScript": "da56fe60-8b38-4c46-a405-d6b306d4b336", + "oidcClaimsPluginType": "SCRIPTED", + "oidcClaimsScript": "36863ffb-40ec-48b9-94b1-9a99f71cc3b5", + "userCodeGeneratorClass": "org.forgerock.oauth2.core.plugins.registry.DefaultUserCodeGenerator", + "validateScopeClass": "org.forgerock.oauth2.core.plugins.registry.DefaultScopeValidator", + "validateScopePluginType": "JAVA", + "validateScopeScript": "25e6c06d-cf70-473b-bd28-26931edc476b" } }, - "my-policy-agent": { - "_id": "my-policy-agent", - "_type": { - "_id": "2.2_Agent", - "collection": true, - "name": "Policy Agents" - }, - "cdssoRootUrl": [], - "description": null, - "status": "Active", - "userpassword": null + "jwtTokenLifetimeValidationEnabled": true, + "jwtTokenRequiredClaims": [], + "jwtTokenUnreasonableLifetime": 86400, + "location": "global", + "nextDescendents": [], + "statelessGrantTokenUpgradeCompatibilityMode": false, + "storageScheme": "CTS_ONE_TO_ONE_MODEL" + }, + "pingOneWorkerService": { + "_id": "", + "_type": { + "_id": "pingOneWorkerService", + "collection": false, + "name": "PingOne Worker Service" }, - "test": { - "_id": "test", - "_type": { - "_id": "RemoteConsentAgent", - "collection": true, - "name": "OAuth2 Remote Consent Service" - }, - "agentgroup": null, - "jwkSet": null, - "jwkStoreCacheMissCacheTime": 60000, - "jwksCacheTimeout": 3600000, - "jwksUri": null, - "publicKeyLocation": "jwks_uri", - "remoteConsentRedirectUrl": null, - "remoteConsentRequestEncryptionAlgorithm": "RSA-OAEP-256", - "remoteConsentRequestEncryptionEnabled": true, - "remoteConsentRequestEncryptionMethod": "A128GCM", - "remoteConsentRequestSigningAlgorithm": "RS256", - "remoteConsentResponseEncryptionAlgorithm": "RSA-OAEP-256", - "remoteConsentResponseEncryptionMethod": "A128GCM", - "remoteConsentResponseSigningAlg": "RS256", - "requestTimeLimit": 180 + "defaults": { + "enabled": true }, - "test java": { - "_id": "test java", - "_type": { - "_id": "J2EEAgent", - "collection": true, - "name": "J2EE Agents" - }, - "advancedJ2EEAgentConfig": { - "alternativeAgentHostname": null, - "alternativeAgentPort": null, - "alternativeAgentProtocol": null, - "clientHostnameHeader": null, - "clientIpHeader": null, - "customProperties": [], - "expiredSessionCacheSize": 500, - "expiredSessionCacheTTL": 20, - "fragmentRelayUri": null, - "idleTimeRefreshWindow": 1, - "jwtCacheSize": 5000, - "jwtCacheTTL": 30, - "missingPostDataPreservationEntryUri": [ - "" - ], - "monitoringToCSV": false, - "policyCachePerUser": 50, - "policyCacheSize": 5000, - "policyClientPollingInterval": 3, - "possibleXssCodeElements": [ - "" - ], - "postDataCacheTtlMin": 5, - "postDataPreservation": false, - "postDataPreserveCacheEntryMaxEntries": 1000, - "postDataPreserveCacheEntryMaxTotalSizeMb": -1, - "postDataPreserveMultipartLimitBytes": 104857600, - "postDataPreserveMultipartParameterLimitBytes": 104857600, - "postDataStickySessionKeyValue": null, - "postDataStickySessionMode": "URL", - "retainPreviousOverrideBehavior": true, - "sessionCacheTTL": 15, - "ssoExchangeCacheSize": 100, - "ssoExchangeCacheTTL": 5, - "xssDetectionRedirectUri": {} + "location": "global", + "nextDescendents": [] + }, + "platform": { + "_id": "", + "_type": { + "_id": "platform", + "collection": false, + "name": "Platform" + }, + "cookieDomains": [], + "locale": "en_US", + "location": "global", + "nextDescendents": [] + }, + "policyconfiguration": { + "_id": "", + "_type": { + "_id": "policyconfiguration", + "collection": false, + "name": "Policy Configuration" + }, + "continueEvaluationOnDeny": false, + "defaults": { + "bindDn": "cn=Directory Manager", + "checkIfResourceTypeExists": true, + "connectionPoolMaximumSize": 10, + "connectionPoolMinimumSize": 1, + "ldapServer": [ + "localhost:50636" + ], + "maximumSearchResults": 100, + "mtlsEnabled": false, + "policyHeartbeatInterval": 10, + "policyHeartbeatTimeUnit": "SECONDS", + "realmSearchFilter": "(objectclass=sunismanagedorganization)", + "searchTimeout": 5, + "sslEnabled": true, + "subjectsResultTTL": 10, + "userAliasEnabled": false, + "usersBaseDn": "dc=openam,dc=forgerock,dc=org", + "usersSearchAttribute": "uid", + "usersSearchFilter": "(objectclass=inetorgperson)", + "usersSearchScope": "SCOPE_SUB" + }, + "location": "global", + "nextDescendents": [], + "realmAliasReferrals": false, + "resourceComparators": [ + "serviceType=iPlanetAMWebAgentService|class=com.sun.identity.policy.plugins.HttpURLResourceName|wildcard=*|oneLevelWildcard=-*-|delimiter=/|caseSensitive=false" + ] + }, + "pushNotification": { + "_id": "", + "_type": { + "_id": "pushNotification", + "collection": false, + "name": "Push Notification Service" + }, + "defaults": { + "delegateFactory": "org.forgerock.openam.services.push.sns.SnsHttpDelegateFactory", + "mdCacheSize": 10000, + "mdConcurrency": 16, + "mdDuration": 120, + "region": "us-east-1" + }, + "location": "global", + "nextDescendents": [] + }, + "rest": { + "_id": "", + "_type": { + "_id": "rest", + "collection": false, + "name": "REST APIs" + }, + "csrfFilterEnabled": true, + "defaultProtocolVersion": "Latest", + "defaultVersion": "Latest", + "descriptionsState": "STATIC", + "location": "global", + "nextDescendents": [], + "warningHeader": true + }, + "saml2": { + "_id": "", + "_type": { + "_id": "saml2", + "collection": false, + "name": "SAML v2.0 Service Configuration" + }, + "bufferLength": 2048, + "caCertValidation": false, + "cacheCleanupInterval": 600, + "encryptedKeyInKeyInfo": true, + "idpDiscoveryCookieDomain": "openam-frodo-dev.classic.com", + "idpDiscoveryCookieType": "PERSISTENT", + "idpDiscoveryUrlSchema": "HTTPS", + "location": "global", + "nameIDInfoAttribute": "sun-fm-saml2-nameid-info", + "nameIDInfoKeyAttribute": "sun-fm-saml2-nameid-infokey", + "nextDescendents": [], + "signingCertValidation": false, + "xmlEncryptionClass": "com.sun.identity.saml2.xmlenc.FMEncProvider", + "xmlSigningClass": "com.sun.identity.saml2.xmlsig.FMSigProvider" + }, + "security": { + "_id": "", + "_type": { + "_id": "security", + "collection": false, + "name": "Legacy User Self Service" + }, + "defaults": { + "confirmationIdHmacKey": "YcGfeuzSM14OG5djEcxEnvPydX28nsuxAZyDX1VA8iY=", + "forgotPasswordConfirmationUrl": "http://localhost:8080/am/XUI/confirm.html", + "forgotPasswordEnabled": false, + "forgotPasswordTokenLifetime": 900, + "protectedUserAttributes": [], + "selfRegistrationConfirmationUrl": "http://localhost:8080/am/XUI/confirm.html", + "selfRegistrationEnabled": false, + "selfRegistrationTokenLifetime": 900, + "selfServiceEnabled": false, + "userRegisteredDestination": "default" + }, + "location": "global", + "nextDescendents": [] + }, + "selfService": { + "_id": "", + "_type": { + "_id": "selfService", + "collection": false, + "name": "User Self-Service" + }, + "defaults": { + "advancedConfig": { + "forgottenPasswordConfirmationUrl": "http://localhost:8080/am/XUI/?realm=${realm}#passwordReset/", + "forgottenPasswordServiceConfigClass": "org.forgerock.openam.selfservice.config.flows.ForgottenPasswordConfigProvider", + "forgottenUsernameServiceConfigClass": "org.forgerock.openam.selfservice.config.flows.ForgottenUsernameConfigProvider", + "userRegistrationConfirmationUrl": "http://localhost:8080/am/XUI/?realm=${realm}#register/", + "userRegistrationServiceConfigClass": "org.forgerock.openam.selfservice.config.flows.UserRegistrationConfigProvider" }, - "amServicesJ2EEAgent": { - "agentAdviceEncode": false, - "amLoginUrl": [], - "authServiceHost": "testurl.com", - "authServicePort": 8080, - "authServiceProtocol": "http", - "authSuccessRedirectUrl": false, - "conditionalLoginUrl": [ - "" - ], - "conditionalLogoutUrl": [ - "" - ], - "customLoginEnabled": false, - "legacyLoginUrlList": [ - "" - ], - "overridePolicyEvaluationRealmEnabled": false, - "policyEvaluationApplication": "iPlanetAMWebAgentService", - "policyEvaluationRealm": "/", - "policyNotifications": true, - "restrictToRealm": {}, - "strategyWhenAMUnavailable": "EVAL_NER_USE_CACHE_UNTIL_EXPIRED_ELSE_503", - "urlPolicyEnvGetParameters": [ - "" + "forgottenPassword": { + "forgottenPasswordCaptchaEnabled": false, + "forgottenPasswordEmailBody": [ + "en|

Click on this link to reset your password.

" ], - "urlPolicyEnvJsessionParameters": [ - "" + "forgottenPasswordEmailSubject": [ + "en|Forgotten password email" ], - "urlPolicyEnvPostParameters": [ - "" - ] + "forgottenPasswordEmailVerificationEnabled": true, + "forgottenPasswordEnabled": false, + "forgottenPasswordKbaEnabled": false, + "forgottenPasswordTokenPaddingLength": 450, + "forgottenPasswordTokenTTL": 300, + "numberOfAllowedAttempts": 1, + "numberOfAttemptsEnforced": false }, - "applicationJ2EEAgentConfig": { - "applicationLogoutUris": {}, - "clientIpValidationMode": { - "": "OFF" - }, - "clientIpValidationRange": {}, - "continuousSecurityCookies": {}, - "continuousSecurityHeaders": {}, - "cookieAttributeMultiValueSeparator": "|", - "cookieAttributeUrlEncoded": true, - "headerAttributeDateFormat": "EEE, d MMM yyyy hh:mm:ss z", - "invertNotEnforcedIps": false, - "invertNotEnforcedUris": false, - "logoutEntryUri": {}, - "logoutIntrospection": false, - "logoutRequestParameters": {}, - "notEnforcedFavicon": true, - "notEnforcedIps": [ - "" + "forgottenUsername": { + "forgottenUsernameCaptchaEnabled": false, + "forgottenUsernameEmailBody": [ + "en|

Your username is %username%.

" ], - "notEnforcedIpsCacheEnabled": true, - "notEnforcedIpsCacheSize": 1000, - "notEnforcedRuleCompoundSeparator": "|", - "notEnforcedUris": [ - "" + "forgottenUsernameEmailSubject": [ + "en|Forgotten username email" ], - "notEnforcedUrisCacheEnabled": true, - "notEnforcedUrisCacheSize": 1000, - "profileAttributeFetchMode": "NONE", - "profileAttributeMap": {}, - "resourceAccessDeniedUri": {}, - "responseAttributeFetchMode": "NONE", - "responseAttributeMap": {}, - "sessionAttributeFetchMode": "NONE", - "sessionAttributeMap": {} + "forgottenUsernameEmailUsernameEnabled": true, + "forgottenUsernameEnabled": false, + "forgottenUsernameKbaEnabled": false, + "forgottenUsernameShowUsernameEnabled": false, + "forgottenUsernameTokenTTL": 300 }, - "globalJ2EEAgentConfig": { - "agentConfigChangeNotificationsEnabled": true, - "agentgroup": "Test Java Group", - "auditAccessType": "LOG_NONE", - "auditLogLocation": "REMOTE", - "cdssoRootUrl": [ - "agentRootURL=http://testurl.com:8080/" + "generalConfig": { + "captchaVerificationUrl": "https://www.google.com/recaptcha/api/siteverify", + "kbaQuestions": [ + "4|en|What is your mother's maiden name?", + "3|en|What was the name of your childhood pet?", + "2|en|What was the model of your first car?", + "1|en|What is the name of your favourite restaurant?" ], - "configurationReloadInterval": 0, - "customResponseHeader": {}, - "debugLevel": "error", - "debugLogfilePrefix": null, - "debugLogfileRetentionCount": -1, - "debugLogfileRotationMinutes": -1, - "debugLogfileRotationSize": 52428800, - "debugLogfileSuffix": "-yyyy.MM.dd-HH.mm.ss", - "filterMode": { - "": "ALL" - }, - "fqdnCheck": false, - "fqdnDefault": "testurl.com", - "fqdnMapping": {}, - "httpSessionBinding": true, - "jwtName": "am-auth-jwt", - "lbCookieEnabled": false, - "lbCookieName": "amlbcookie", - "localAuditLogRotation": false, - "localAuditLogfileRetentionCount": -1, - "localAuditRotationSize": 52428800, - "loginAttemptLimit": 0, - "loginAttemptLimitCookieName": "amFilterParam", - "preAuthCookieMaxAge": 300, - "preAuthCookieName": "amFilterCDSSORequest", - "recheckAmUnavailabilityInSeconds": 5, - "redirectAttemptLimit": 0, - "redirectAttemptLimitCookieName": "amFilterRDParam", - "repositoryLocation": "centralized", - "secretLabelIdentifier": null, - "status": "Active", - "userAttributeName": "employeenumber", - "userMappingMode": "USER_ID", - "userPrincipalFlag": false, - "userTokenName": "UserToken", - "userpassword": null, - "webSocketConnectionIntervalInMinutes": 30 + "minimumAnswersToDefine": 1, + "minimumAnswersToVerify": 1, + "validQueryAttributes": [ + "uid", + "mail", + "givenName", + "sn" + ] }, - "miscJ2EEAgentConfig": { - "agent302RedirectContentType": "application/json", - "agent302RedirectEnabled": true, - "agent302RedirectHttpData": "{redirect:{requestUri:%REQUEST_URI%,requestUrl:%REQUEST_URL%,targetUrl:%TARGET%}}", - "agent302RedirectInvertEnabled": false, - "agent302RedirectNerList": [ - "" - ], - "agent302RedirectStatusCode": 200, - "authFailReasonParameterName": null, - "authFailReasonParameterRemapper": {}, - "authFailReasonUrl": null, - "gotoParameterName": "goto", - "gotoUrl": null, - "ignorePathInfo": false, - "legacyRedirectUri": "/test/sunwLegacySupportURI", - "legacyUserAgentList": [ - "Mozilla/4.7*" - ], - "legacyUserAgentSupport": false, - "localeCountry": "US", - "localeLanguage": "en", - "loginReasonMap": {}, - "loginReasonParameterName": null, - "portCheckEnabled": false, - "portCheckFile": "PortCheckContent.txt", - "portCheckSetting": { - "8080": "http" - }, - "unwantedHttpUrlParams": [ - "" + "profileManagement": { + "profileAttributeWhitelist": [ + "uid", + "telephoneNumber", + "mail", + "kbaInfo", + "givenName", + "sn", + "cn" ], - "unwantedHttpUrlRegexParams": [ - "" + "profileProtectedUserAttributes": [ + "telephoneNumber", + "mail" + ] + }, + "userRegistration": { + "userRegisteredDestination": "default", + "userRegistrationCaptchaEnabled": false, + "userRegistrationEmailBody": [ + "en|

Click on this link to register.

" ], - "wantedHttpUrlParams": [ - "" + "userRegistrationEmailSubject": [ + "en|Registration email" ], - "wantedHttpUrlRegexParams": [ - "" + "userRegistrationEmailVerificationEnabled": true, + "userRegistrationEmailVerificationFirstEnabled": false, + "userRegistrationEnabled": false, + "userRegistrationKbaEnabled": false, + "userRegistrationTokenTTL": 300, + "userRegistrationValidUserAttributes": [ + "userPassword", + "mail", + "givenName", + "kbaInfo", + "inetUserStatus", + "sn", + "username" ] + } + }, + "location": "global", + "nextDescendents": [] + }, + "selfServiceTrees": { + "_id": "", + "_type": { + "_id": "selfServiceTrees", + "collection": false, + "name": "Self Service Trees" + }, + "defaults": { + "enabled": true, + "treeMapping": {} + }, + "location": "global", + "nextDescendents": [] + }, + "session": { + "_id": "", + "_type": { + "_id": "session", + "collection": false, + "name": "Session" + }, + "dynamic": { + "maxCachingTime": 3, + "maxIdleTime": 30, + "maxSessionTime": 120, + "quotaLimit": 5 + }, + "general": { + "crossUpgradeReferenceFlag": false, + "dnRestrictionOnly": false, + "latestAccessTimeUpdateFrequency": 60, + "timeoutHandlers": [] + }, + "location": "global", + "nextDescendents": [], + "notifications": { + "notificationPropertyList": [], + "propertyChangeNotifications": "OFF" + }, + "quotas": { + "behaviourWhenQuotaExhausted": "org.forgerock.openam.session.service.DestroyNextExpiringAction", + "denyLoginWhenRepoDown": "NO", + "iplanet-am-session-enable-session-constraint": "OFF", + "quotaConstraintMaxWaitTime": 6000 + }, + "search": { + "maxSessionListSize": 120, + "sessionListRetrievalTimeout": 5 + }, + "stateless": { + "openam-session-stateless-blacklist-cache-size": 10000, + "openam-session-stateless-blacklist-poll-interval": 60, + "openam-session-stateless-blacklist-purge-delay": 1, + "openam-session-stateless-enable-session-blacklisting": false, + "openam-session-stateless-logout-poll-interval": 60, + "statelessCompressionType": "NONE", + "statelessEncryptionAesKey": null, + "statelessEncryptionType": "DIRECT", + "statelessLogoutByUser": false, + "statelessSigningHmacSecret": null, + "statelessSigningType": "HS256" + } + }, + "socialauthentication": { + "_id": "", + "_type": { + "_id": "socialauthentication", + "collection": false, + "name": "Social Authentication Implementations" + }, + "defaults": { + "authenticationChains": {}, + "displayNames": {}, + "enabledKeys": [], + "icons": {} + }, + "location": "global", + "nextDescendents": [] + }, + "transaction": { + "_id": "", + "_type": { + "_id": "transaction", + "collection": false, + "name": "Transaction Authentication Service" + }, + "defaults": { + "timeToLive": "180" + }, + "location": "global", + "nextDescendents": [] + }, + "uma": { + "_id": "", + "_type": { + "_id": "uma", + "collection": false, + "name": "UMA Provider" + }, + "defaults": { + "claimsGathering": { + "claimsGatheringService": "[Empty]", + "interactiveClaimsGatheringEnabled": false, + "pctLifetime": 604800 }, - "ssoJ2EEAgentConfig": { - "acceptIPDPCookie": false, - "acceptSsoTokenDomainList": [ - "" - ], - "acceptSsoTokenEnabled": false, - "authExchangeCookieName": null, - "authExchangeUri": null, - "cdssoDomainList": [ - "" - ], - "cdssoRedirectUri": "/test/post-authn-redirect", - "cdssoSecureCookies": false, - "cookieResetDomains": {}, - "cookieResetEnabled": false, - "cookieResetNames": [ - "" + "generalSettings": { + "deletePoliciesOnDeleteRS": true, + "deleteResourceSetsOnDeleteRS": true, + "emailRequestingPartyOnPendingRequestApproval": true, + "emailResourceOwnerOnPendingRequestCreation": true, + "grantResourceOwnerImplicitConsent": true, + "grantRptConditions": [ + "REQUEST_PARTIAL", + "REQUEST_NONE", + "TICKET_PARTIAL" ], - "cookieResetPaths": {}, - "encodeCookies": false, - "excludedUserAgentsList": [], - "httpOnly": true, - "setCookieAttributeMap": {}, - "setCookieInternalMap": {} + "pendingRequestsEnabled": true, + "permissionTicketLifetime": 120, + "resharingMode": "IMPLICIT", + "userProfileLocaleAttribute": "inetOrgPerson", + "warnIfConfusablesInUsername": false } }, - "test software publisher": { - "_id": "test software publisher", - "_type": { - "_id": "SoftwarePublisher", - "collection": true, - "name": "OAuth2 Software Publisher" - }, - "agentgroup": null, - "issuer": null, - "jwkSet": null, - "jwkStoreCacheMissCacheTime": 60000, - "jwksCacheTimeout": 3600000, - "jwksUri": null, - "publicKeyLocation": "jwks_uri", - "softwareStatementSigningAlgorithm": "RS256" - } + "location": "global", + "nextDescendents": [], + "umaPolicyUpgradeCompatibilityMode": false + }, + "user": { + "_id": "", + "_type": { + "_id": "user", + "collection": false, + "name": "User" + }, + "dynamic": { + "defaultUserStatus": "Active" + }, + "location": "global", + "nextDescendents": [] + }, + "validation": { + "_id": "", + "_type": { + "_id": "validation", + "collection": false, + "name": "Validation Service" + }, + "defaults": { + "validGotoDestinations": [] + }, + "location": "global", + "nextDescendents": [], + "validGotoDestinations": [] }, + "webAuthnMetadataService": { + "_id": "", + "_type": { + "_id": "webAuthnMetadataService", + "collection": false, + "name": "WebAuthn Metadata Service" + }, + "defaults": { + "enforceRevocationCheck": false, + "fidoMetadataServiceUris": [] + }, + "location": "global", + "nextDescendents": [] + } + }, + "site": { + "testsite": { + "_id": "testsite", + "secondaryURLs": [], + "servers": [], + "url": "http://testurl.com:8080" + } + }, + "webhookService": { + "webhooks": { + "_id": "", + "_type": { + "_id": "webhooks", + "collection": false, + "name": "Webhook Service" + } + } + } + }, + "realm": { + "root": { "agentGroup": { "Oauth2 group": { "_id": "Oauth2 group", @@ -10252,6 +27195,7 @@ "tokenEndpointAuthMethod": "client_secret_basic", "tokenExchangeAuthLevel": 0, "tosURI": [], + "treeName": null, "updateAccessToken": null }, "coreOAuth2ClientConfig": { @@ -10580,15 +27524,6 @@ "setCookieInternalMap": {} } }, - "Test SOAP STS group": { - "_id": "Test SOAP STS group", - "_type": { - "_id": "SoapSTSAgent", - "collection": true, - "name": "SOAP STS Agents" - }, - "publishServicePollInterval": 300 - }, "Test Web Group": { "_id": "Test Web Group", "_type": { @@ -10954,6 +27889,7 @@ "urn:ietf:params:oauth:grant-type:jwt-bearer" ], "hashSalt": "changeme", + "includeClientIdClaimInStatelessTokens": true, "includeSubnameInTokenClaims": true, "macaroonTokenFormat": "V2", "maxAgeOfRequestObjectNbfClaim": 0, @@ -10978,7 +27914,7 @@ ], "tlsCertificateBoundAccessTokensEnabled": true, "tlsCertificateRevocationCheckingEnabled": false, - "tlsClientCertificateHeaderFormat": "URLENCODED_PEM", + "tlsClientCertificateHeaderFormat": "BASE64_ENCODED_CERT", "tokenCompressionEnabled": false, "tokenEncryptionEnabled": false, "tokenExchangeClasses": [ @@ -11165,6 +28101,7 @@ "clientDynamicRegistrationConfig": { "allowDynamicRegistration": false, "dynamicClientRegistrationScope": "dynamic_client_registration", + "dynamicClientRegistrationScript": "[Empty]", "dynamicClientRegistrationSoftwareStatementRequired": false, "generateRegistrationAccessTokens": true, "requiredSoftwareStatementAttestedAttributes": [ @@ -11604,7 +28541,7 @@ "name": "ForgeRock Amster" }, "authenticationLevel": 0, - "authorizedKeys": "/home/prestonhales/am/security/keys/amster/authorized_keys", + "authorizedKeys": "/root/am/security/keys/amster/authorized_keys", "enabled": true }, "datastore": { @@ -11663,7 +28600,7 @@ "openam-auth-ldap-connection-mode": "LDAPS", "operationTimeout": 0, "primaryLdapServer": [ - "localhost:50636" + "opendj-frodo-dev.classic.com:2636" ], "profileAttributeMappings": [], "returnUserDN": true, @@ -11671,14 +28608,14 @@ "secondaryLdapServer": [], "stopLdapbindAfterInmemoryLockedEnabled": false, "trustAllServerCertificates": false, - "userBindDN": "cn=Directory Manager", + "userBindDN": "uid=am-identity-bind-account,ou=admins,ou=identities", "userBindPassword": null, "userProfileRetrievalAttribute": "uid", "userSearchAttributes": [ "uid" ], "userSearchStartDN": [ - "dc=openam,dc=forgerock,dc=org" + "ou=identities" ] }, "oath": { @@ -11846,6 +28783,38 @@ "logical": false, "title": "IPv6" }, + "IdmUser": { + "_id": "IdmUser", + "config": { + "properties": { + "comparator": { + "enum": [ + "EQUALS", + "CONTAINS", + "STARTS_WITH", + "ENDS_WITH", + "REGEX" + ], + "type": "string" + }, + "decisionField": { + "type": "string" + }, + "identityResource": { + "type": "string" + }, + "queryField": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "logical": false, + "title": "IdmUser" + }, "LDAPFilter": { "_id": "LDAPFilter", "config": { @@ -12030,6 +28999,13 @@ "config": { "properties": { "authenticationStrategy": { + "enum": [ + "AuthenticateToServiceConditionAdvice", + "AuthenticateToRealmConditionAdvice", + "AuthenticateToTreeConditionAdvice", + "AuthSchemeConditionAdvice", + "AuthLevelConditionAdvice" + ], "type": "string" }, "strategySpecifier": { @@ -12106,11 +29082,11 @@ "actionValues": {}, "active": true, "applicationName": "iPlanetAMWebAgentService", - "createdBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "creationDate": "2024-06-27T17:07:04.220Z", + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": "2025-07-14T20:45:14.452Z", "description": "", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": "2024-10-09T21:36:26.771Z", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": "2025-07-14T22:52:54.59Z", "name": "Test Policy", "resourceTypeUuid": "76656a38-5f8e-401b-83aa-4ccb74ce88d2", "resources": [ @@ -12163,8 +29139,8 @@ "displayName": "Default Policy Set", "editable": true, "entitlementCombiner": "DenyOverride", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786744, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533574036, "name": "iPlanetAMWebAgentService", "resourceComparator": null, "resourceTypeUuids": [ @@ -12212,8 +29188,8 @@ "displayName": "Default OAuth2 Scopes Policy Set", "editable": true, "entitlementCombiner": "DenyOverride", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786761, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533574047, "name": "oauth2Scopes", "resourceComparator": null, "resourceTypeUuids": [ @@ -12246,8 +29222,8 @@ "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", "creationDate": 1422892465848, "description": "The built-in URL Resource Type available to OpenAM Policies.", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786629, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533573913, "name": "URL", "patterns": [ "*://*:*/*", @@ -12262,8 +29238,8 @@ "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", "creationDate": 1517161800564, "description": "The built-in OAuth2 Scope Resource Type for OAuth2 policy-provided scope.", - "lastModifiedBy": "id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org", - "lastModifiedDate": 1728509786611, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533573927, "name": "OAuth2 Scope", "patterns": [ "*://*:*/*", @@ -12455,6 +29431,7 @@ "includeRequestedAuthenticationContext": true }, "basicAuthentication": {}, + "clientAuthentication": {}, "nameIdFormat": { "nameIdFormatList": [ "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", @@ -12560,60 +29537,6 @@ "", "", " ", - " ", - " ", - " ", - " ", - "MIIDdzCCAl+gAwIBAgIES3eb+zANBgkqhkiG9w0BAQsFADBsMRAwDgYDVQQGEwdVbmtub3duMRAw", - "DgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYDVQQKEwdVbmtub3duMRAwDgYD", - "VQQLEwdVbmtub3duMRAwDgYDVQQDEwdVbmtub3duMB4XDTE2MDUyNDEzNDEzN1oXDTI2MDUyMjEz", - "NDEzN1owbDEQMA4GA1UEBhMHVW5rbm93bjEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5r", - "bm93bjEQMA4GA1UEChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93", - "bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANdIhkOZeSHagT9ZecG+QQwWaUsi7OMv", - "1JvpBr/7HtAZEZMDGWrxg/zao6vMd/nyjSOOZ1OxOwjgIfII5+iwl37oOexEH4tIDoCoToVXC5iq", - "iBFz5qnmoLzJ3bF1iMupPFjz8Ac0pDeTwyygVyhv19QcFbzhPdu+p68epSatwoDW5ohIoaLzbf+o", - "OaQsYkmqyJNrmht091XuoVCazNFt+UJqqzTPay95Wj4F7Qrs+LCSTd6xp0Kv9uWG1GsFvS9TE1W6", - "isVosjeVm16FlIPLaNQ4aEJ18w8piDIRWuOTUy4cbXR/Qg6a11l1gWls6PJiBXrOciOACVuGUoNT", - "zztlCUkCAwEAAaMhMB8wHQYDVR0OBBYEFMm4/1hF4WEPYS5gMXRmmH0gs6XjMA0GCSqGSIb3DQEB", - "CwUAA4IBAQDVH/Md9lCQWxbSbie5lPdPLB72F4831glHlaqms7kzAM6IhRjXmd0QTYq3Ey1J88KS", - "Df8A0HUZefhudnFaHmtxFv0SF5VdMUY14bJ9UsxJ5f4oP4CVh57fHK0w+EaKGGIw6TQEkL5L/+5Q", - "ZZAywKgPz67A3o+uk45aKpF3GaNWjGRWEPqcGkyQ0sIC2o7FUTV+MV1KHDRuBgreRCEpqMoY5XGX", - "e/IJc1EJLFDnsjIOQU1rrUzfM+WP/DigEQTPpkKWHJpouP+LLrGRj2ziYVbBDveP8KtHvLFsnexA", - "/TidjOOxChKSLT9LYFyQqsvUyCagBb4aLs009kbW6inN8zA6", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "MIIDYTCCAkmgAwIBAgIEFt4OQjANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJVSzEQMA4GA1UE", - "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMQswCQYDVQQL", - "EwJBTTENMAsGA1UEAxMEdGVzdDAeFw0xODA0MDMxNDIwNThaFw0yODAzMzExNDIwNThaMGExCzAJ", - "BgNVBAYTAlVLMRAwDgYDVQQIEwdCcmlzdG9sMRAwDgYDVQQHEwdCcmlzdG9sMRIwEAYDVQQKEwlG", - "b3JnZVJvY2sxCzAJBgNVBAsTAkFNMQ0wCwYDVQQDEwR0ZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOC", - "AQ8AMIIBCgKCAQEAi7t6m4d/02dZ8dOe+DFcuUYiOWueHlNkFwdUfOs06eUETOV6Y9WCXu3D71db", - "F0Fhou69ez5c3HAZrSVS2qC1Htw9NkVlLDeED7qwQQMmSr7RFYNQ6BYekAtn/ScFHpq8Tx4BzhcD", - "b6P0+PHCo+bkQedxwhbMD412KSM2UAVQaZ+TW+ngdaaVEs1Cgl4b8xxZ9ZuApXZfpddNdgvjBeeY", - "QbZnaqU3b0P5YE0s0YvIQqYmTjxh4RyLfkt6s/BS1obWUOC+0ChRWlpWE7QTEVEWJP5yt8hgZ5Me", - "cTmBi3yZ/0ts3NsL83413NdbWYh+ChtP696mZbJozflF8jR9pewTbQIDAQABoyEwHzAdBgNVHQ4E", - "FgQUDAvAglxsoXuEwI2NT1hFtVww2SUwDQYJKoZIhvcNAQELBQADggEBADiHqUwRlq1xdHP7S387", - "vMLOr+/OUgNvDUogeyrpdj5vFve/CBxSFlcoY215eE0xzj2+bQoe5To3s8CWkP9hqB3EdhaRBfCr", - "d8Vpvu8xBZcxQzmqwNjmeDrxNpKes717t05fDGgygUM8xIBs29JwRzHzf7e0ByJjn9fvlUjDAGZ7", - "emCTN382F2iOeLC2ibVl7dpmsWZTINhQRbmq5L4ztOcjITk5WZnBF439oRRn68fWZVkOv2UqaKbk", - "uMjgotNuot+ebHtOchEiwKz8VAK7O3/IgD6rfNBfz+c/WeoPcrfQBR4zfizw/ioR115RSywifzlw", - "q5yziqyU04eP4wLr3cM=", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " 128", - " ", - " ", " ", " ", " ", @@ -12636,60 +29559,6 @@ " ", " ", " ", - " ", - " ", - " ", - " ", - "MIIDdzCCAl+gAwIBAgIES3eb+zANBgkqhkiG9w0BAQsFADBsMRAwDgYDVQQGEwdVbmtub3duMRAw", - "DgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYDVQQKEwdVbmtub3duMRAwDgYD", - "VQQLEwdVbmtub3duMRAwDgYDVQQDEwdVbmtub3duMB4XDTE2MDUyNDEzNDEzN1oXDTI2MDUyMjEz", - "NDEzN1owbDEQMA4GA1UEBhMHVW5rbm93bjEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5r", - "bm93bjEQMA4GA1UEChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93", - "bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANdIhkOZeSHagT9ZecG+QQwWaUsi7OMv", - "1JvpBr/7HtAZEZMDGWrxg/zao6vMd/nyjSOOZ1OxOwjgIfII5+iwl37oOexEH4tIDoCoToVXC5iq", - "iBFz5qnmoLzJ3bF1iMupPFjz8Ac0pDeTwyygVyhv19QcFbzhPdu+p68epSatwoDW5ohIoaLzbf+o", - "OaQsYkmqyJNrmht091XuoVCazNFt+UJqqzTPay95Wj4F7Qrs+LCSTd6xp0Kv9uWG1GsFvS9TE1W6", - "isVosjeVm16FlIPLaNQ4aEJ18w8piDIRWuOTUy4cbXR/Qg6a11l1gWls6PJiBXrOciOACVuGUoNT", - "zztlCUkCAwEAAaMhMB8wHQYDVR0OBBYEFMm4/1hF4WEPYS5gMXRmmH0gs6XjMA0GCSqGSIb3DQEB", - "CwUAA4IBAQDVH/Md9lCQWxbSbie5lPdPLB72F4831glHlaqms7kzAM6IhRjXmd0QTYq3Ey1J88KS", - "Df8A0HUZefhudnFaHmtxFv0SF5VdMUY14bJ9UsxJ5f4oP4CVh57fHK0w+EaKGGIw6TQEkL5L/+5Q", - "ZZAywKgPz67A3o+uk45aKpF3GaNWjGRWEPqcGkyQ0sIC2o7FUTV+MV1KHDRuBgreRCEpqMoY5XGX", - "e/IJc1EJLFDnsjIOQU1rrUzfM+WP/DigEQTPpkKWHJpouP+LLrGRj2ziYVbBDveP8KtHvLFsnexA", - "/TidjOOxChKSLT9LYFyQqsvUyCagBb4aLs009kbW6inN8zA6", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "MIIDYTCCAkmgAwIBAgIEFt4OQjANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJVSzEQMA4GA1UE", - "CBMHQnJpc3RvbDEQMA4GA1UEBxMHQnJpc3RvbDESMBAGA1UEChMJRm9yZ2VSb2NrMQswCQYDVQQL", - "EwJBTTENMAsGA1UEAxMEdGVzdDAeFw0xODA0MDMxNDIwNThaFw0yODAzMzExNDIwNThaMGExCzAJ", - "BgNVBAYTAlVLMRAwDgYDVQQIEwdCcmlzdG9sMRAwDgYDVQQHEwdCcmlzdG9sMRIwEAYDVQQKEwlG", - "b3JnZVJvY2sxCzAJBgNVBAsTAkFNMQ0wCwYDVQQDEwR0ZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOC", - "AQ8AMIIBCgKCAQEAi7t6m4d/02dZ8dOe+DFcuUYiOWueHlNkFwdUfOs06eUETOV6Y9WCXu3D71db", - "F0Fhou69ez5c3HAZrSVS2qC1Htw9NkVlLDeED7qwQQMmSr7RFYNQ6BYekAtn/ScFHpq8Tx4BzhcD", - "b6P0+PHCo+bkQedxwhbMD412KSM2UAVQaZ+TW+ngdaaVEs1Cgl4b8xxZ9ZuApXZfpddNdgvjBeeY", - "QbZnaqU3b0P5YE0s0YvIQqYmTjxh4RyLfkt6s/BS1obWUOC+0ChRWlpWE7QTEVEWJP5yt8hgZ5Me", - "cTmBi3yZ/0ts3NsL83413NdbWYh+ChtP696mZbJozflF8jR9pewTbQIDAQABoyEwHzAdBgNVHQ4E", - "FgQUDAvAglxsoXuEwI2NT1hFtVww2SUwDQYJKoZIhvcNAQELBQADggEBADiHqUwRlq1xdHP7S387", - "vMLOr+/OUgNvDUogeyrpdj5vFve/CBxSFlcoY215eE0xzj2+bQoe5To3s8CWkP9hqB3EdhaRBfCr", - "d8Vpvu8xBZcxQzmqwNjmeDrxNpKes717t05fDGgygUM8xIBs29JwRzHzf7e0ByJjn9fvlUjDAGZ7", - "emCTN382F2iOeLC2ibVl7dpmsWZTINhQRbmq5L4ztOcjITk5WZnBF439oRRn68fWZVkOv2UqaKbk", - "uMjgotNuot+ebHtOchEiwKz8VAK7O3/IgD6rfNBfz+c/WeoPcrfQBR4zfizw/ioR115RSywifzlw", - "q5yziqyU04eP4wLr3cM=", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " 128", - " ", - " ", " ", " ", " ", @@ -12718,134 +29587,176 @@ "01e1a3c0-038b-4c16-956a-6c9d89328cff": { "_id": "01e1a3c0-038b-4c16-956a-6c9d89328cff", "context": "AUTHENTICATION_TREE_DECISION_NODE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for a scripted decision node", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936730, "name": "Authentication Tree Decision Node Script", "script": "/*\n - Data made available by nodes that have already executed are available in the sharedState variable.\n - The script should set outcome to either \"true\" or \"false\".\n */\n\noutcome = \"true\";\n" }, + "046d1344-8ef1-4e67-8d2a-28fd9266f44e": { + "_id": "046d1344-8ef1-4e67-8d2a-28fd9266f44e", + "context": "SAML2_NAMEID_MAPPER", + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": 1748630811197, + "default": false, + "description": null, + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1748630957225, + "name": "Element NameID Mapper", + "script": "identity.getAttributeValues(\"uid\")[0];" + }, + "11e1a3c0-038b-4c16-956a-6c9d89328cff": { + "_id": "11e1a3c0-038b-4c16-956a-6c9d89328cff", + "context": "SCRIPTED_DECISION_NODE", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for a scripted decision node", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "Next Generation Scripted Decision Node Script", + "script": "/*\n * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved\n *\n * This code is to be used exclusively in connection with Ping Identity\n * Corporation software or services. Ping Identity Corporation only offers\n * such software or services to legal entities who have entered into a\n * binding license agreement with Ping Identity Corporation.\n */\n/*\n - Data made available by nodes that have already executed is available in the nodeState variable.\n - Use the action object to set the outcome of the node.\n */\n\naction.goTo(\"true\");" + }, + "11e1a3c0-038b-4c16-956a-6c9d89328d00": { + "_id": "11e1a3c0-038b-4c16-956a-6c9d89328d00", + "context": "DEVICE_MATCH_NODE", + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, + "default": true, + "description": "Default global script for a device match node", + "evaluatorVersion": "2.0", + "language": "JAVASCRIPT", + "lastModifiedBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "lastModifiedDate": 1433147666269, + "name": "Next Generation Device Match Node Script", + "script": "/*\n * Copyright 2024-2025 Ping Identity Corporation. All Rights Reserved\n *\n * This code is to be used exclusively in connection with Ping Identity\n * Corporation software or services. Ping Identity Corporation only offers\n * such software or services to legal entities who have entered into a\n * binding license agreement with Ping Identity Corporation.\n */\n/*\n - Data made available by nodes that have already executed is available in the nodeState variable.\n - Use the action object to set the outcome of the node.\n */\n\naction.goTo(\"true\");" + }, "1244e639-4a31-401d-ab61-d75133d8dc9e": { "_id": "1244e639-4a31-401d-ab61-d75133d8dc9e", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Normalizes raw profile data from Instagram", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936742, "name": "Instagram Profile Normalization", "script": "/*\n * Copyright 2020 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n */\n\nimport static org.forgerock.json.JsonValue.field\nimport static org.forgerock.json.JsonValue.json\nimport static org.forgerock.json.JsonValue.object\n\nreturn json(object(\n field(\"id\", rawProfile.id),\n field(\"username\", rawProfile.username)))\n" }, "13e3f263-9cd3-4844-8d1c-040fd0dd02eb": { "_id": "13e3f263-9cd3-4844-8d1c-040fd0dd02eb", "context": "AUTHENTICATION_TREE_DECISION_NODE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script template for Device Profile Match decision node script for Authentication Tree", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936757, "name": "Device Profile Match Template - Decision Node Script", "script": "/*\n * Copyright 2020-2022 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n */\n\n/** ******************************************************************\n *\n * The following script is a simplified template for understanding\n * the basics of device matching. _This is not functionally complete._\n * For a functionally complete script as well as a development toolkit,\n * visit https://github.com/ForgeRock/forgerock-device-match-script.\n *\n * Global node variables accessible within this scope:\n * 1. `sharedState` provides access to incoming request\n * 2. `deviceProfilesDao` provides access to stored profiles\n * 3. `outcome` variable maps to auth tree node outcomes; values are\n * 'true', 'false', or 'unknownDevice' (notice _all_ are strings).\n * ******************************************************************/\n\n/**\n * Get the incoming request's device profile.\n * Returns serialized JSON (type string); parsing this will result a\n * native JS object.\n */\nvar incomingJson = sharedState.get('forgeRock.device.profile').toString();\nvar incoming = JSON.parse(incomingJson);\n\n/**\n * Get the incoming user's username and realm.\n * Notice the use of `.asString()`.\n */\nvar username = sharedState.get(\"username\").asString();\nvar realm = sharedState.get(\"realm\").asString();\n\n/**\n * Get the user's stored profiles for appropriate realm.\n * Returns a _special_ object with methods for profile data\n */\nvar storedProfiles = deviceProfilesDao.getDeviceProfiles(username, realm);\n\n// Default to `outcome` of 'unknownDevice'\noutcome = 'unknownDevice';\n\nif (storedProfiles) {\n var i = 0;\n // NOTE: `.size()` method returns the number of stored profiles\n var len = storedProfiles.size();\n\n for (i; i < len; i++) {\n /**\n * Get the stored profile.\n * Returns serialized JSON (type string); parsing this will result\n * a native JS object.\n */\n var storedJson = storedProfiles.get(i);\n var stored = JSON.parse(storedJson);\n\n /**\n * Find a stored profile with the same identifier.\n */\n if (incoming.identifier === stored.identifier) {\n\n /**\n * Now that you've found the appropriate profile, you will perform\n * the logic here to match the values of the `incoming` profile\n * with that of the `stored` profile.\n *\n * The result of the matching logic is assigned to `outcome`. Since\n * we have profiles of the same identifier, the value (type string)\n * should now be either 'true' or 'false' (properties matched or not).\n *\n * For more information about this topic, visit this Github repo:\n * https://github.com/ForgeRock/forgerock-device-match-script\n */\n outcome = 'false';\n }\n }\n}\n" }, "157298c0-7d31-4059-a95b-eeb08473b7e5": { "_id": "157298c0-7d31-4059-a95b-eeb08473b7e5", "context": "AUTHENTICATION_CLIENT_SIDE", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for client side Device Id (Match) Authentication Module", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936771, "name": "Device Id (Match) - Client Side", "script": "var fontDetector = (function () {\n /**\n * JavaScript code to detect available availability of a\n * particular font in a browser using JavaScript and CSS.\n *\n * Author : Lalit Patel\n * Website: http://www.lalit.org/lab/javascript-css-font-detect/\n * License: Apache Software License 2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n * Version: 0.15 (21 Sep 2009)\n * Changed comparision font to default from sans-default-default,\n * as in FF3.0 font of child element didn't fallback\n * to parent element if the font is missing.\n * Version: 0.2 (04 Mar 2012)\n * Comparing font against all the 3 generic font families ie,\n * 'monospace', 'sans-serif' and 'sans'. If it doesn't match all 3\n * then that font is 100% not available in the system\n * Version: 0.3 (24 Mar 2012)\n * Replaced sans with serif in the list of baseFonts\n */\n /*\n * Portions Copyrighted 2013 ForgeRock AS.\n */\n var detector = {}, baseFonts, testString, testSize, h, s, defaultWidth = {}, defaultHeight = {}, index;\n\n // a font will be compared against all the three default fonts.\n // and if it doesn't match all 3 then that font is not available.\n baseFonts = ['monospace', 'sans-serif', 'serif'];\n\n //we use m or w because these two characters take up the maximum width.\n // And we use a LLi so that the same matching fonts can get separated\n testString = \"mmmmmmmmmmlli\";\n\n //we test using 72px font size, we may use any size. I guess larger the better.\n testSize = '72px';\n\n h = document.getElementsByTagName(\"body\")[0];\n\n // create a SPAN in the document to get the width of the text we use to test\n s = document.createElement(\"span\");\n s.style.fontSize = testSize;\n s.innerHTML = testString;\n for (index in baseFonts) {\n //get the default width for the three base fonts\n s.style.fontFamily = baseFonts[index];\n h.appendChild(s);\n defaultWidth[baseFonts[index]] = s.offsetWidth; //width for the default font\n defaultHeight[baseFonts[index]] = s.offsetHeight; //height for the defualt font\n h.removeChild(s);\n }\n\n detector.detect = function(font) {\n var detected = false, index, matched;\n for (index in baseFonts) {\n s.style.fontFamily = font + ',' + baseFonts[index]; // name of the font along with the base font for fallback.\n h.appendChild(s);\n matched = (s.offsetWidth !== defaultWidth[baseFonts[index]] || s.offsetHeight !== defaultHeight[baseFonts[index]]);\n h.removeChild(s);\n detected = detected || matched;\n }\n return detected;\n };\n\n return detector;\n}());\n/*\n * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.\n *\n * Copyright (c) 2009 Sun Microsystems Inc. All Rights Reserved\n *\n * The contents of this file are subject to the terms\n * of the Common Development and Distribution License\n * (the License). You may not use this file except in\n * compliance with the License.\n *\n * You can obtain a copy of the License at\n * https://opensso.dev.java.net/public/CDDLv1.0.html or\n * opensso/legal/CDDLv1.0.txt\n * See the License for the specific language governing\n * permission and limitations under the License.\n *\n * When distributing Covered Code, include this CDDL\n * Header Notice in each file and include the License file\n * at opensso/legal/CDDLv1.0.txt.\n * If applicable, add the following below the CDDL Header,\n * with the fields enclosed by brackets [] replaced by\n * your own identifying information:\n * \"Portions Copyrighted [year] [name of copyright owner]\"\n *\n */\n/*\n * Portions Copyrighted 2013 Syntegrity.\n * Portions Copyrighted 2013-2014 ForgeRock AS.\n */\n\nvar collectScreenInfo = function () {\n var screenInfo = {};\n if (screen) {\n if (screen.width) {\n screenInfo.screenWidth = screen.width;\n }\n\n if (screen.height) {\n screenInfo.screenHeight = screen.height;\n }\n\n if (screen.pixelDepth) {\n screenInfo.screenColourDepth = screen.pixelDepth;\n }\n } else {\n console.warn(\"Cannot collect screen information. screen is not defined.\");\n }\n return screenInfo;\n },\n collectTimezoneInfo = function () {\n var timezoneInfo = {}, offset = new Date().getTimezoneOffset();\n\n if (offset) {\n timezoneInfo.timezone = offset;\n } else {\n console.warn(\"Cannot collect timezone information. timezone is not defined.\");\n }\n\n return timezoneInfo;\n },\n collectBrowserPluginsInfo = function () {\n\n if (navigator && navigator.plugins) {\n var pluginsInfo = {}, i, plugins = navigator.plugins;\n pluginsInfo.installedPlugins = \"\";\n\n for (i = 0; i < plugins.length; i++) {\n pluginsInfo.installedPlugins = pluginsInfo.installedPlugins + plugins[i].filename + \";\";\n }\n\n return pluginsInfo;\n } else {\n console.warn(\"Cannot collect browser plugin information. navigator.plugins is not defined.\");\n return {};\n }\n\n },\n// Getting geolocation takes some time and is done asynchronously, hence need a callback which is called once geolocation is retrieved.\n collectGeolocationInfo = function (callback) {\n var geolocationInfo = {},\n successCallback = function(position) {\n geolocationInfo.longitude = position.coords.longitude;\n geolocationInfo.latitude = position.coords.latitude;\n callback(geolocationInfo);\n }, errorCallback = function(error) {\n console.warn(\"Cannot collect geolocation information. \" + error.code + \": \" + error.message);\n callback(geolocationInfo);\n };\n if (navigator && navigator.geolocation) {\n // NB: If user chooses 'Not now' on Firefox neither callback gets called\n // https://bugzilla.mozilla.org/show_bug.cgi?id=675533\n navigator.geolocation.getCurrentPosition(successCallback, errorCallback);\n } else {\n console.warn(\"Cannot collect geolocation information. navigator.geolocation is not defined.\");\n callback(geolocationInfo);\n }\n },\n collectBrowserFontsInfo = function () {\n var fontsInfo = {}, i, fontsList = [\"cursive\",\"monospace\",\"serif\",\"sans-serif\",\"fantasy\",\"default\",\"Arial\",\"Arial Black\",\n \"Arial Narrow\",\"Arial Rounded MT Bold\",\"Bookman Old Style\",\"Bradley Hand ITC\",\"Century\",\"Century Gothic\",\n \"Comic Sans MS\",\"Courier\",\"Courier New\",\"Georgia\",\"Gentium\",\"Impact\",\"King\",\"Lucida Console\",\"Lalit\",\n \"Modena\",\"Monotype Corsiva\",\"Papyrus\",\"Tahoma\",\"TeX\",\"Times\",\"Times New Roman\",\"Trebuchet MS\",\"Verdana\",\n \"Verona\"];\n fontsInfo.installedFonts = \"\";\n\n for (i = 0; i < fontsList.length; i++) {\n if (fontDetector.detect(fontsList[i])) {\n fontsInfo.installedFonts = fontsInfo.installedFonts + fontsList[i] + \";\";\n }\n }\n return fontsInfo;\n },\n devicePrint = {};\n\ndevicePrint.screen = collectScreenInfo();\ndevicePrint.timezone = collectTimezoneInfo();\ndevicePrint.plugins = collectBrowserPluginsInfo();\ndevicePrint.fonts = collectBrowserFontsInfo();\n\nif (navigator.userAgent) {\n devicePrint.userAgent = navigator.userAgent;\n}\nif (navigator.appName) {\n devicePrint.appName = navigator.appName;\n}\nif (navigator.appCodeName) {\n devicePrint.appCodeName = navigator.appCodeName;\n}\nif (navigator.appVersion) {\n devicePrint.appVersion = navigator.appVersion;\n}\nif (navigator.appMinorVersion) {\n devicePrint.appMinorVersion = navigator.appMinorVersion;\n}\nif (navigator.buildID) {\n devicePrint.buildID = navigator.buildID;\n}\nif (navigator.platform) {\n devicePrint.platform = navigator.platform;\n}\nif (navigator.cpuClass) {\n devicePrint.cpuClass = navigator.cpuClass;\n}\nif (navigator.oscpu) {\n devicePrint.oscpu = navigator.oscpu;\n}\nif (navigator.product) {\n devicePrint.product = navigator.product;\n}\nif (navigator.productSub) {\n devicePrint.productSub = navigator.productSub;\n}\nif (navigator.vendor) {\n devicePrint.vendor = navigator.vendor;\n}\nif (navigator.vendorSub) {\n devicePrint.vendorSub = navigator.vendorSub;\n}\nif (navigator.language) {\n devicePrint.language = navigator.language;\n}\nif (navigator.userLanguage) {\n devicePrint.userLanguage = navigator.userLanguage;\n}\nif (navigator.browserLanguage) {\n devicePrint.browserLanguage = navigator.browserLanguage;\n}\nif (navigator.systemLanguage) {\n devicePrint.systemLanguage = navigator.systemLanguage;\n}\n\n// Attempt to collect geo-location information and return this with the data collected so far.\n// Otherwise, if geo-location fails or takes longer than 30 seconds, auto-submit the data collected so far.\nautoSubmitDelay = 30000;\noutput.value = JSON.stringify(devicePrint);\ncollectGeolocationInfo(function(geolocationInfo) {\n devicePrint.geolocation = geolocationInfo;\n output.value = JSON.stringify(devicePrint);\n submit();\n});\n" }, "1817cc25-fc84-4053-8f91-4ef130616e25": { "_id": "1817cc25-fc84-4053-8f91-4ef130616e25", "context": "OIDC_CLAIMS", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=amadmin,ou=user,ou=am-config", + "creationDate": 1752525913030, "default": false, "description": "null", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752533573719, "name": "Legacy", "script": "/*\n * Copyright 2014-2020 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n */\nimport com.iplanet.sso.SSOException\nimport com.sun.identity.idm.IdRepoException\nimport org.forgerock.oauth2.core.exceptions.InvalidRequestException\nimport org.forgerock.oauth2.core.UserInfoClaims\nimport org.forgerock.openidconnect.Claim\n\n/*\n* Defined variables:\n* logger - always presents, the \"OAuth2Provider\" debug logger instance\n* claims - always present, default server provided claims - Map\n* claimObjects - always present, default server provided claims - List\n* session - present if the request contains the session cookie, the user's session object\n* identity - always present, the identity of the resource owner\n* scopes - always present, the requested scopes\n* scriptName - always present, the display name of the script\n* requestProperties - always present, contains a map of request properties:\n* requestUri - the request URI\n* realm - the realm that the request relates to\n* requestParams - a map of the request params and/or posted data. Each value is a list of one or\n* more properties. Please note that these should be handled in accordance with OWASP best practices.\n* clientProperties - present if the client specified in the request was identified, contains a map of client\n* properties:\n* clientId - the client's Uri for the request locale\n* allowedGrantTypes - list of the allowed grant types (org.forgerock.oauth2.core.GrantType)\n* for the client\n* allowedResponseTypes - list of the allowed response types for the client\n* allowedScopes - list of the allowed scopes for the client\n* customProperties - A map of the custom properties of the client.\n* Lists or maps will be included as sub-maps, e.g:\n* testMap[Key1]=Value1 will be returned as testmap -> Key1 -> Value1\n* requestedClaims - Map>\n* always present, not empty if the request contains a claims parameter and server has enabled\n* claims_parameter_supported, map of requested claims to possible values, otherwise empty,\n* requested claims with no requested values will have a key but no value in the map. A key with\n* a single value in its Set indicates this is the only value that should be returned.\n* requestedTypedClaims - List\n* always present, not empty if the request contains a claims parameter and server has enabled\n* claims_parameter_supported, list of requested claims with claim name, requested possible values\n* and if claim is essential, otherwise empty,\n* requested claims with no requested values will have a claim with no values. A claims with\n* a single value indicates this is the only value that should be returned.\n* claimsLocales - the values from the 'claims_locales' parameter - List\n* Required to return a Map of claims to be added to the id_token claims\n*\n* Expected return value structure:\n* UserInfoClaims {\n* Map values; // The values of the claims for the user information\n* Map> compositeScopes; // Mapping of scope name to a list of claim names.\n* }\n*/\n\n// user session not guaranteed to be present\nboolean sessionPresent = session != null\n\n/*\n * Pulls first value from users profile attribute\n *\n * @param claim The claim object.\n * @param attr The profile attribute name.\n */\ndef fromSet = { claim, attr ->\n if (attr != null && attr.size() == 1){\n attr.iterator().next()\n } else if (attr != null && attr.size() > 1){\n attr\n } else if (logger.warningEnabled()) {\n logger.warning(\"OpenAMScopeValidator.getUserInfo(): Got an empty result for claim=$claim\");\n }\n}\n\n// ---vvvvvvvvvv--- EXAMPLE CLAIM ATTRIBUTE RESOLVER FUNCTIONS ---vvvvvvvvvv---\n/*\n * Claim resolver which resolves the value of the claim from its requested values.\n *\n * This resolver will return a value if the claim has one requested values, otherwise an exception is thrown.\n */\ndefaultClaimResolver = { claim ->\n if (claim.getValues().size() == 1) {\n [(claim.getName()): claim.getValues().iterator().next()]\n } else {\n [:]\n }\n}\n\n/*\n * Claim resolver which resolves the value of the claim by looking up the user's profile.\n *\n * This resolver will return a value for the claim if:\n * # the user's profile attribute is not null\n * # AND the claim contains no requested values\n * # OR the claim contains requested values and the value from the user's profile is in the list of values\n *\n * If no match is found an exception is thrown.\n */\nuserProfileClaimResolver = { attribute, claim, identity ->\n if (identity != null) {\n userProfileValue = fromSet(claim.getName(), identity.getAttribute(attribute))\n if (userProfileValue != null && (claim.getValues() == null || claim.getValues().isEmpty() || claim.getValues().contains(userProfileValue))) {\n return [(claim.getName()): userProfileValue]\n }\n }\n [:]\n}\n\n/*\n * Claim resolver which resolves the value of the claim of the user's address.\n *\n * This resolver will return a value for the claim if:\n * # the value of the address is not null\n *\n */\nuserAddressClaimResolver = { claim, identity ->\n if (identity != null) {\n addressFormattedValue = fromSet(claim.getName(), identity.getAttribute(\"postaladdress\"))\n if (addressFormattedValue != null) {\n return [\n \"formatted\" : addressFormattedValue\n ]\n }\n }\n [:]\n}\n\n/*\n * Claim resolver which resolves the value of the claim by looking up the user's profile.\n *\n * This resolver will return a value for the claim if:\n * # the user's profile attribute is not null\n * # AND the claim contains no requested values\n * # OR the claim contains requested values and the value from the user's profile is in the list of values\n *\n * If the claim is essential and no value is found an InvalidRequestException will be thrown and returned to the user.\n * If no match is found an exception is thrown.\n */\nessentialClaimResolver = { attribute, claim, identity ->\n if (identity != null) {\n userProfileValue = fromSet(claim.getName(), identity.getAttribute(attribute))\n if (claim.isEssential() && (userProfileValue == null || userProfileValue.isEmpty())) {\n throw new InvalidRequestException(\"Could not provide value for essential claim $claim\")\n }\n if (userProfileValue != null && (claim.getValues() == null || claim.getValues().isEmpty() || claim.getValues().contains(userProfileValue))) {\n return [(claim.getName()): userProfileValue]\n }\n }\n return [:]\n}\n\n/*\n * Claim resolver which expects the user's profile attribute value to be in the following format:\n * \"language_tag|value_for_language,...\".\n *\n * This resolver will take the list of requested languages from the 'claims_locales' authorize request\n * parameter and attempt to match it to a value from the users' profile attribute.\n * If no match is found an exception is thrown.\n */\nclaimLocalesClaimResolver = { attribute, claim, identity ->\n if (identity != null) {\n userProfileValue = fromSet(claim.getName(), identity.getAttribute(attribute))\n if (userProfileValue != null) {\n localeValues = parseLocaleAwareString(userProfileValue)\n locale = claimsLocales.find { locale -> localeValues.containsKey(locale) }\n if (locale != null) {\n return [(claim.getName()): localeValues.get(locale)]\n }\n }\n }\n return [:]\n}\n\n/*\n * Claim resolver which expects the user's profile attribute value to be in the following format:\n * \"language_tag|value_for_language,...\".\n *\n * This resolver will take the language tag specified in the claim object and attempt to match it to a value\n * from the users' profile attribute. If no match is found an exception is thrown.\n */\nlanguageTagClaimResolver = { attribute, claim, identity ->\n if (identity != null) {\n userProfileValue = fromSet(claim.getName(), identity.getAttribute(attribute))\n if (userProfileValue != null) {\n localeValues = parseLocaleAwareString(userProfileValue)\n if (claim.getLocale() != null) {\n if (localeValues.containsKey(claim.getLocale())) {\n return [(claim.getName()): localeValues.get(claim.getLocale())]\n } else {\n entry = localeValues.entrySet().iterator().next()\n return [(claim.getName() + \"#\" + entry.getKey()): entry.getValue()]\n }\n } else {\n entry = localeValues.entrySet().iterator().next()\n return [(claim.getName()): entry.getValue()]\n }\n }\n }\n return [:]\n}\n\n/*\n * Given a string \"en|English,jp|Japenese,fr_CA|French Canadian\" will return map of locale -> value.\n */\nparseLocaleAwareString = { s ->\n return result = s.split(\",\").collectEntries { entry ->\n split = entry.split(\"\\\\|\")\n [(split[0]): value = split[1]]\n }\n}\n// ---^^^^^^^^^^--- EXAMPLE CLAIM ATTRIBUTE RESOLVER FUNCTIONS ---^^^^^^^^^^---\n\n// -------------- UPDATE THIS TO CHANGE CLAIM TO ATTRIBUTE MAPPING FUNCTIONS ---------------\n/*\n * List of claim resolver mappings.\n */\n// [ {claim}: {attribute retriever}, ... ]\nclaimAttributes = [\n \"email\": userProfileClaimResolver.curry(\"mail\"),\n \"address\": { claim, identity -> [ \"address\" : userAddressClaimResolver(claim, identity) ] },\n \"phone_number\": userProfileClaimResolver.curry(\"telephonenumber\"),\n \"given_name\": userProfileClaimResolver.curry(\"givenname\"),\n \"zoneinfo\": userProfileClaimResolver.curry(\"preferredtimezone\"),\n \"family_name\": userProfileClaimResolver.curry(\"sn\"),\n \"locale\": userProfileClaimResolver.curry(\"preferredlocale\"),\n \"name\": userProfileClaimResolver.curry(\"cn\")\n]\n\n\n// -------------- UPDATE THIS TO CHANGE SCOPE TO CLAIM MAPPINGS --------------\n/*\n * Map of scopes to claim objects.\n */\n// {scope}: [ {claim}, ... ]\nscopeClaimsMap = [\n \"email\": [ \"email\" ],\n \"address\": [ \"address\" ],\n \"phone\": [ \"phone_number\" ],\n \"profile\": [ \"given_name\", \"zoneinfo\", \"family_name\", \"locale\", \"name\" ]\n]\n\n\n// ---------------- UPDATE BELOW FOR ADVANCED USAGES -------------------\nif (logger.messageEnabled()) {\n scopes.findAll { s -> !(\"openid\".equals(s) || scopeClaimsMap.containsKey(s)) }.each { s ->\n logger.message(\"OpenAMScopeValidator.getUserInfo()::Message: scope not bound to claims: $s\")\n }\n}\n\n/*\n * Computes the claims return key and value. The key may be a different value if the claim value is not in\n * the requested language.\n */\ndef computeClaim = { claim ->\n try {\n claimResolver = claimAttributes.get(claim.getName(), { claimObj, identity -> defaultClaimResolver(claim)})\n claimResolver(claim, identity)\n } catch (IdRepoException e) {\n if (logger.warningEnabled()) {\n logger.warning(\"OpenAMScopeValidator.getUserInfo(): Unable to retrieve attribute=$attribute\", e);\n }\n } catch (SSOException e) {\n if (logger.warningEnabled()) {\n logger.warning(\"OpenAMScopeValidator.getUserInfo(): Unable to retrieve attribute=$attribute\", e);\n }\n }\n}\n\n/*\n * Converts requested scopes into claim objects based on the scope mappings in scopeClaimsMap.\n */\ndef convertScopeToClaims = {\n scopes.findAll { scope -> \"openid\" != scope && scopeClaimsMap.containsKey(scope) }.collectMany { scope ->\n scopeClaimsMap.get(scope).collect { claim ->\n new Claim(claim)\n }\n }\n}\n\n// Creates a full list of claims to resolve from requested scopes, claims provided by AS and requested claims\ndef claimsToResolve = convertScopeToClaims() + claimObjects + requestedTypedClaims\n\n// Computes the claim return key and values for all requested claims\ncomputedClaims = claimsToResolve.collectEntries() { claim ->\n result = computeClaim(claim)\n}\n\n// Computes composite scopes\ndef compositeScopes = scopeClaimsMap.findAll { scope ->\n scopes.contains(scope.key)\n}\n\nreturn new UserInfoClaims((Map)computedClaims, (Map)compositeScopes)\n" }, "1d475815-72cb-42eb-aafd-4026989d28a7": { "_id": "1d475815-72cb-42eb-aafd-4026989d28a7", "context": "SOCIAL_IDP_PROFILE_TRANSFORMATION", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for Social Identity Provider Profile Transformation", "evaluatorVersion": "1.0", "language": "GROOVY", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936785, "name": "Social Identity Provider Profile Transformation Script", "script": "/*\n * Copyright 2020 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n */\n\n/* Default Social Identity Provider Profile Transformation script to use as a template for new scripts */\n" }, "248b8a56-df81-4b1b-b4ba-45d994f6504c": { "_id": "248b8a56-df81-4b1b-b4ba-45d994f6504c", "context": "SAML2_IDP_ADAPTER", - "createdBy": "null", - "creationDate": 0, + "createdBy": "id=dsameuser,ou=user,dc=openam,dc=forgerock,dc=org", + "creationDate": 1433147666269, "default": true, "description": "Default global script for SAML2 IDP Adapter", "evaluatorVersion": "1.0", "language": "JAVASCRIPT", - "lastModifiedBy": "null", - "lastModifiedDate": 0, + "lastModifiedBy": "id=amadmin,ou=user,ou=am-config", + "lastModifiedDate": 1752525936797, "name": "SAML2 IDP Adapter Script", "script": "/*\n * Copyright 2021-2023 ForgeRock AS. All Rights Reserved\n *\n * Use of this code requires a commercial software license with ForgeRock AS.\n * or with one of its affiliates. All use shall be exclusively subject\n * to such license between the licensee and ForgeRock AS.\n */\n\n/*\n * The script has these top level functions that could be executed during a SAML2 flow.\n * - preSingleSignOn\n * - preAuthentication\n * - preSendResponse\n * - preSignResponse\n * - preSendFailureResponse\n *\n * Please see the javadoc for the interface definition and more information about these methods.\n * https://backstage.forgerock.com/docs/am/7.3/_attachments/apidocs/com/sun/identity/saml2/plugins/SAML2IdentityProviderAdapter.html\n * Note that the initialize method is not supported in the scripts.\n *\n * Defined variables. Check the documentation on the respective functions for the variables available to it.\n *\n * hostedEntityId - String\n * Entity ID for the hosted IDP\n * realm - String\n * Realm of the hosted IDP\n * idpAdapterScriptHelper - IdpAdapterScriptHelper (1)\n * An instance of IdpAdapterScriptHelper containing helper methods. See Javadoc for more details.\n * request - HttpServletRequest (2)\n * Servlet request object\n * response - HttpServletResponse (3)\n * Servlet response object\n * authnRequest - AuthnRequest (4)\n * The original authentication request sent from SP\n * reqId - String\n * The id to use for continuation of processing if the adapter redirects\n * res - Response (5)\n * The SAML Response\n * session - SSOToken (6)\n * The single sign-on session. The reference type of this is Object and would need to be casted to SSOToken.\n * relayState - String\n * The relayState that will be used in the redirect\n * faultCode - String\n * the fault code that will be returned in the SAML response\n * faultDetail - String\n * the fault detail that will be returned in the SAML response\n * logger - Logger instance\n * https://backstage.forgerock.com/docs/am/7.3/scripting-guide/scripting-api-global-logger.html.\n * Corresponding log files will be prefixed with: scripts.