Page created: 24 Jul 2019
|
Page updated: 8 Feb 2022
The writeToken method of the Agent class takes a java.util.Map
collection
of attributes and encodes them into an OpenToken, which is then written to the HTTP
response.
Important: The collection of attributes
must contain a key named
subject
for a valid token to be
generated.If any errors are encountered while creating the token or writing the token out to the response, a TokenException is thrown.
The following example code shows how to use the writeToken method:
Note:
This code is the same for both the Java native and Apache commons multimap methods described in Reading and writing OpenTokens.
Sample code
String username = (String)request.getSession().getAttribute("username");
Map<String, String> userInfo = new HashMap<String, String>();
userInfo.put(Agent.TOKEN_SUBJECT, username);
String returnUrl = "https://<PingFederate-DNS>:9031" + request.getParameter("resume");
. . . .
try {
UrlHelper urlHelper = new UrlHelper(returnUrl);
//See the "Reading and writing OpenTokens" topic for sample code
//that instantiates and configures an Agent instance
agent.writeToken(userInfo,response,urlHelper,false);
returnUrl = (String)urlHelper.toString();
}
catch(TokenException e) {
// Handle exception
}