Support Article
SSO Authentication failing with PRRuntimeException
SA-8368
Summary
SSO authentication failing in PRPC. We are using SiteMinder for SSO authentication and we see the authentication activity configured in Authentication Service is getting executed fine however after the execution of activity, PRPC is throwing PRRuntimeException.
Error Messages
2015-03-18 13:41:31,096 [egaRULES-MasterAgent] [ STANDARD] [ ] [ ] ( internal.async.Agent) INFO - System date: Wed Mar 18 13:41:31 EDT 2015 Total memory: 2,134,900,736 Free memory: 812,492,072 Requestor Count: 14 Shared Pages memory usage: 0%
2015-03-18 13:44:41,604 [.1.1.1:8080-01] [ STANDARD] [ ] [thenticated:01.01.01] (ntication.Code_Security.Action) INFO server1.com|1.1.1.1 - Auth started
2015-03-18 13:44:41,604 [.1.1.1:8080-01] [ STANDARD] [ ] [thenticated:01.01.01] (ntication.Code_Security.Action) INFO server1.com|1.1.1.1 - Param.UserIdentifier 000001001
2015-03-18 13:44:41,604 [.1.1.1:8080-01] [ STANDARD] [ ] [thenticated:01.01.01] (ntication.Code_Security.Action) INFO server1.com|1.1.1.1 - Verification Activity
2015-03-18 13:44:41,604 [.1.1.1:8080-01] [ STANDARD] [ ] [thenticated:01.01.01] (ntication.Code_Security.Action) INFO server1.com|1.1.1.1 - WASIDnull:FULLNAMEDummy User001:USERDN000001001
2015-03-18 13:44:41,610 [.1.1.1:8080-01] [ STANDARD] [ ] [thenticated:01.01.01] (ntication.Code_Security.Action) INFO server1.com|1.1.1.1 - Dummy User001UserName
2015-03-18 13:44:41,610 [.1.1.1:8080-01] [ STANDARD] [ ] [thenticated:01.01.01] (ntication.Code_Security.Action) INFO server1.com|1.1.1.1 - Before ENDing
2015-03-18 13:44:41,610 [.1.1.1:8080-01] [ STANDARD] [ ] [thenticated:01.01.01] (ntication.Code_Security.Action) INFO server1.com|1.1.1.1 - The END
2015-03-18 13:44:41,610 [.1.1.1:8080-01] [ STANDARD] [ ] [thenticated:01.01.01] (ngineinterface.service.HttpAPI) ERROR server1.com|1.1.1.1 - 1.1.1.1: com.pega.pegarules.pub.PRRuntimeException
com.pega.pegarules.pub.PRRuntimeException: No failure response set by custom authentication activity
at com.pega.pegarules.session.internal.mgmt.authentication.SchemePRCustom.onAuthenticationFailure(SchemePRCustom.java:950)
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.doAuthentication(Authentication.java:623)
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.GeneratedMethodAccessor119.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1188)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:926)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:811)
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequest(EngineAPI.java:330)
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.invoke(HttpAPI.java:839)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:315)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:263)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:240)
at com.pega.pegarules.priv.context.JNDIEnvironment.invokeEngineInner(JNDIEnvironment.java:278)
at com.pega.pegarules.priv.context.JNDIEnvironment.invokeEngine(JNDIEnvironment.java:223)
at com.pega.pegarules.web.impl.WebStandardImpl.makeEtierRequest(WebStandardImpl.java:485)
at com.pega.pegarules.web.impl.WebStandardImpl.doPost(WebStandardImpl.java:290)
at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:338)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:379)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:216)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:265)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doPost(WebStandardBoot.java:118)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doGet(WebStandardBoot.java:89)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:420)
at org.jboss.as.web.session.ClusteredSessionValve.handleRequest(ClusteredSessionValve.java:134)
at org.jboss.as.web.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:99)
at org.jboss.as.web.session.JvmRouteValve.invoke(JvmRouteValve.java:92)
at org.jboss.as.web.session.LockingValve.invoke(LockingValve.java:64)
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:490)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:420)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
at java.lang.Thread.run(Thread.java:745)
Steps to Reproduce
Create Authentication Service.
Write Authentication Activity - DEMOSSOAuthentication
Configure Authentication Service.
Enable SSO
Try login through SSO, we get PRRuntimeException
Root Cause
The root cause of this problem is a defect in customer application code/rules. Need to make a change to authentication activity.
Resolution
Modified the SSO authentication activity - DEMOSSOAuthentication to pass Param.UserIdentifier to VerifyAuthentication activity.
Published April 3, 2015 - 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.