Web Policy Agents 5.9.1

Properties Reference

This reference covers agent configuration properties.

When you create the agent profile, you choose whether to store the agent configuration in AM’s configuration store or locally to the agent installation. The local configuration file syntax is the same as of a standard Java properties file.

Property Aliases

A property alias specifies a path for a property. One property can have an unlimited number of aliases, however, an alias must be unique.

Aliases starting with org.forgerock follow a naming convention to provide information about the property.

When a property has multiple aliases, the agent evaluates the aliases in alphabetical order. If the aliases each specify a different value for the property, the agent assigns the value specified by the first alias in the alphabetical order, and then propagates that value to the other aliases.

The following example assigns different values to a property with three aliases:

com.sun.identity.agents.app.username=AGENT3
com.sun.identity.agents.config.profilename=AGENT1
org.forgerock.agents.profile.name=AGENT2
properties

The agent evaluates com.sun.identity.agents.app.username first, and propagates that value to the other aliases, resulting in this:

com.sun.identity.agents.app.username=AGENT3
com.sun.identity.agents.config.profilename=AGENT3
org.forgerock.agents.profile.name=AGENT3
properties

Property Files

The agent searches for local property files in a location defined by a property added to JAVA_OPTS.

In Tomcat, the agent can take the file location from bin/setenv.sh as follows:

JAVA_OPTS="$JAVA_OPTS -Dopenam.agents.bootstrap.dir=/path/to/agents/agent/agent_instance/config"
bash

Properties by Function

The agent configurations support properties that have the following functions.

Anonymous User

Fragment Redirect

Goto Parameter

Microsoft IIS server

Advice Handling

Composite Advice Encode

A flag for whether to based64 URL-encode composite advices before sending them to custom login endpoints:

true: Advices are encoded to increase the security, and protect against cross-site scripting attacks.

false: Advices are not encoded

This property requires AM 6.0.1, 6.5.3, and later versions

Not available in the console for AM 6.0.x.

Default: false

Property name

com.forgerock.agents.advice.b64.url.encode

Property aliases

com.forgerock.agents.advice.b64.url.encode (since 5.7)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Composite Advice Handling

When true, the agent sends composite advice in the query (GET request) instead of sending it through a POST request.

Not available in the console for AM 6.0.x.

Default: false

Property name

com.sun.am.use_redirect_for_advice

Property aliases

