Skip to content

Instantly share code, notes, and snippets.

@aviramsegal
Created August 15, 2012 08:36
Show Gist options
  • Save aviramsegal/3357656 to your computer and use it in GitHub Desktop.
Save aviramsegal/3357656 to your computer and use it in GitHub Desktop.
Websphere Application Server Propagate LTPA Token from Subject To HTTP Cookie
public static SingleSignonToken getSSOTokenFromSubject(final Subject subject) {
if (subject == null) {
return null;
}
return AccessController.doPrivileged(new PrivilegedAction<SingleSignonToken>() {
public SingleSignonToken run() {
Set<SingleSignonToken> ssoTokens = subject.getPrivateCredentials(SingleSignonToken.class);
for (SingleSignonToken ssoToken : ssoTokens) {
if (ssoToken.getName().equals("LtpaToken")) {
return ssoToken;
}
}
return null;
}
});
}
// Get cookie to add to outgoing HTTP requests
SingleSignonToken ssoToken = getSSOTokenFromSubject(subject);
String ssoTokenStr = null;
if (ssoToken != null) {
byte[] ssoTokenBytes = ssoToken.getBytes();
ssoTokenStr = com.ibm.ws.util.Base64.encode(ssoTokenBytes);
}
String ssoTokenCookie = "LtpaToken2=" + ssoTokenStr;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment