Support Article
SSO log off is not working
SA-5901
Summary
When using SSO with WebSEAL in Pega 7.1.7 environment when a user clicks log off from portal it logs back right back in.
Error Messages
None
Steps to Reproduce
1. Implement SSO using sso servlet.
2. Clock log off from Developer portal.
3. Application logs you back in.
Root Cause
In PRPC 7.1.7 there is a new application level setting on the definition tab, advanced section, called "Log off Redirection". There are two values for this:
Show Log off Screen
Redirect to Login Screen
The Activity Code-Security.Logoff sends the value of this setting to Code-Security.EndSession via the parameter "redTo". The activity Code-Security.EndSession then displays different HTML based on this parameter value:
RedirectToLoginScreen = Web-Login
< AnythingElse> = Web-Session-Return
When using "Show Log off Screen" this ends up calling "Web-Session-Return".
The HTML for Web-Session-Return has a meta refresh in it that takes the user back to the login screen:
< pega:choose>
<pega:when test="pxProcess.pxUrlEncryption == false && pxProcess.pxCsrfMitigation == false">
<pega:save name="servURL" ref="pxThread.pxReqURI"/>
</pega:when>
<pega:otherwise>
<pega:save name="servURL" append="/"/>
<pega:save name="servURL" appendRef="pxRequestor.pxReqContextName"/>
<pega:save name="servURL" append="/"/>
<pega:save name="servURL" appendRef="pxRequestor.pxReqServletNameReal"/>
</pega:otherwise>
</pega:choose>
<META http-equiv="refresh" content="0;URL=<pega:reference name="$save(servURL)" />">
Resolution
The Section rule "Web-Session-Return" is not marked as final so customizations can be done to it onsite.
When using SSO with WebSEAL or Siteminder simply remove the Meta refresh in the Web-Session-Return section.
Published January 31, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.