Why am I receiving login looping requests in a dashboard widget that displays a report from JRS?
After adding a JRS report widget in either the personal or project dashboard, the report does not display data. Instead, the message indicating that I have to log into the server to view content repeats even after I select to log in and enter the correct username and password.
This problem occurs in version 5.0.2 when JRS is setup to run on HTTP and not HTTPS, and is not reproducible in CLM/JRS version 6.0
Steps to reproduce the issue:
1. Enable the following log4j loggers in IBM Rational Jazz Team Server (JTS):
log4j.logger.com.ibm.team.repository.service.internal.compatibility.auth=trace
log4j.logger.com.ibm.team.jfs.app.auth=trace
log4j.logger.com.ibm.team.repository.servlet=trace
log4j.logger.com.ibm.team.repository.service.internal.oauth=trace
log4j.logger.com.ibm.team.repository.service.internal.auth=trace
log4j.logger.com.ibm.team.repository.internal.service.auth.impl=trace
log4j.logger.com.ibm.team.repository.service.permission.SecurityHelper=debug
log4j.logger.net.jazz.ajax.service/AuthClient.oauth.dance=debug
-
Reload the log settings:
https://<server:port>/<app_context>/admin?internal=true#action=com.ibm.team.repository.admin.reloadLoggingSettings
-
On my personal dashboard, add a report widget that displays a JRS report.
-
In the widget, click on the 'Log in' link. Enter username and password to log in to the server
-
Confirm that the report does not display and the Log in link appears again
-
In jts.log, you will find errors similar to the ones below:2015-10-23 16:45:18,982 [http-bio-80-exec-3 @@ 16:44 <unauthenticated> <Initial Page Load@24843de9-8f71-488e-96c6-cb3db9b955ed> /jts/auth/authrequired] DEBUG am.repository.internal.service.auth.impl.CheckAuth - Handling OAuthProblemException "net.oauth.OAuthProblemException": "invalid_expired_token"
OR
2015-10-23 16:48:50,326 [http-bio-80-exec-17 @@ 16:48 <unauthenticated> <JazzHttpClient@9.23.46.31> /jts/jauth-check-auth] DEBUG am.repository.internal.service.auth.impl.CheckAuth - Handling OAuthProblemException "net.oauth.OAuthProblemException": "invalid_used_nonce"
3 answers
Add the following Java Virtual Machine (JVM) properties to all servers:
Name: com.ibm.team.jfs.app.oauth.OAuthHelper.disableSecureCookies Value: true
Name: com.ibm.team.jfs.app.oauth.usePlainText Value: true
Steps for servers running on IBM WebSphere:
I. Log in to the Integrated Solutions Console and click Servers > Server Types > WebSphere application servers > server1
II. Under Server Infrastructure, expand Java and Process Management and click Process definition
III. Click Java Virtual Machine and then click Custom properties
IV. Click New and add the following custom property:
Name: com.ibm.team.jfs.app.oauth.OAuthHelper.disableSecureCookies Value: true
V. Click New and add the following custom property:
Name: com.ibm.team.jfs.app.oauth.usePlainText Value: true
VI. Click Apply and Save directly to the master configuration
VII. For the changes to take effect, restart the application server
Steps for servers running on Apache Tomcat:
-
If using Tomcat startup script, add the following Java Options:
set JAVA_OPTS=%JAVA_OPTS% -Dcom.ibm.team.jfs.app.oauth.OAuthHelper.disableSecureCookies=true
set JAVA_OPTS=%JAVA_OPTS% -Dcom.ibm.team.jfs.app.oauth.usePlainText=true
-
If running Tomcat as Windows Service, add the following Java Options:
-Dcom.ibm.team.jfs.app.oauth.OAuthHelper.disableSecureCookies=true
-Dcom.ibm.team.jfs.app.oauth.usePlainText=true
Comments
Hi,
Was this resolved. We are facing a similar issue whereby the report is displayed after logging in. However, users have to login for each new session which is not ideal. I would like it if they did not have to login at all. Would adding these properties resolve this and what other impact does it have?