com.sun.am.use_redirect_for_advice (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Anonymous User

Anonymous User

Enable or disable REMOTE_USER processing for anonymous users.

Default: false

Property name

com.sun.identity.agents.config.anonymous.user.enable

Property aliases

com.sun.identity.agents.config.anonymous.user.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Attribute Processing

Attribute Multi-Value Separator

Separator for multiple values. Applies to all types of attributes, such as profile, session, and response attributes.

Default: |

Property name

com.sun.identity.agents.config.attribute.multi.value.separator

Property aliases

com.sun.identity.agents.config.attribute.multi.value.separator (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Profile Attribute Fetch Mode

When set to HTTP_COOKIE or HTTP_HEADER, profile attributes are introduced into the cookie or the headers, respectively.

Default: NONE

Property name

com.sun.identity.agents.config.profile.attribute.fetch.mode

Property aliases

com.sun.identity.agents.config.profile.attribute.fetch.mode (since 4.x)

Type

Constrained Values: "http_header", "http_cookie", "none"

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Session Attribute Map

Map of session attribute to HTTP headers:

  • Map key: Session attribute for the currently authenticated user

  • Map value: One or more HTTP header names

To map the value of the session attribute UserToken to the HTTP header CUSTOM-userid, configure com.sun.identity.agents.config.session.attribute.mapping[UserToken]=CUSTOM-userid.

In most cases, in a destination application where an HTTP header name shows up as a request header, it is prefixed by HTTP_, lower case letters become upper case, and hyphens (-) become underscores (_). For example, CUSTOM-userid becomes HTTP_CUSTOM-USERID.

Format: session attribute = HEADER_NAME(S)

Example: [UserToken]=HEADER1|HEADER2

Default: Empty

Property name

com.sun.identity.agents.config.session.attribute.mapping

Property aliases

com.sun.identity.agents.config.session.attribute.mapping (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Response Attribute Map

Maps a policy response attribute to one or more HTTP headers for the authenticated user:

  • Key: Policy response attribute

  • Value: One or more HTTP headers

To populate the value of response attribute uid under CUSTOM-User-Name, enter uid in the key field, and CUSTOM-User-Name in the corresponding value field, com.sun.identity.agents.config.response.attribute.mapping[uid]=Custom-User-Name.

In most cases, in a destination application where an HTTP header name shows up as a request header, it is prefixed by HTTP_, lower case letters become upper case, and hyphens (-) become underscores (_). For example, CUSTOM-userid becomes HTTP_CUSTOM-USERID.

Format: response attribute = HEADER_NAME(S)

Example: [uid]=HEADER1|HEADER2

Default: Empty

Property name

com.sun.identity.agents.config.response.attribute.mapping

Property aliases

com.sun.identity.agents.config.response.attribute.mapping (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Response Attribute Fetch Mode

When set to HTTP_COOKIE or HTTP_HEADER, response attributes are introduced into the cookie or the headers, respectively.

Default: NONE

Property name

com.sun.identity.agents.config.response.attribute.fetch.mode

Property aliases

com.sun.identity.agents.config.response.attribute.fetch.mode (since 4.x)

Type

Constrained Values: "http_header", "http_cookie", "none"

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Session Attribute Fetch Mode

When set to HTTP_COOKIE or HTTP_HEADER, session attributes are introduced into the cookie or the headers, respectively.

Default: NONE

Property name

com.sun.identity.agents.config.session.attribute.fetch.mode

Property aliases

com.sun.identity.agents.config.session.attribute.fetch.mode (since 4.x)

Type

Constrained Values: "http_header", "http_cookie", "none"

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Profile Attribute Map

Maps a profile attribute to one or more HTTP headers for the authenticated user:

  • Key: LDAP attribute name, whose case must exactly match the identity store schema

  • Value: One or more HTTP header names

To populate the value of profile attribute CN under CUSTOM-Common-Name, configure com.sun.identity.agents.config.profile.attribute.mapping[CN]=CUSTOM-Common-Name.

Make sure the case of your LDAP attribute name matches the case of the LDAP schema, otherwise you may see an error similar to the following: do_header_set(): SM_LOGIN (UiD) is not available in profile attributes

In most cases, in a destination application where an HTTP header name shows up as a request header, it is prefixed by HTTP_, lower case letters become upper case, and hyphens (-) become underscores (_). For example, CUSTOM-userid becomes HTTP_CUSTOM-USERID.

Format: profile attribute = HEADER_NAME(S)

Example: [CN]=HEADER1|HEADER2

Default: Empty

Property name

com.sun.identity.agents.config.profile.attribute.mapping

Property aliases

com.sun.identity.agents.config.profile.attribute.mapping (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Audit

Local Audit Log Rotation Size

The maximum size in bytes of the local audit log files. The agent rotates audit log files when they reach this size, and stores rotated files with a timestamp.

Default: 52428800

Property name

com.sun.identity.agents.config.local.log.size

Property aliases

com.sun.identity.agents.config.local.log.size (since 4.x)

Type

Integer

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Global (Available in the console from AM 7.1)

Audit Access Types

The type of audit events to log:

  • LOG_NONE: Disable audit logging.

  • LOG_ALLOW: Log access allowed events.

  • LOG_DENY: Log access denied events.

  • LOG_BOTH: Log access allowed and access denied events.

Default: LOG_NONE

Property name

com.sun.identity.agents.config.audit.accesstype

Property aliases

com.sun.identity.agents.config.audit.accesstype (since 4.x)

Type

Constrained Values: "local", "remote", "both"

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Rotate Local Audit Log (deprecated)

When true, enable rotation of local audit log files.

Use Local Audit Log Rotation Size as an alternative to this deprecated property.

Default: true

Property name

com.sun.identity.agents.config.local.log.rotate

Property aliases

com.sun.identity.agents.config.local.log.rotate (since 4.x)

Type

Unused

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global (Available in the console from AM 7.1)

Audit Log Location

The location where the agent logs audit messages:

  • REMOTE: Log audit event messages to the audit event handler configured in the AM realm where the web agent is configured.

  • LOCAL: Log audit event messages locally to the agent installation.

  • ALL: Log audit event messages to the audit event handler configured in the AM realm and locally to the agent installation.

Default: REMOTE

Property name

com.sun.identity.agents.config.log.disposition

Property aliases

com.sun.identity.agents.config.log.disposition (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Local Agent Audit File Name

If log location is LOCAL or ALL, this property gives the name of the local file that contains agent audit messages.

Default: /web_agents/agent_type/instances/agent_nnn/logs/audit/audit.log

Property name

com.sun.identity.agents.config.local.audit.logfile

Property aliases

com.sun.identity.agents.config.local.audit.logfile (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Global (Available in the console from AM 7.1)

Client Identification

Client Hostname Header

Name of the HTTP header that holds the hostname of the client.

Default: Empty

Property name

com.sun.identity.agents.config.client.hostname.header

Property aliases

com.sun.identity.agents.config.client.hostname.header (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

Client IP Address Header

Name of the HTTP header that holds the IP address of the client.

Default: Empty

Property name

com.sun.identity.agents.config.client.ip.header

Property aliases

com.sun.identity.agents.config.client.ip.header (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

Continuous Security

Map of cookie values to entries in the environmental conditions map, used during policy evaluation:

  • Map key: Cookie name in the inbound request

  • Map value: Name of the entry in the environmental conditions map that contains the value of cookie_name

This property has the format [cookie_name]=map_entry_name, where:

Example:

org.forgerock.openam.agents.config.continuous.security.cookies[trackingcookie1]=myCookieEntry

Default: Empty

Property name

org.forgerock.openam.agents.config.continuous.security.cookies

Property aliases

org.forgerock.openam.agents.config.continuous.security.cookies (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Continuous Security Header Map

Map of header values to entries in the environmental conditions map, used during policy evaluation:

  • Map key: Header name in the inbound request

  • Map value: Name of the entry in the environmental conditions map that contains the value of header_name

Example:

org.forgerock.openam.agents.config.continuous.security.headers[User-Agent]=myUserAgentHeaderEntry

Default: Empty

Property name

org.forgerock.openam.agents.config.continuous.security.headers

Property aliases

org.forgerock.openam.agents.config.continuous.security.headers (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Cookies

Accept SSO Token

A flag for whether the agent accepts SSO tokens and ID tokens as session cookies:

  • 0. The agent does not accept SSO tokens as session cookies.

  • 1. The agent accepts both SSO tokens and ID tokens as session tokens during the login flow, and afterwards. SSO tokens are not converted to ID tokens. Set this property to 1 only for environments migrating from earlier versions of the agent, in the following scenarios:

    • Your custom login pages use SSO tokens as session tokens, and Enable Custom Login Mode is set to 2.

    • Your applications, for example, REST or JavaScript clients, can only set SSO tokens.

The SSO token name is given by Cookie Name.

If the agent receives a request with both an SSO token and an ID token, it checks the ID token first. If invalid, it checks the SSO token. If both are invalid, the agent redirects the user for authentication.

The agent caches session information for SSO tokens.

Configure this property with Enable Custom Login Mode, as described in Login Redirect Configuration Options.

This property requires AM 6 or later versions.

Default: 0

Property name

com.forgerock.agents.accept.sso.token

Property aliases

com.forgerock.agents.accept.sso.token (since 5.7)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

SSO (Available in the console from AM 6.5)

A flag to persist JWT cookies. If true the JWT cookie is not set as a Session Cookie.

Default: false

Property name

org.forgerock.agents.config.cdsso.persistent.cookie.enable

Property aliases

org.forgerock.agents.config.cdsso.persistent.cookie.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

SSO (Available in the console from AM 7)

When true, the agent marks cookies as secure, sending them only if the communication channel is secure. Set to true when agent connections are over SSL.

Default: false

Property name

com.sun.identity.agents.config.cookie.secure

Property aliases

com.sun.identity.agents.config.cookie.secure (since 4.x)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

SSO

Sets the SameSite attribute on all the cookies that it creates. The value of the SameSite attribute is what you configure in this property.

For example, to add the SameSite attribute with the value of Lax to the cookies, set this property to Lax.

The attribute is not set for some browsers and circumstances, as described in https://www.chromium.org/updates/same-site/incompatible-clients.

Default: Empty

Property name

com.forgerock.agents.cdsso.cookie.samesite

Property aliases

com.forgerock.agents.cdsso.cookie.samesite (since 5.7)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

SSO (Available in the console from AM 6.5)

List of cookies to reset. For example:

com.sun.identity.agents.config.cookie.reset[0]=myCookie

com.sun.identity.agents.config.cookie.reset[1]=nextCookie

Default: Empty

Property name

com.sun.identity.agents.config.cookie.reset

Property aliases

com.sun.identity.agents.config.cookie.reset (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

SSO

Encode Special Characters in Cookies

When true, use URL encoding for special characters in cookies. This is useful when profile, session, and response attributes contain special characters, and the attributes fetch mode is set to HTTP_COOKIE.

Default: false

Property name

com.sun.identity.agents.config.encode.cookie.special.chars.enable

Property aliases

com.sun.identity.agents.config.encode.cookie.special.chars.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Web agent uses the pre-authentication cookie agent-authn-tx to track the progress of authentication with AM and protect the request from replay attacks.

When this property is true, the agent creates a single cookie containing records to identify all concurrent authentication requests to AM.

In environments with lots of concurrent requests, or where the protected URLs are long, the cookie can reach the maximum size supported by the browser. When this happens, new authentication requests fail and the agent issues a 403 HTTP message to the user.

When this property is false, the agent creates a pre-authentication cookie for each authentication request to AM, with the name of agent-authn-tx-string.

In some environments, this will create a large number of cookies. If you have tests in your environment that make multiple requests to AM from the same browser, you may find intermittent 403 HTTP messages; browsers and have a limit of how many cookies they can handle.

Something similar happens to web servers; they have a limit of how many headers (cookies) they can manage at one time. Set the property to true if you find that creating too many cookies is having an impact on your environment.

Default: false

Property name

org.forgerock.openam.agents.config.multivalue.pre.authn.cookies

Property aliases

org.forgerock.openam.agents.config.multivalue.pre.authn.cookies (since 5.7)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

SSO (Available in the console from AM 7)

A prefix for the cookie attributes headers.

Default: HTTP_

Property name

com.sun.identity.agents.config.profile.attribute.cookie.prefix

Property aliases

com.sun.identity.agents.config.profile.attribute.cookie.prefix (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Name of the SSO token cookie used for authentication with AM. If empty, the agent retrieves the cookie name from the AM server.

Default: iPlanetDirectoryPro

Property name

com.sun.identity.agents.config.cookie.name

Property aliases

com.sun.identity.agents.config.cookie.name (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

SSO

Number of seconds before expiration of custom cookies or the pre-authentication cookie, agent-authn-tx.

Pre-authentication cookies expire when the first of the following events occurs:

  • Authentication completes successfully

  • They reach the age configured by this property

If POST data preservation is enabled, the request expires after the time specified in POST Data Entries Cache Period, which is by default 10 minutes. In this case, consider increasing the value of this property to at least 600 seconds.

Default: 300

Property name

com.sun.identity.agents.config.profile.attribute.cookie.maxage

Property aliases

com.sun.identity.agents.config.profile.attribute.cookie.maxage (since 4.x)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Enable HTTP Only Mode

When true, mark cookies as HttpOnly to prevent scripts and third-party software from accessing them.

Default: true

Property name

com.sun.identity.cookie.httponly

Property aliases

com.sun.identity.cookie.httponly (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

SSO (Available in the console from AM 7)

When true, the agent resets (blanks) cookies in the response before redirecting to authentication by issuing a Set-Cookie header to the client. An example header could be similar to this:

Set-Cookie myCookie= ; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Domain=.my.default.fqdn

If FQDN Default is set, the agent sets the cookie domain to the domain specified by the property. Otherwise, the agent leaves the cookie domain blank.

Default: false

Property name

com.sun.identity.agents.config.cookie.reset.enable

Property aliases

com.sun.identity.agents.config.cookie.reset.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

SSO

Cross Domain SSO

Flag to reset the session cookie after an authentication redirect:

true: The agent does not reset the session cookie if a policy advice is present.

false: The agent resets the session cookie in all configured domains on every authentication redirect when a policy advice is present.

Default: false

Property name

org.forgerock.agents.config.cdsso.advice.cleanup.disable

Property aliases

org.forgerock.agents.config.cdsso.advice.cleanup.disable (since 5.6)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

SSO (Available in the console from AM 7)

CDSSO Redirect URI

Renames the endpoint the agent uses to process CDSSO requests. The name you choose for a production environment should not give away its purpose to end users.

The agent uses this endpoint during the default login redirection flow, but not during the custom login redirection flow.

Default: agent/cdsso-oauth2

Property name

com.sun.identity.agents.config.cdsso.redirect.uri

Property aliases

com.sun.identity.agents.config.cdsso.redirect.uri (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

SSO

List of domains, such as .example.com, in which cookies have to be set in CDSSO. If this property empty, then the fully qualified domain name of the cookie for the agent server is used to set the cookie domain, meaning that a host cookie rather than a domain cookie is set.

To set the list to .example.com, and .example.net using the configuration file property, include the following:

com.sun.identity.agents.config.cdsso.cookie.domain[0]=.example.com

com.sun.identity.agents.config.cdsso.cookie.domain[1]=.example.net

Default: Empty

Property name

com.sun.identity.agents.config.cdsso.cookie.domain

Property aliases

com.sun.identity.agents.config.cdsso.cookie.domain (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

SSO

Custom

Custom Properties

Additional properties to augment the set of properties supported by agent. Custom properties can be specified as follows:

  • customproperty=custom-value1

  • customlist[0]=customlist-value-0

  • customlist[1]=customlist-value-1

  • custommap[key1]=custommap-value-1

  • custommap[key2]=custommap-value-2

Add any property that is not yet in the AM console as a custom property.

Property name

com.sun.identity.agents.config.freeformproperties

Property aliases

com.sun.identity.agents.config.freeformproperties (since 4.x)

Type

Unused

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

Encryption

Server Certificate Trust

A flag to validate the certificate presented during SSL handshakes by the container where AM runs:

  • true: The agent trusts any server certificate. By default, and to facilitate integration and testing, agent is configured to trust any server certificate.

  • false: The agent trusts AM’s certificate only if found to be correct and valid.

If the agent cannot connect to AM, it does not allow access to any protected resource. Ensure the agent is properly configured before setting this property to false.

Default: true

Property name

com.sun.identity.agents.config.trust.server.certs

Property aliases

com.sun.identity.agents.config.trust.server.certs (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

Yes

Required property

No

Restart required

No

Private Client Certificate File Name

When AM is configured for client-side certificate verification, set this property to the file that contains the client certificate private key.

Agents using OpenSSL must specify the private key as a PEM file. For example: com.forgerock.agents.config.cert.key = /opt/certificates/client_key.pem

Agents using the Windows built-in Secure Channel API should not configure this property.

Default: Empty

Property name

com.forgerock.agents.config.cert.key

Property aliases

com.forgerock.agents.config.cert.key (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Supported Cipher List

A colon separated list of one or more ciphers to support, as defined in http://www.openssl.org/docs/apps/ciphers.html.

Property name

com.forgerock.agents.config.ciphers

Property aliases

com.forgerock.agents.config.ciphers (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Accept Secure Cookies From AM Over HTTP

A flag to accept secure cookies.

When true, the agent accepts secure cookies from AM over HTTP. When false, the agent rejects them.

For requests that arrive over a secure channel, by default, AM upgrades cookies to secure. However, during internal communication with the agent, AM can send these secure cookies over HTTP.

It is best practice to use HTTPS for all connections to AM.

Default: false

Property name

com.forgerock.agents.config.plain.channels.insecure

Property aliases

com.forgerock.agents.config.plain.channels.insecure (since 5.7)

Type

Integer

Bootstrap property

Yes

Required property

No

Restart required

No

Public Client Certificate File Name

When AM is configured to perform client certificate validation, set this property to the name of the file that contains the client certificate chain.

Agents using OpenSSL libraries must specify the certificate chain as a PEM file. For example: com.forgerock.agents.config.cert.file = /opt/certificates/pub_client.pem

Agents using the Windows built-in Secure Channel API must choose one of the following options:

  • Store the certificate chain and its private key as a Personal Information Exchange Format (PFX) file, then configure it in the agent property. You must also configure the Private Key Password property.

  • Store the certificate locally in the Windows certificate store and configure the friendly name of the client certificate as it shows in Windows, in the agent property.

Default: Empty

Property name

com.forgerock.agents.config.cert.file

Property aliases

com.forgerock.agents.config.cert.file (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

CA Certificate File Name

When the agent is configured to validate server certificates (Server Certificate Trust is false), set this property to the file name that contains a certificate or chain of certificates.

The file should be PEM encoded. For example:

com.forgerock.agents.config.cert.ca.file = /opt/certificates/openam_ca.pem

com.sun.identity.agents.config.trust.server.certs = false

Set this property only when the agent is using OpenSSL libraries. For agent using the Windows built-in Secure Channel API, add the appropriate certificates to the Windows certificate store.

Default: Empty

Property name

com.forgerock.agents.config.cert.ca.file

Property aliases

com.forgerock.agents.config.cert.ca.file (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Private Key Password

When AM is configured for client-side certificate verification, and the PEM file containing the client certificate private key is password-protected, set this property to the obfuscated password.

Obfuscate the password by using agentadmin --p command. For example:

$ /web_agents/agent-type/bin> ./agentadmin --p "Encryption Key" "cat cert_password.file"

Encrypted password value: zck+6RKqjtc=

Where Encryption Key is the value of Agent Profile Password Encryption Key.

Default: Empty

Property name

com.forgerock.agents.config.cert.key.password

Property aliases

com.forgerock.agents.config.cert.key.password (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Enable OpenSSL to Secure Internal Communications

Flag for whether Windows-based agents use the Windows built-in Secure Channel API or OpenSSL to secure internal communication with AM:

  • true: The agent uses OpenSSL.

  • false: The agent uses the Windows built-in Secure Channel API.

Default: false

Property name

org.forgerock.agents.config.secure.channel.disable

Property aliases

org.forgerock.agents.config.secure.channel.disable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

Yes

Required property

No

Restart required

No

OpenSSL Certificate Verification Depth

(OpenSSL only) Specifies how deeply the agent verifies AM’s server certificate before deciding the certificate is not valid.

The depth is the maximum number of CA certificates that are followed while verifying the server certificate. If the certificate chain is longer than allowed, the certificates above the limit are ignored.

The property accepts the following values:

  • 0: Only self-signed certificates are accepted.

  • 1: Client certificates can be self-signed or must be signed by a CA which is directly known to the agent container.

  • 2 or more: A chain of the specified number of certificates, including the previous ones. For example, the value 5 allows certificates from level 0 to level 5.

This property is relevant only when server certificate validation is enabled (Server Certificate Trust is false).

Default: 9

Property name

org.forgerock.agents.config.cert.verify.depth

Property aliases

org.forgerock.agents.config.cert.verify.depth (since 4.x)

Type

Integer

Bootstrap property

Yes

Required property

No

Restart required

No

FQDN

FQDN Virtual Host Map

Map of invalid or virtual name keys to valid FQDN values:

  • Map key: Source hostname or IP address

  • Map value: One or more valid FQDN values. Invalid FQDN values can cause the web server to become unusable, or render resources inaccessible.

This property enables virtual hosts, partial hostname, and IP address to access protected resources. Use this property so the agent can properly redirect users, and the agents receive cookies belonging to the domain.

To map a virtual server virtual.example.com to real.mydomain.example, enter the following:

  • Map key: validn, where n is an incrementing integer starting at 1

  • Map value: virtual.example.com

This corresponds to com.sun.identity.agents.config.fqdn.mapping[valid1]=virtual.example.com.

To map myserver to myserver.mydomain.example, enter the following:

  • Map key: myserver

  • Map value: myserver.mydomain.example

This corresponds to com.sun.identity.agents.config.fqdn.mapping[myserver]=myserver.mydomain.example.

Property name

com.sun.identity.agents.config.fqdn.mapping

Property aliases

com.sun.identity.agents.config.fqdn.mapping (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Enable FQDN Check

When true, enable checking of FQDN default value and FQDN map values.

Property name

com.sun.identity.agents.config.fqdn.check.enable

Property aliases

com.sun.identity.agents.config.fqdn.check.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

FQDN Default

The FQDN that the users should use in order to access resources. Without this value, the web server can fail to start. Set this property on agent installation, and change it only if absolutely necessary.

This property ensures that when users access protected resources on the web server without specifying the FQDN, the agent can redirect the users to URLs containing the correct FQDN.

If you specify an FQDN in this property, also add it to the Agent Root URL for CDSSO.

Property name

com.sun.identity.agents.config.fqdn.default

Property aliases

com.sun.identity.agents.config.fqdn.default (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Forward Proxy

Proxy Server Password

When AM and the agent communicate through a web proxy server configured in forward proxy mode, and the proxy server has the agent authenticate using Basic Authentication, set this property to the agent’s password.

Default: Empty

Property name

com.sun.identity.agents.config.forward.proxy.password

Property aliases

com.sun.identity.agents.config.forward.proxy.password (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Proxy Server Port

When AM and the agent communicate through a web proxy server configured in forward proxy mode, set this property to the proxy server port number.

Default: Empty

Property name

com.sun.identity.agents.config.forward.proxy.port

Property aliases

com.sun.identity.agents.config.forward.proxy.port (since 4.x)

Type

Integer

Bootstrap property

Yes

Required property

No

Restart required

No

Proxy Server User

When AM and the agent communicate through a web proxy server configured in forward proxy mode, and the proxy server has the agent authenticate using Basic Authentication, set this property to the agent’s user name.

Default: Empty

Property name

com.sun.identity.agents.config.forward.proxy.user

Property aliases

com.sun.identity.agents.config.forward.proxy.user (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Proxy Server Host Name

When AM and the agent communicate through a web proxy server configured in forward proxy mode, set this property to the proxy server host name.

Default: Empty

Property name

com.sun.identity.agents.config.forward.proxy.host

Property aliases

com.sun.identity.agents.config.forward.proxy.host (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Fragment Redirect

Enable Fragment Redirect

A flag to manage the browser’s URL fragment during authentication, as follows:

  • false: Remove the browser’s URL fragment during authentication. For example, a request to http://my.domain.com:8080/myapp/index.html#chapter-1 is authenticated and redirected to http://my.domain.com:8080/myapp/index.html. The fragment #chapter-1 is lost.

  • true: Save the browser’s URL fragment during authentication. For example, a request to http://my.domain.com:8080/myapp/index.html#chapter-1 is authenticated and redirected to the same URL. The fragment is not lost.

An extra redirect is incurred for all unauthenticated requests, to capture and process the URL fragment.

Fragment redirect is not possible for request URLs marked for JSON responses, usually for non-browser clients, such as JavaScript or other coded clients.

Default: false

Property name

org.forgerock.agents.config.fragment.redirect.enable

Property aliases

org.forgerock.agents.config.fragment.redirect.enable (since 5.7)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Advanced (Available in the console from AM 7)

General

Agent Debug Level

Debug level. Set to one of:

  • All

  • Error

  • Info

  • Warning

Default: Error

Property name

com.sun.identity.agents.config.debug.level

Property aliases

com.sun.identity.agents.config.debug.level (since 4.x)

Type

Constrained Values: "info", "warning", "error", "debug", "all"

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Global

Local Agent Debug File Name

The local file in which the agent writes debug log messages after startup.

During agent startup the location of the logs can be based on the container which is being used, or defined in the site configuration file for the server. For example, bootstrap logs for NGINX Plus Web Agent can be written to /var/log/nginx/error.log.

Default: /web_agents/agent_type/instances/agent_nnn/logs/debug/debug.log

Property name

com.sun.identity.agents.config.local.logfile

Property aliases

com.sun.identity.agents.config.local.logfile (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Enable SSO Only Mode

A flag to enable SSO only mode:

  • true: The agent manages only user authentication. The filter invokes the AM Authentication Service to verify the identity of the user. If the user’s identity is verified, the user is issued a session token through AM’s Session Service.

  • false: The agent manages user authorization, by using the policy engine in AM.

In SSO-only mode, consider configuring Reset Idle Timeout.

Default: false

Property name

com.sun.identity.agents.config.sso.only

Property aliases

com.sun.identity.agents.config.sso.only (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Agent Debug File Size

File size in bytes at which the debug log file is rotated. The minimum is 5242880 bytes (5 MB), and lower values are reset to 5 MB. AM sets a default of 10000000 bytes (approximately 10 MB).

Default: 10000000

Property name

com.sun.identity.agents.config.debug.file.size

Property aliases

com.sun.identity.agents.config.debug.file.size (since 4.x)

Type

Integer

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Global (Available in the console from AM 7.1)

Reset Idle Timeout

A flag for whether an agent configured in SSO-only mode should refresh the user’s session idle time when the user accesses a protected resource.

AM sessions have an idle timeout after which they expire. When users access protected resources through an agent, the agent requests a policy decision on behalf of that user, which resets the idle timeout.

If the agent is configured in SSO-only mode, the session may unexpectedly expire in AM due to idle timeout before the user has finished accessing the application.

Set this property to true to refresh the timeout when the user performs an action.

When set to true, the agent makes an additional call to AM; this may cause a performance impact. Configure this property only if:

  • The agent is configured in SSO-only mode

  • User’s sessions are timing out in AM because they are unexpectedly reaching the maximum idle timeout value.

Default: false

Property name

com.forgerock.agents.call.session.refresh

Property aliases

com.forgerock.agents.call.session.refresh (since 5.7)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global (Available in the console from AM 6.5)

Resources Access Denied URL

The URL of the customized access denied page. If empty, the agent returns an HTTP status of 403 (Forbidden). The URL can be absolute or relative.

The following values are not permitted:

  • Wildcards

  • The . directory specifier

  • The .. directory specifier

Default: Empty

Property name

com.sun.identity.agents.config.access.denied.url

Property aliases

com.sun.identity.agents.config.access.denied.url (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Goto Parameter

Goto Parameter Name

Renames the goto parameter. The agent appends the requested URL to the renamed parameter during redirection, after logout or after reaching an access denied page. Rename the parameter when your application requires a parameter other than goto.

Consider the following example: com.sun.identity.agents.config.redirect.param=goto2

A valid redirection URL using the goto2 parameter may look similar to the following: https://www.example.com:8443/accessDenied.html?goto2=http%3A%2F%www.example.com%3A8020%managers%2Findex.jsp

The URL appended to the goto2 parameter is the URL that the user tried to access when the agent redirected the request to the accessDenied.html page. Note that you configure the access denied page using Resources Access Denied URL.

This property also affects AM Logout URL.

Default: goto

Property name

com.sun.identity.agents.config.redirect.param

Property aliases

com.sun.identity.agents.config.redirect.param (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Ignore Path Info

Ignore Path Info in Request URLs

When true, strip path info from the request URL while doing the Not-Enforced List check, and URL policy evaluation. This is designed to prevent a user from accessing a URI by appending the matching pattern in the policy or not-enforced list.

For example, if the not-enforced list includes http://host/*.gif, then stripping path info from the request URI prevents access to http://host/index.html by using http://host/index.html?hack.gif.

However, when a web server is configured as a reverse proxy for a Java application server, the path info is interpreted to map a resource on the proxy server rather than the application server. This prevents the not-enforced list or the policy from being applied to the part of the URI below the application server path if a wildcard character is used.

For example, if the not-enforced list includes http://host/webapp/servcontext/* and the request URL is http://host/webapp/servcontext/example.jsp, the path info is /servcontext/example.jsp and the resulting request URL with path info stripped is http://host/webapp/, which does not match the not-enforced list. Thus when this property is enabled, path info is not stripped from the request URL even if there is a wildcard in the not-enforced list or policy.

When this property is true, make sure that nothing follows the wildcard in the not-enforced list or policy.

The NGINX Plus web agent does not support this setting.

Default: false

Property name

com.sun.identity.agents.config.ignore.path.info

Property aliases

com.sun.identity.agents.config.ignore.path.info (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

JSON-Formatted Response

List of URLs to Receive JSON-Formatted Responses

A list of resource URLs that trigger a JSON-formatted response from the agent, and, optionally, override the default HTTP status code.

Use this property for non-browser-based, or AJAX applications, that do not want to redirect users to the AM user interface for authentication.

Set the HTTP Return Code for JSON-Formatted Responses property to a supported HTTP code, for example 202, to prevent applications that do not support redirects, for example, from displaying a default error page.

Example:

org.forgerock.agents.config.json.url[0]=http*://.example.com:/api/*

org.forgerock.agents.config.json.response.code=202

Performing a GET operation that matches the example triggers an HTTP result code 202 Accepted, and a JSON response containing 302 Found.

Default: Empty

Property name

org.forgerock.agents.config.json.url

Property aliases

org.forgerock.agents.config.json.url (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Invert Properties That Receive JSON-Formatted Responses

When true, the values specified in the following properties do not trigger JSON-formatted responses:

Only non-specified values trigger JSON-formatted responses.

Default: false

Property name

org.forgerock.agents.config.json.url.invert

Property aliases

org.forgerock.agents.config.json.url.invert (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous (Available in the console from AM 7)

Headers and Values to Receive JSON-Formatted Responses

Specify HTTP headers and associated values that trigger JSON-formatted errors to be returned.

org.forgerock.agents.config.json.header[enableJsonResponse]=true

org.forgerock.agents.config.json.response.code=202

Performing a GET operation that matches the example triggers an HTTP result code 202 Accepted, and a JSON response containing 302 Found.

Default: Empty

Property name

org.forgerock.agents.config.json.header

Property aliases

org.forgerock.agents.config.json.header (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous (Available in the console from AM 7)

HTTP Return Code for JSON-Formatted Responses

An HTTP response code to return when a JSON-formatted error is triggered.

To prevent user agents displaying their default error pages, set to a non-error HTTP code, for example 202.

Example:

org.forgerock.agents.config.json.url[0]=http*://.example.com:/api/*

org.forgerock.agents.config.json.response.code=202

Performing a GET operation that matches the example triggers an HTTP result code 202 Accepted, and a JSON response containing 302 Found.

Default: Empty

Property name

org.forgerock.agents.config.json.response.code

Property aliases

org.forgerock.agents.config.json.response.code (since 4.x)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous (Available in the console from AM 7)

Load Balancing

Enable Override Request URL Host

Enable if the agent is behind a SSL/TLS off-loader, load balancer, or proxy, where the users and the agent use a different host. When true, the host is overridden with the value from Agent Deployment URI Prefix.

When the following headers are defined on the proxy or load-balancer, they override the value of Agent Deployment URI Prefix:

  • X-Forwarded-Proto

  • X-Forwarded-Host

  • X-Forwarded-Port

If you are using these headers, do not configure the agent to override its hostname, port, or protocol.

Default: false

Property name

com.sun.identity.agents.config.override.host

Property aliases

com.sun.identity.agents.config.override.host (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

Enable Override Request URL Port

Enable if the agent is behind a SSL/TLS off-loader, load balancer, or proxy, where the users and the agent use a different port. When true, the port is overridden with the value from Agent Deployment URI Prefix.

When the following headers are defined on the proxy or load-balancer, they override the value of Agent Deployment URI Prefix:

  • X-Forwarded-Proto

  • X-Forwarded-Host

  • X-Forwarded-Port

If you are using these headers, do not configure the agent to override its hostname, port, or protocol.

Default: false

Property name

com.sun.identity.agents.config.override.port

Property aliases

com.sun.identity.agents.config.override.port (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

Enable Override Request URL Protocol

Enable if the agent is behind a SSL/TLS off-loader, load balancer, or proxy, where the users and the agent use a different protocol. When true, the protocol is overridden with the value from Agent Deployment URI Prefix.

When the following headers are defined on the proxy or load-balancer, they override the value of Agent Deployment URI Prefix:

  • X-Forwarded-Proto

  • X-Forwarded-Host

  • X-Forwarded-Port

If you are using these headers, do not configure the agent to override its hostname, port, or protocol.

Default: false

Property name

com.sun.identity.agents.config.override.protocol

Property aliases

com.sun.identity.agents.config.override.protocol (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

POST Data Sticky Load Balancing Value

A key-value pair separated by the equals (=) character that the agent creates when evaluating POST Data Sticky Load Balancing Mode.

For example, a setting of lb=myserver either sets an lb cookie with myserver value, or adds lb=myserver to the URL query string.

If this property is defined in the bootstrap agent configuration file (agent.conf), it overrides the property in the AM configuration.

Default: Empty

Property name

com.sun.identity.agents.config.postdata.preserve.stickysession.value

Property aliases

com.sun.identity.agents.config.postdata.preserve.stickysession.value (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced (Available in the console from AM 6.5)

When true, the agent passes the hardcoded amlbcookie to AM.

Use this property to improve performance. Load balancer cookies can reduce the number of calls that different AM instances make to the Core Token Service (CTS).

Default: false

Property name

com.forgerock.agents.config.add.amlbcookie

Property aliases

com.forgerock.agents.config.add.amlbcookie (since 5.8)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global (Available in the console from AM 7.1)

POST Data Sticky Load Balancing Mode

Whether to create a cookie, or to append a query string to the URL to assist with sticky load balancing:

If this property is defined in the bootstrap agent configuration file (agent.conf), it overrides the property in the AM configuration.

Default: Empty

Property name

com.sun.identity.agents.config.postdata.preserve.stickysession.mode

Property aliases

com.sun.identity.agents.config.postdata.preserve.stickysession.mode (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced (Available in the console from AM 6.5)

POST Data Sticky Load Balancing Cookie Name

This property is not used by the agent. Use POST Data Sticky Load Balancing Value instead.

Property name

com.sun.identity.agents.config.postdata.preserve.lbcookie

Property aliases

com.sun.identity.agents.config.postdata.preserve.lbcookie (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced (Available in the console from AM 6.5)

Login URL

AM Conditional Login URL

Conditionally redirect users based on the incoming request URL.

If the incoming request URL matches a domain name in this list, the agent redirects the unauthenticated request to the specified URL for login. The URL can be an AM instance, site, or a different website.

Format, with no spaces between values:

[String]|[URL, URL…​][?realm=value&module=value2&service=value3]

[String]

Incoming login request URLs, with the following values:

  • Domain: Agents match both the domain and its subdomains. For example, example.com matches mydomain.example.com and www.example.com. To combine domain and path, provide the port number: www.example.com:8080/market.

  • Subdomain: For example, example.com. To combine subdomain and path, provide the port number: example.com:8080/market.

  • Path: For example, /myapp.

  • Anything in the request URL: For example, a port, such as 8080.

  • No value: Nothing is specified before the pipe (|) character. Conditional rules that do not specify the incoming request’s domain apply to every incoming request.

To specify the string as a regular expression, configure the following properties instead: Regular Expression Conditional Login Pattern and Regular Expression Conditional Login URL.

[URL, URL…​]

The URL to which redirect incoming login requests. The URL can be the following:

  • AM instance or site: Specify the URL of an AM instance or site in the format protocol://FQDN[:port]/URI/oauth2/authorize, where the port is optional if it is 80 or 443. For example, https://openam.example.com/openam/oauth2/authorize.

  • Website other than AM: Specify a URL in the format protocol://FQDN[:port]/URI, where the port is optional if it is 80 or `443. For example, https://myweb.example.com/authApp.

  • List of AM instances or sites, or websites other than AM: If the redirection URL is not specified, the agent redirects the request to the AM instance or site specified by AM Connection URL.

?realm=/value

The AM realm to where the agent should log the users. For example, ?realm=/marketplace. You do not need to specify the realm in the login URL if any of the following conditions is true:

  • The custom login page sets the realm parameter, for example, because it lets the user chose it. In this case, ensure the custom login page always appends a realm parameter to the goto URL.

  • The realm where the agent must log the user to has DNS aliases configured in AM. AM logs the user in to the realm whose DNS alias matches the incoming request URL. For example, an inbound request from http://marketplace.example.com URL logs into the marketplace realm if the realm alias is set to marketplace.example.com.

  • The users should always log in to the top level realm.

If you specify the realm by default, this parameter can be overwritten by the custom login page if, for example, the user can chose the realm for authentication.

&module=value2&service=value3

Parameters that can be added to the URL(s), such as:

  • module: The authentication module the user authenticates against. For example, ?module=myAuthModule.

  • service: An authentication chain or tree the user authenticates against. For example, ?service=myAuthChain.

  • Any other parameters your custom login pages require.

    Chain parameters with an ampersand (&) character, for example, realm=value&service=value.

When configuring conditional login with multiple URLs, set up the parameters for each URL.

Examples:

com.forgerock.agents.conditional.login.url[0]=example.com|https://openam.example.com/openam/oauth2/authorize

com.forgerock.agents.conditional.login.url[1]=myapp.domain.com|https://openam2.example.com/openam/oauth2/authorize?realm=/sales

com.forgerock.agents.conditional.login.url[3]=sales.example.com/marketplace|https://openam1.example.com/openam/oauth2/authorize?realm=/sales, https://openam2.example.com/openam/oauth2/authorize?realm=/marketplace

com.forgerock.agents.conditional.login.url[4]=myapp.domain.com|http://mylogin.example.com?realm=/customers

com.forgerock.agents.conditional.login.url[5]=|https://openam3.example.com/openam/oauth2/authorize?realm=/customers&module=myAuthModule

For more information, see Login Redirects.

Property name

com.forgerock.agents.conditional.login.url

Property aliases

com.forgerock.agents.conditional.login.url (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services (Available in the console from AM 6.5)

Regular Expression Conditional Login URL

Conditionally redirect users based on the incoming request URL. If the incoming request URL matches a regular expression, the agent redirects the request to a specific URL. That specific URL can be an AM instance, site, or a different website.

This property specifies the redirection URL and its parameters. Configure this property in the same way as for AM Conditional Login URL, except do not specify the string or pipe (|) character.

This property relies on Regular Expression Conditional Login Pattern to specify the regular expression that the domain name must match.

Example:

org.forgerock.agents.config.conditional.login.pattern[0] = .*shop

org.forgerock.agents.config.conditional.login.url[0] = http://openam.example.com/openam/oauth2/authorize?realm=sales

Default: Empty

Property name

org.forgerock.agents.config.conditional.login.url

Property aliases

org.forgerock.agents.config.conditional.login.url (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services (Available in the console from AM 7)

Public AM URL

The full URL of AM when it is behind a proxy during the custom login flow. For example, protocol://public_am_fqdn:port/openam.

Use this property when both of the following points are true:

  • Your environment uses custom login pages (non-OIDC-compliant flows), and the custom login pages are in a different domain than the agent.

  • Your custom login pages are in a network that can only access AM using a proxy, a firewall, or any other technology that remaps the AM URL to one accessible by the custom login pages.

Consider an example where the traffic between AM and the agent happens through the example-internal.com domain, but the custom login pages are on the example-external.com domain. The traffic between the custom pages and AM translates am.example-internal.com into am.example-external.com. You would configure https://am.example-external.com:8443/openam as the public AM URL.

Not available in the console for AM 6.0.x.

Default: Empty

Property name

com.forgerock.agents.public.am.url

Property aliases

com.forgerock.agents.public.am.url (since 5.7)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

AM Login URL

The URL of a custom login page to which the agent redirects users for authentication.

When redirecting incoming login requests to a custom login page, you must add it to either the not-enforced URL or IP lists.

The login URL has the format URL[?realm=realm_name&parameter1=value1&…​], where:

  • URL is the custom SSO-token-compliant login page to where the agent redirects the unauthenticated users.

  • [?realm=realm_name?parameter1=/value1&…​] specifies optional parameters that the agent will pass to the custom login page, for example, the AM realm which the user should log into.

Specify as many parameters as your custom login pages require: https://login.example.com/login.jsp?realm=marketplace&param1=value1

You do not need to specify the realm in the login URL if any of the following conditions is true:

  • The custom login page itself sets the realm parameter, for example, because it lets the user chose it. In this case, you must ensure the custom login page always appends a realm parameter to the goto URL.

  • The realm where the agent must log the user to has DNS aliases configured in AM. AM will log in the user to the realm whose DNS alias matches the incoming request URL. For example, an inbound request from the http://marketplace.example.com URL logs into the marketplace realm if the realm alias is set to marketplace.example.com.

  • Users should always log in to the Top Level Realm.

Even if you specify the realm by default, this parameter can be overwritten by the custom login page if, for example, the user can chose the realm for authentication.

Default: AMURL/openam/UI/Login

Property name

com.sun.identity.agents.config.login.url

Property aliases

com.sun.identity.agents.config.login.url (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Regular Expression Conditional Login Pattern

Property name

org.forgerock.agents.config.conditional.login.pattern

Property aliases

org.forgerock.agents.config.conditional.login.pattern (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services (Available in the console from AM 7)

Enable Custom Login Mode

Sets the login redirection mode, as follows:

  • 0: Disabled; default login redirection mode enabled.

  • 1: Enabled; non-OIDC compliant login flow, standard flow, where the agent does the following:

    • Tracks user authentication.

    • Converts the SSO token into an ID token at the end of the authentication flow.

    • Redirects the user to the originally requested resource.

    • The SSO token name is given by Cookie Name.

  • 2: (For environments migrating from earlier versions of the agent) Enabled; non-OIDC compliant login flow, non-standard flow, where the agent does the following:

Requires AM 6 or later.

Default: 0

Property name

org.forgerock.openam.agents.config.allow.custom.login

Property aliases

org.forgerock.openam.agents.config.allow.custom.login (since 5.5)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Logout URL

Disable Logout Redirection

During the logout flow and after logging out the user, this property specifies whether the agent should redirect the end user to another page. For example, to the landing page of the application, or to a login page:

true: Logout redirection is disabled - the agent does not perform the last redirection, and the web client is left on the logout page.

false: Logout redirection is enabled - the agent appends a goto parameter to the logout URL with the value of the Logout Redirect URL.

Default: true

Property name

com.forgerock.agents.config.logout.redirect.disable

Property aliases

com.forgerock.agents.config.logout.redirect.disable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services (Available in the console from AM 6.5)

Logout URL List

One or more of application logout URLs, such as http://www.example.com/logout.html. The agent triggers a logout flow when the end user accesses one of these pages. Therefore, these pages must be handled by your web server.

Configure with the Logout Redirect URL or Agent Logout URL Regular Expression properties.

Default: Empty

Property name

com.sun.identity.agents.config.agent.logout.url

Property aliases

com.sun.identity.agents.config.agent.logout.url (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Enable Regex for Logout URL List

A flag to allow regular expressions in Logout URL List.

Default: false

Property name

org.forgerock.agents.config.logout.regex.enable

Property aliases

org.forgerock.agents.config.logout.regex.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services (Available in the console from AM 7)

Enable Invalidate Logout Session

A flag for the agent to invalidate the end user session in AM, when it redirects a request to the logout URL:

  • true: Invalidate the user session. Use when the value of Logout URL List is a page in your application, and your application does not handle the session invalidation process.

  • false. Do not invalidate the user session. Use when the value of Logout URL List is:

    • A single SAML v2.0 logout page in AM

    • A page of an AM end user

    • A page in your application, and your application does handle the session invalidation process

Default: true

Property name

org.forgerock.agents.config.logout.session.invalidate

Property aliases

org.forgerock.agents.config.logout.session.invalidate (since 5.6)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services (Available in the console from AM 7)

Agent Logout URL Regular Expression

A Perl-compatible regular expression that matches logout URLs.

For example, to match URLs with protectedA or protectedB in the path and op=logout in the query string, use the following setting:

com.forgerock.agents.agent.logout.url.regex=(/protectedA\?\|/protectedB\?/).(\&op=logout\&)(.*\|$)

When this property is set, Logout URL List is ignored.

Default: Empty

Property name

com.forgerock.agents.agent.logout.url.regex

Property aliases

com.forgerock.agents.agent.logout.url.regex (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Hostname to IP Address Map

Map of a hostname to an IP address. The mapped hostname is automatically resolved to the IP address.

  • Map key: Hostname

  • Map value: IP address

Configure this property in agent.conf or in the Advanced tab of the XUI.

Format: com.forgerock.agents.config.hostmap[0]=<Hostname>|<IP>

Example: com.forgerock.agents.config.hostmap[0]=openam.localtest.me|10.199.0.2

Property name

com.forgerock.agents.config.hostmap

Property aliases

com.forgerock.agents.config.hostmap (since 4.x)

Type

String List

Bootstrap property

Yes

Required property

No

Restart required

No

AM Logout URL

The page to which the agent redirects the end user on log out. It can be a page in AM, such as https://openam.example.com:8443/openam/UI/Logout, or a page in the application.

The AM logout page invalidates the user session in AM, but pages in an application might not invalidate the user session in AM. See Enable Invalidate Logout Session for configuration options.

Default: AM_URL/openam/UI/Logout

Property name

com.sun.identity.agents.config.logout.url

Property aliases

com.sun.identity.agents.config.logout.url (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Reset Cookies on Logout List

A list of cookies to be reset upon logout in the format: name[=value][;Domain=value].

For example, Cookie2=value;Domain=subdomain.domain.com equates to: com.sun.identity.agents.config.logout.cookie.reset[0]=Cookie2=value;Domain=subdomain.domain.com

Default: Empty

Property name

com.sun.identity.agents.config.logout.cookie.reset

Property aliases

com.sun.identity.agents.config.logout.cookie.reset (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Logout Redirect URL

The page to which the agent redirects the end user on log out if Disable Logout Redirection is false (default). Configure with Logout URL List.

This URL must be handled by your web server.

Default: Empty

Property name

com.sun.identity.agents.config.logout.redirect.url

Property aliases

com.sun.identity.agents.config.logout.redirect.url (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Microsoft IIS Server

Show Password in HTTP Header

Set to true if encrypted password should be set in HTTP header AUTH_PASSWORD.

Default: false

Property name

com.sun.identity.agents.config.iis.password.header

Property aliases

com.sun.identity.agents.config.iis.password.header (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

Logon and Impersonation

When true, the agent does Windows Logon and User Impersonation.

Default: false

Property name

com.sun.identity.agents.config.iis.logonuser

Property aliases

com.sun.identity.agents.config.iis.logonuser (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

Replay Password Key

DES key for decrypting the basic authentication password in the session.

Default: Empty

Property name

com.sun.identity.agents.config.replaypasswd.key

Property aliases

com.sun.identity.agents.config.replaypasswd.key (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

Microsoft IIS server

Remove IIS HTTP Server Header

When true, the IIS agent will remove the Server header

Default: false

Property name

org.forgerock.agents.config.iis.headers.server.disable

Property aliases

org.forgerock.agents.config.iis.headers.server.disable (since 5.9.2)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

Yes

Required property

No

Restart required

No

Miscellaneous

Enable Connection Pooling

When true, the agent uses connection pooling.

Use connection pooling to improve performance when AM is available over low bandwidth connections, or to throttle the maximum number of connections made by the agent.

When AM is available over high bandwidth connections, connection pooling can reduce performance.

Default: true

Property name

org.forgerock.agents.config.connection.pool.enable

Property aliases

org.forgerock.agents.config.connection.pool.enable (since 5.8)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

Yes

Required property

No

Restart required

No

Use Built-in Apache HTTPD Authentication Directives

A regular expression pattern to specify which not-enforced URLs can use built-in Apache authentication directives, such as AuthName, FilesMatch, and Require, for basic authentication.

Requests with not-enforced URLs that match the expression can use built-in Apache authentication directives.

Default: No requests can use built-in Apache authentication directives.

Property name

com.forgerock.agents.no.remoteuser.module.compatibility

Property aliases

com.forgerock.agents.no.remoteuser.module.compatibility (since 4.x)

Type

Unused

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

Maximum Number of Initialization Retries (deprecated)

The maximum number of consecutive attempts to initialize the agent.

Default: 0

Property name

org.forgerock.agents.init.retry.max

Property aliases

org.forgerock.agents.init.retry.max (since 4.x)

Type

Unused

Bootstrap property

No

Required property

No

Restart required

No

TCP Receive Timeout

The number of seconds to wait for a response from AM before timing out and dropping the connection. Applies to TCP receive operations.

Default: 4

Property name

com.sun.identity.agents.config.receive.timeout

Property aliases

com.sun.identity.agents.config.receive.timeout (since 5.5)

Type

Integer

Bootstrap property

Yes

Required property

No

Restart required

No

AM Connection URL

A space-delimited list of AM URLs to which the agent connects. Set this property to the URL of the load balancer in front of the AM instances (or load balancers, in case of disaster-recovery configurations).

When the agent cannot connect to the first URL in the list, it automatically connects to the next available URL. The agent stays connected to the new URL until the URL fails, or the agent is restarted.

Default: AM_URL/openam/

Property name

com.sun.identity.agents.config.naming.url

Property aliases

com.sun.identity.agents.config.naming.url (since 4.x)

Type

String List

Bootstrap property

Yes

Required property

No

Restart required

No

Agent Profile Password

The password required by the agent profile, encrypted with the key specified in Agent Profile Password Encryption Key.

To encrypt an agent profile password, run the agentadmin command with the --p option.

Default: Empty

Property name

com.sun.identity.agents.config.password

Property aliases

com.sun.identity.agents.config.password (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Connection Timeout

The number of seconds to wait for a connection to AM before timing out and cancelling the connection. Applies to TCP connect operations.

Default: 4

Property name

com.sun.identity.agents.config.connect.timeout

Property aliases

com.sun.identity.agents.config.connect.timeout (since 5.5)

Type

Integer

Bootstrap property

Yes

Required property

No

Restart required

No

Disable Keep Alive (deprecated)

A flag to specify how the agent connects to AM during the session validation process. Session validation is a process composed of several requests going to and coming from AM.

false: The agent opens a single connection to AM which is reused to satisfy every request required for a session, then closes it. Use this value to reduce the overhead of opening and closing connections to AM.

true: The agent opens and closes a connection for every request required when validating a session. Use this value if you use load balancers or reverse proxy servers that do not allow applications to keep connections open.

Property name

org.forgerock.agents.config.keepalive.disable

Property aliases

org.forgerock.agents.config.keepalive.disable (since 4.x)

Type

Unused

Bootstrap property

No

Required property

No

Restart required

No

Organization Name

The AM realm where the agent profile is located. For example, /Customers.

Realm names are case-sensitive. Failure to set the realm name exactly as configured in AM causes the agent to fail to recognize the realm.

Default: /

Property name

com.sun.identity.agents.config.organization.name

Property aliases

com.sun.identity.agents.config.organization.name (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Security Protocol List

A space-separated list of security protocols preceded by a dash (-) that are not used when connecting to AM. The following protocols are supported:

  • SSLv3

  • TLSv1

  • TLSv1.1

  • TLSv1.2 (Enabled)

  • TLSv1.3 (Enabled)

SSLv2 is always disabled, regardless of the setting.

This property is relevant to all Web Agents using OpenSSL libraries.

To change the default value, set an environment variable, AM_SSL_OPTIONS.

Default: -SSLv3 -TLSv1 -TLSv1.1

Property name

org.forgerock.agents.config.tls

Property aliases

org.forgerock.agents.config.tls (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Agent Profile Password Encryption Key

The encryption key used to encrypt the agent profile password, which should be provided in Agent Profile Password.

To create a encryption key, run the agentadmin command with the --k option.

Default: Empty

Property name

com.sun.identity.agents.config.key

Property aliases

com.sun.identity.agents.config.key (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

Time to Wait Between Initialization Retries (deprecated)

The number of seconds to wait between attempts to initialize the agent.

Default: 0

Property name

org.forgerock.agents.init.retry.wait

Property aliases

org.forgerock.agents.init.retry.wait (since 4.x)

Type

Unused

Bootstrap property

No

Required property

No

Restart required

No

Agent Profile Name

The name of the agent profile in AM.

Property name

com.sun.identity.agents.config.username

Property aliases

com.sun.identity.agents.config.username (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

MIME-Encode HTTP Header Values

MIME-encoding of HTTP header values:

  • Empty or 0: The agent MIME-encodes the value of HTTP headers if said value is a multi-byte Unicode string.

  • 1: The agent MIME-encodes the value of every HTTP header.

  • 2: The agent does not MIME-encode the value of any HTTP header.

Not available in the console for AM 6.0.x.

Default: Empty

Property name

com.forgerock.agents.header.mime.encode

Property aliases

com.forgerock.agents.header.mime.encode (since 5.7)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Add Cache-Control Headers

When true, enables the use of Cache-Control headers to prevent proxies from caching resources accessed by unauthenticated users.

Default: false

Property name

com.forgerock.agents.cache_control_header.enable

Property aliases

com.forgerock.agents.cache_control_header.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Not-Enforced URL and IP

Ignore Path Info in Not-Enforced URLs

When true, strip path info and query from the request URL before comparing it with the URLs of the not-enforced list for those URLs containing a wildcard character. This prevents a user from accessing http://host/index.html by requesting http://host/index.html/hack.gif when the not-enforced list includes http://host/*.gif.

The NGINX Plus web agent does not support this setting.

Default: true

Property name

com.sun.identity.agents.config.ignore.path.info.for.not.enforced.list

Property aliases

com.sun.identity.agents.config.ignore.path.info.for.not.enforced.list (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Regular Expressions for Not-Enforced URLs

When true, allow the use of Perl-compatible regular expressions in Not-enforced URL settings.

Not available in the console for AM 6.0.x.

Default: false

Property name

com.forgerock.agents.notenforced.url.regex.enable

Property aliases

com.forgerock.agents.notenforced.url.regex.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Enable Regular Expressions for Not-Enforced IPs

A flag to enable Perl-compatible regular expressions in Not-Enforced URL from IP settings.

Default: false

Property name

org.forgerock.agents.config.notenforced.ext.regex.enable

Property aliases

org.forgerock.agents.config.notenforced.ext.regex.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application (Available in the console from AM 7)

Not-Enforced Fallback Mode

A flag to specify whether the agent allows traffic to resources specified in the not-enforced lists when AM is not available:

  • true: While AM is unavailable, the agent reads the cached agent profile configuration until it expires. After the cache expires, reads the local configuration file (agent.conf). If not-enforced properties are configured in agent.conf, the agent allows access to the not-enforced resources. However, response attributes for not-enforced resources are not available until AM is accessible.

  • false: When AM is unavailable, the web agent prevents access to all resources, including any not-enforced resources.

Configure the following properties in agent.conf, even if the agent profile is in centralized configuration:

  • com.forgerock.agents.config.fallback.mode = true

  • com.sun.identity.agents.config.notenforced.url.attributes.enable = true

  • com.sun.identity.agents.config.notenforced.url.invert = false

  • com.sun.identity.agents.config.notenforced.url[0] = http://agenttest.example.com/index.html

Default: false

Property name

com.forgerock.agents.config.fallback.mode

Property aliases

com.forgerock.agents.config.fallback.mode (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Application

Client IP Validation

When true, validate that the subsequent browser requests come from the same IP address that the SSO token is initially issued against.

Default: false

Property name

com.sun.identity.agents.config.client.ip.validation.enable

Property aliases

com.sun.identity.agents.config.client.ip.validation.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Invert Not-Enforced URLs

When true, enforce policy for the URLs and patterns specified in the Not-Enforced URL List, instead of allowing access to them without authentication. Consider the following points when configuring this property:

  • If Not-Enforced URL List is empty, all URLs are enforced

  • At least one URL must be enforced. To allow access to any URL without authentication, consider disabling the agent.

Default: false

Property name

com.sun.identity.agents.config.notenforced.url.invert

Property aliases

com.sun.identity.agents.config.notenforced.url.invert (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Not-Enforced URL List

A space-delimited list of URIs that do not require authentication.

For information about configuring not-enforced lists, see the User Guide.

Default: Empty

Property name

com.sun.identity.agents.config.notenforced.url

Property aliases

com.sun.identity.agents.config.notenforced.url (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Fetch Attributes for Not-Enforced URLs

When true, the agent fetches profile, response, and session attributes that are mapped by policy evaluations, and forwards these attributes to not-enforced URLs.

Default: false

Property name

com.sun.identity.agents.config.notenforced.url.attributes.enable

Property aliases

com.sun.identity.agents.config.notenforced.url.attributes.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Not-Enforced IP List

A space-delimited list of IP addresses or network CIDR notation addresses for which no authentication is required.

Supported values are IPV4 and IPV6 addresses, IPV4 and IPV6 ranges of addresses delimited by the - character, and network ranges specified in CIDR notation.

For information about configuring not-enforced lists, see the User Guide.

Default: Empty

Property name

com.sun.identity.agents.config.notenforced.ip

Property aliases

com.sun.identity.agents.config.notenforced.ip (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application

Not-Enforced URL from IP Processing List

A space-delimited list of IP addresses or network CIDR notation addresses for which no authentication is required.

Default: Empty

Property name

org.forgerock.agents.config.notenforced.ipurl

Property aliases

org.forgerock.agents.config.notenforced.ipurl (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Application (Available in the console from AM 7)

Policy Client Service

User ID Parameter

The User ID passed in the session from AM to the REMOTE_USER server variable.

Default: UserToken

Property name

com.sun.identity.agents.config.userid.param

Property aliases

com.sun.identity.agents.config.userid.param (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Policy Cache Polling Period

Polling interval in minutes during which an entry remains valid after being added to the agent cache.

Default: 3

Property name

com.sun.identity.agents.config.policy.cache.polling.interval

Property aliases

com.sun.identity.agents.config.policy.cache.polling.interval (since 4.x)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Policy Clock Skew

Number of seconds to allow for time difference between agent system and AM. Clock skew in seconds = AgentTime - AMServerTime.

Use this property to adjust for small time differences encountered despite use of a time-synchronization service. When this property is not set and agent time is greater than AM server time, the agent can make policy calls to the AM server before the policy subject cache has expired, or you can see infinite redirection occur.

Default: 0

Property name

com.sun.identity.agents.config.policy.clock.skew

Property aliases

com.sun.identity.agents.config.policy.clock.skew (since 4.x)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Policy Evaluation Realm

The realm where AM evaluates polices for policy decision requests from the agent. This property is recognized by AM, not the agent.

The policy set configured by Policy Set must exist in the realm configured by this property. Otherwise, policy evaluation produces DENY results without writing warnings to the logs.

The default policy set exists only in the top-level realm. If you are using a different realm for policy evaluation, do one of the following:

  • Create the iPlanetAMWebAgentService policy set in that realm.

  • Create a different policy set in that realm, and configure Policy Set to use it.

Default: (/) top-level realm

Property name

org.forgerock.openam.agents.config.policy.evaluation.realm

Property aliases

org.forgerock.openam.agents.config.policy.evaluation.realm (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

AM Services

Fetch Policies From The Root Resource

When true, the agent caches the policy decision of the resource and all resources from the root of the resource down.

For example, if the resource is http://host/a/b/c, then the root of the resource is http://host/.

Use this property when a client is expected to access multiple resources on the same path. However, caching can be expensive if very many policies are defined for the root resource.

Default: false

Property name

com.sun.identity.agents.config.fetch.from.root.resource

Property aliases

com.sun.identity.agents.config.fetch.from.root.resource (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Enable Retrieve Client Hostname

When true, get the client hostname through DNS reverse lookup for use in policy evaluation. This setting can impact performance.

Default: false

Property name

com.sun.identity.agents.config.get.client.host.name

Property aliases

com.sun.identity.agents.config.get.client.host.name (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

SSO Cache Polling Period

Polling interval in minutes during which an SSO entry remains valid after being added to the agent cache.

Default: 3

Property name

com.sun.identity.agents.config.sso.cache.polling.interval

Property aliases

com.sun.identity.agents.config.sso.cache.polling.interval (since 4.x)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

User ID Parameter Type

Fetch user ID from SESSION or LDAP attributes.

Default: SESSION

Property name

com.sun.identity.agents.config.userid.param.type

Property aliases

com.sun.identity.agents.config.userid.param.type (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

AM Services

Policy Set

The name of the policy set where AM evaluates polices for policy decision requests from the agent.

By default, AM evaluates policies in iPlanetAMWebAgentService. Set this property to cause AM to use a different policy set. This property is recognized by AM, not the agent.

The policy set configured by this property must exist in the realm configured by Policy Evaluation Realm. Otherwise, policy evaluation produces DENY results without writing warnings to the logs.

The default policy set exists only in the top-level realm. If you are using a different realm for policy evaluation, do one of the following:

  • Create the iPlanetAMWebAgentService policy set in that realm.

  • Create a different policy set in that realm, and configure this property to use it.

Default: iPlanetAMWebAgentService

Property name

org.forgerock.openam.agents.config.policy.evaluation.application

Property aliases

org.forgerock.openam.agents.config.policy.evaluation.application (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

AM Services

Post Data Preservation

Enable POST Data Preservation

A flag to enable HTTP POST data preservation.

Default: false

Property name

com.sun.identity.agents.config.postdata.preserve.enable

Property aliases

com.sun.identity.agents.config.postdata.preserve.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

POST Data Entries Cache Period

Number of minutes before expiry of the Post Data Preservation cache.

Consider setting Profile Attributes Cookie Maxage to at least the value of this property.

Default: 10

Property name

com.sun.identity.agents.config.postcache.entry.lifetime

Property aliases

com.sun.identity.agents.config.postcache.entry.lifetime (since 4.x)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

POST Data Storage Directory

The local directory where the agent writes preserved POST data while requesting authorization from AM.

Default: /web_agents/agent_type/log

Property name

org.forgerock.agents.config.postdata.preserve.dir

Property aliases

org.forgerock.agents.config.postdata.preserve.dir (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Advanced

URLs Ignored by the POST Data Inspector

A list of URLs that are not be processed by the agent POST data inspector. Other modules on the same server can access the POST data directly.

The following example uses wildcards to add a file named postreader.jsp in the root of any protected website to the list of URLs that will not have their POST data inspected: org.forgerock.agents.config.skip.post.url[0]=http*://:/postreader.jsp

URLs added to this property should also be added to Not-Enforced URL List.

Default: Empty

Property name

org.forgerock.agents.config.skip.post.url

Property aliases

org.forgerock.agents.config.skip.post.url (since 4.x)

Type

String Map

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced (Available in the console from AM 7)

Submit POST Data using JavaScript

When true, preserved POST data is resubmitted to the destination server after authentication by using JavaScript.

Default: false

Property name

org.forgerock.agents.pdp.javascript.repost

Property aliases

org.forgerock.agents.pdp.javascript.repost (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced (Available in the console from AM 7)

Profile

Use Accept SSO Token instead of this property.

Property name

com.forgerock.agents.accept.ipdp.cookie

Property aliases

com.forgerock.agents.accept.ipdp.cookie (since 5.7)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Agent Profile ID Allow List

A comma-separated list of profile IDs that the agent considers as valid values for the aud claim. This claim is represented in the ID token containing the end user’s session.

When several agents are configured with different agent profiles to protect the same application, set this property to a list of the agent profiles that are protecting the same application.

With the following setting, the agent considers agentprofile1 and agentprofile2 to be valid, and does not validate them: com.forgerock.agents.jwt.aud.whitelist=agentprofile1,agentprofile2

Default: Empty

Property name

com.forgerock.agents.jwt.aud.whitelist

Property aliases

com.forgerock.agents.jwt.aud.whitelist (since 5.7)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Web Socket Connection Interval

The time in minutes before WebSockets to AM are killed and reopened. Use this property to balance the distribution of connections across the AM servers on the site.

Default: 30

Property name

org.forgerock.openam.agents.config.balance.websocket.connection.interval.in.minutes

Property aliases

org.forgerock.openam.agents.config.balance.websocket.connection.interval.in.minutes (since 4.x)

Type

Integer

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Global

Enable Notifications of Agent Configuration Change

A flag to specify whether AM sends a notification to the agent to reread the agent profile after a change to a hot-swappable property. This property applies only when you store the agent profile in AM’s configuration data store.

Default: true

Property name

com.sun.identity.agents.config.change.notification.enable

Property aliases

com.sun.identity.agents.config.change.notification.enable (since 4.x)

Type

Unused

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Configuration Reload Interval

Time in minutes after which the agent fetches the configuration from AM. Used if notifications are disabled.

Default: 60

Property name

com.sun.identity.agents.config.polling.interval

Property aliases

com.sun.identity.agents.config.polling.interval (since 4.x)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Agent Root URL for CDSSO

The agent root URLs for CDSSO. The valid value is in the format protocol://hostname:port/, where protocol represents the protocol used, such as http or https, hostname represents the host name of the system where the agent resides, and port represents the port number on which the agent is installed. The slash following the port number is required.

If your agent system has virtual host names, add URLs with the virtual host names to this list. AM checks that the goto URLs match one of the agent root URLs for CDSSO.

Default: agent-root-URL

Property name

sunIdentityServerDeviceKeyValue

Property aliases

sunIdentityServerDeviceKeyValue (since 4.x)

Type

Unused

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Disable Audience Claim Validation

The claims to validate in the ID token containing the end user’s session:

  • 0: Validate the aud and nonce claim.

  • 1: Validate the nonce claim; don’t validate the aud claim.

During an authentication request, AM creates an ID token that contains, among others, the end user’s session, and the aud claim. The aud claim is set to the agent profile of the agent that made the request. When AM returns the ID token to the end user’s user-agent, it appends a nonce parameter to the request, which is a one-time-usable random string that is understood by both AM and the agent that made the authentication request.

When the agent receives a request to access a protected resource, the agent checks that the audience (the aud claim) of the ID token and the value of the nonce are appropriate. For example, it checks that the value of the aud claim is the name of its own agent profile.

In environments where several agents protect the same application, this validation poses a problem; even if the ID token is valid and contains a valid session, an agent cannot validate a ID token created for a different agent because the audience would not match. Therefore, the agent redirects the end user to authenticate again.

For security reasons, agents should validate as many claims in the ID token as possible.

Not available in the console for AM 6.0.x.

Default: 0

Property name

com.forgerock.agents.jwt.aud.disable

Property aliases

com.forgerock.agents.jwt.aud.disable (since 5.7)

Type

Integer

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

The name of the cookie that holds the OpenID Connect ID token on the user’s browser. Before changing the name of this cookie, consider the following points:

  • The cookie is only used by the agent and is never presented to AM.

  • The cookie name must be unique across the set of cookies the user’s browser receives, since some browsers behave in unexpected ways when receiving several cookies with the same name. For example, you should not set the session ID token cookie name to iPlanetDirectoryPro, which is the default name of AM’s session cookie.

Default: am-auth-jwt

Property name

org.forgerock.openam.agents.config.jwt.name

Property aliases

org.forgerock.openam.agents.config.jwt.name (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Global

Password

The agent password used when creating the password file and when installing the agent.

If you change the password, manually update the password in Agent Profile Password.

Property name

password

Property aliases

password (since 4.x)

Type

Unused

Bootstrap property

No

Required property

No

Restart required

No

Location of Agent Configuration Repository

The management mode for the agent configuration:

  • centralized: The configuration is managed through AM.

  • local: The configuration is managed locally in the agent configuration file. In local configuration, you cannot manage the agent configuration through the AM console.

Default: centralized

Property name

com.sun.identity.agents.config.repository.location

Property aliases

com.sun.identity.agents.config.repository.location (since 4.x)

Type

String

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Global

Retain Session Cache After Configuration Change

Use this property to manage how the session cache is used after a change to the agent configuration:

  • 0: Purge the session cache, and re-read the user session data.

  • 1: Do not purge the session cache, and do not re-read the user session data. Use this value to prevent the agent from flooding AM instances with requests, when the agent configuration changes regularly, and the changes do not affect the agent authorisation decisions.

Default: 0

Property name

com.forgerock.agents.session.cache.eventually.consistent

Property aliases

com.forgerock.agents.session.cache.eventually.consistent (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Advanced

Agent Deployment URI Prefix

Overrides the request URL given by the agent, when the agent is configured behind a load balancer or proxy. Use this property when the protocol, hostname, or port of the load balancer or proxy differ from those of the agent.

At least one of the following properties must be enabled:

Use these properties only if you are not using x-forwarded headers from the load balancer or proxy to override the agent’s protocol, hostname, and port values.

Default: agent-root-URL

Property name

com.sun.identity.agents.config.agenturi.prefix

Property aliases

com.sun.identity.agents.config.agenturi.prefix (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Global

Use Cached Configuration After Update

Use this property only on recommendation from ForgeRock support, to reduce unnecessary concurrent authentication requests to AM.

When the agent receives requests after the agent config has been updated in AM, a single request thread calls AM to download the new configuration. This property manages the response for the concurrent request threads, as follows:

  • false: Concurrent request threads wait for the time specified by TCP Receive Timeout for the retrieving request thread to complete, and then they use the new configuration.

  • true: Concurrent request threads that can use the out-of-date, cached configuration do so, without waiting for the new configuration.

Set this property according to the value of Location of Agent Configuration Repository:

  • local: In the local bootstrap file.

  • central: In the AM console. The value in the AM console takes precedence over the local bootstrap file.

Default: false

Property name

com.forgerock.agents.config.use.during.update

Property aliases

com.forgerock.agents.config.use.during.update (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Advanced

Enable Notifications

When true, AM can sent notifications to the agent to:

  • Refresh the session cache when a session times out or a client logs out from AM.

  • Refresh the policy cache when the administrator changes a policy.

Default: true

Property name

com.sun.identity.agents.config.notification.enable

Property aliases

com.sun.identity.agents.config.notification.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

Yes

Required property

No

Restart required

No

AM console tab

Global

Group

Status of the agent configuration.

Property name

group

Property aliases

group (since 4.x)

Type

Unused

Bootstrap property

No

Required property

No

Restart required

No

URL Handling

Encode Special Characters un URLs

When true, encode the URL a URL with special characters before doing policy evaluation.

Default: false

Property name

com.sun.identity.agents.config.encode.url.special.chars.enable

Property aliases

com.sun.identity.agents.config.encode.url.special.chars.enable (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Enable URL Comparison Case Sensitivity Check

When true, enforce case insensitivity in both policy and not-enforced URL evaluation.

Default: true

Property name

com.sun.identity.agents.config.url.comparison.case.ignore

Property aliases

com.sun.identity.agents.config.url.comparison.case.ignore (since 4.x)

Type

Boolean: true returns true; all other strings return false.

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Invalid URL Regular Expression

A Perl-compatible regular expression to parse valid request URLs. The agent rejects requests to invalid URLs with HTTP 403 Forbidden status without further processing.

For example, to filter out URLs containing a list of characters and words such as …​ %00-%1f, %7f-%ff, %25, %2B, %2C, %7E, .info, configure the following regular expression:

com.forgerock.agents.agent.invalid.url.regex=^(\?!.\/\|\/.\|.\|.info\|%2B\|%00-%1f\|%7f-%ff\|%25\|%2C\|%7E).*$

Not available in the console for AM 6.0.x.

Default: Empty

Property name

com.forgerock.agents.agent.invalid.url.regex

Property aliases

com.forgerock.agents.agent.invalid.url.regex (since 4.x)

Type

String

Bootstrap property

No

Required property

No

Restart required

No

AM console tab

Miscellaneous

Copyright © 2010-2023 ForgeRock, all rights reserved.