Jaspersoft SSO Integration is not working with Internet Explorer
Enabled LDAP config for OneClick Sign On
Enabled SSO for Jaspersoft
Witness successful login to Jaspersoft using Chrome browser
Witness no login using I.E. – the login page loads but the creds are not auto-populated as expected
By Enabling Query Log debug in OneClick web server runtime, we were able to see a difference:
Here is the difference
I.E.:
Apr 06, 2017 20:34:38.241 (http-bio-80-exec-2) (QueryLog) - Query = SELECT reg_user, jasperOrganization from registry WHERE reg_user='System'
launchURL= http://hostname:8080/jasperserver-pro?
Chrome:
Apr 06, 2017 20:36:12.182 (http-bio-80-exec-1) (QueryLog) - Query = SELECT reg_user, jasperOrganization from registry WHERE reg_user='System'
SSO strats here...Administrator spectrum VzkZ9DutKo77YMsSz4Ej5p8TR0nycstG39j5WesDiWw=??1l52
launchURL= http://hostname:8080/jasperserver-pro?jaspertoken=VzkZ9DutKo77YMsSz4Ej5p8TR0nycstG39j5WesDiWw=??1l52&orgidl=spectrum
- The token does not get appended to the launchURL in I.E.
Step 1: Open the jasperView.jsp file from the location C:\win32app\Spectrum\tomcat\webapps\spectrum\repmgr
Step 2: Edit the jasperView.jsp file line number 148 from "String username = null;" to "String username = request.getRemoteUser();"
Step 3: Comment the lines from 151 to 167 like below.
/*String authHeader = request.getHeader("AUTHORIZATION");
if( authHeader != null && !"".equals(authHeader))
{
String[] authPieces = authHeader.split(" ");
if( authPieces[0].equals("Basic") )
{
byte[] buf = new BASE64Decoder().decodeBuffer( authPieces[1] );
String decodedAuth = new String( buf );
String[] decodedPieces = decodedAuth.split(":");
username = decodedPieces[0];
//Log here
}
else {
//Log here
}
}
*/
Step 4: Save the file and test the functionality.