Note:

As of Java Integration Kit 2.8, there are two versions of the OpenToken agent: the standard OpenToken agent, and the Jakarta EE 9 OpenToken agent. There are two new instances of sample code available for the Jakarta EE 9 OpenToken agent, which are documented below. These two instances of sample code contain new package locations.

When the agent object is instantiated, it reads the OpenToken Adapter configuration from the agent-config.txt file. This configuration data includes the name of the cookie that the agent object writes, as well as the key to use when encrypting a new OpenToken. If the agent object doesn't find the agent-config.txt file, the agent constructor will throw an exception.

To instantiate the agent object, invoke a constructor and load the configuration using one of the following methods:

Sample code - Java native multimap method (standard OpenToken agent)

import com.pingidentity.opentoken.TokenException;
import com.pingidentity.opentoken.generic.Agent;
import com.pingidentity.opentoken.generic.util.PingFederateMultiMap;
. . .
Agent agent = Agent.createUsingNativeMultiMap("<PATH_TO_FILE>/agent-config.txt");
Note:

This method requires the following library to be available:

  • agent/lib/commons-logging.jar

For help, see Deploying the Java agent.

Sample code - Java native multimap method (Jakarta EE 9 OpenToken agent)

import com.pingidentity.opentoken.jakarta.TokenException;
import com.pingidentity.opentoken.jakarta.generic.Agent;
import com.pingidentity.opentoken.jakarta.generic.util.PingFederateMultiMap;
. . .
Agent agent = Agent.createUsingNativeMultiMap("<PATH_TO_FILE>/agent-config.txt");
Note:

This method requires the following library to be available:

  • agent/jakarta/lib/commons-logging.jar

For more information, see Deploying the Java agent.

Sample code - Apache commons multimap method (standard OpenToken agent)

import java.io.IOException; 
import java.io.File; 
import java.io.InputStream; 
import java.util.Map; 
import java.util.HashMap; 
import java.util.List;  
 
import org.apache.commons.collections.MultiMap; 
import org.apache.commons.collections.map.MultiValueMap;   

import com.pingidentity.opentoken.Agent; 
import com.pingidentity.opentoken.TokenException; 
import com.pingidentity.opentoken.util.UrlHelper; 
. . . . 
Agent agent = new Agent("<PATH_TO_FILE>/agent-config.txt");
Note:

This method requires the following libraries to be available:

  • agent/lib/commons-beanutils.jar
  • agent/lib/commons-collections-3.2.2.jar
  • agent/lib/commons-logging.jar

For help, see Deploying the Java agent.

Sample code - Apache commons multimap method (Jakarta EE 9 OpenToken agent)

import java.io.IOException; 
import java.io.File; 
import java.io.InputStream; 
import java.util.Map; 
import java.util.HashMap; 
import java.util.List;  
 
import org.apache.commons.collections.MultiMap; 
import org.apache.commons.collections.map.MultiValueMap;   

import com.pingidentity.opentoken.jakarta.Agent; 
import com.pingidentity.opentoken.jakarta.TokenException; 
import com.pingidentity.opentoken.jakarta.util.UrlHelper; 
. . . . 
Agent agent = new Agent("<PATH_TO_FILE>/agent-config.txt");
Note:

This method requires the following libraries to be available:

  • agent/jakarta/lib/commons-beanutils.jar

  • agent/jakarta/lib/commons-collections-3.2.2.jar

  • agent/jakarta/lib/commons-logging.jar

For help, see Deploying the Java agent.