I just completed a project where we consolidated our Weblogic web servers into fewer servers. In the past we have one server for each PIA. The new implementation has two Weblogic servers, each with three PIAs and a hardware load balancer to provide high availability. Each PIA is bound to a specific virtual IP and listens on port 443 for HTTPS access. This is a very resilient implementation that provides high up-time for end users.
However, I quickly realized that was having strange single-signon issues. When I logged into the Interaction Hub, and clicked a link to access HCM I would get signed out of both applications. There were not a lot of useful errors, so it took some research to figure this one out.
The underlying cause of this issue was that the web server cookies names were not unique for each environment. Each PIA provided the same cookie name to the browser, which caused the authentication to break and user log-out.
The lack of uniqueness was caused by the fact that each PIA on the server was listing on the same port, but different IP addresses. By default, when installing a new PIA the name of the cookie is <server-name>-<port>-PORTAL-PSJSESSIONID. So I ended up with several PIAs with the same cookie name.
I identified the problem by using the F12 Developer Tools in Internet Explorer, where I noticed that the cookie name was the same for each environment: (this show the correct configuration, but it’s an illustration for where to look).
The solution is quite simple. Just edit the weblogic.xml file in: PS_CFG_HOME\webserv\peoplesoft\applications\peoplesoft\PORTAL.war\WEB-INF
Change the value <cookie-name>SERVER-80-PORTAL-PSJSESSIONID</cookie-name> to a unique name for each environment:
Then restart the PIA.
If you have more than one PIA for each environment and a load balancer in front, then use the same cookie-name on each PIA for the environment. E.g. all HCM PIAs should use the same cookie name.
Send me an email at jens AT smartpeoplesoftadmin.com
If you find value in my blog posts, please consider donating a small amount with PayPal