Support Article
SSO: Single Signon activity throwing error
SA-50882
Summary
User is trying to implement Single Sign-on using PRCustom and SPNEGO. They have configured SPNEGO on tomcat and it is working fine.
When the custom Code-Security authentication activity defined in the AuthService is run, then an exception occurs.
Error Messages
Exception in log file:
Problem executing activity: Code-Security.SSOSampleAuthActivity
com.pega.pegarules.pub.context.PRSecurityException: Invalid request
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.verifyActivityAccess(Authentication.java:2086)
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.verifyActivityAccess(Authentication.java:2040)
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.setUserSecurityProfile(Authentication.java:1310)
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.setUserSecurityProfile(Authentication.java:1477)
at com.pegarules.generated.activity.ra_action_ssosampleauthactivity_2fc7da91d559cf3b23dc42e5dd9bca50.step5_circum0(ra_action_ssosampleauthactivity1_2fc7da91d559cf3b23dc42e5dd9bca50.java:534)
at com.pegarules.generated.activity.ra_action_ssosampleauthactivity_2fc7da91d559cf3b23dc42e5dd9bca50.perform(ra_action_ssosampleauthactivity1_2fc7da91d559cf3b23dc42e5dd9bca50.java:147)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3375)
at com.pega.pegarules.session.internal.mgmt.authentication.AuthenticationUtil.runActivity(AuthenticationUtil.java:208)
at com.pega.pegarules.session.internal.mgmt.authentication.SchemePRCustom.authenticateOperator(SchemePRCustom.java:695)
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.doAuthentication(Authentication.java:452)
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.handleAuthentication(HttpAPI.java:2168)
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.activityExecutionProlog(EngineAPI.java:547)
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequestInner(EngineAPI.java:382)
at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
....
Steps to Reproduce
Not Applicable
Root Cause
The custom servlet defined in the web.xml is properly set to use PRCustom as the AuthType.
The activity was using PRExternal style authentication and calling setUserSecurityProfile in step 5 of the custom activity.
Since the AuthType is PRCustom the usage of setUserSecurityProfile is not allowed and an exception is thrown.
Resolution
Update authentication activity to use PRCustom style configuration.
Published April 12, 2018 - 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.