Mashup gadget does not load after browser refresh
User has embedded the Mashup gadget in an external application. For the first time its loading as expected.
However, error occurs when user performs a browser refresh.
Cross-Origin Read Blocking (CORB) blocked cross-origin response https://hostname/prweb/7XvIRMgtsV4FGmAS4uqiH5VXALkwDqxt1hwFxX5fk94%5B*/!STANDARD?pzuiactionzzz=CXtpbn00SVlneW5qaVZpVVZZUS9PVU5SR1dubEllcWorQW5PMmE1Z05oa2RjU2Qvb3dKazU4MWtCSUxrOXFOd09NWFd4Q2xJcTFzN1NoZHQvK0U2Mm9WeDREcUNESmlCUzRzRnhtZDI4dm9Xb2huWT0%3D* with MIME type text/html.
Steps to Reproduce
- Configure a Mashup gadget
- Embed the gadget in an external application
- Refresh the browser
A defect in Pegasystems’ code or rules.
During the authentication, the query string which was passed previously was not set in the redirected URL. However, on refresh the same query string (which is stale) is set while redirecting which is results in the error.
ResolutionPerform the following local-change:
Add the below java snippet as last steps in the authentication activity:
Class<?> c = Class.forName("com.pega.pegarules.session.external.mgmt.IPRRequestor");
java.lang.reflect.Method m = c.getMethod("getAndResetQueryStringForRedirect");
oLog.error("Error in clearing query string", e);
Note: A warning log as below will display each time the user logs in after the local-change:
Invalid reference to non-public interface from class "com.pegarules.generated.activity.sh_action_authactivity_032ddb2c7a6436eef55acb78b152f2e2" to "com.pega.pegarules.session.external.mgmt.IPRRequestor"