Products | Versions |
---|---|
Spotfire Server | Spotfire server 14.0.0, 14.0.1, 14.1.0 |
The Spotfire server is configured with delegated Kerberos. On the web when the user clicks on the analytics tab or tries to open any report from the library, it tries to load something named “EmptyAnalysis”. It always takes approximately 3 minutes until it stops. The Web Player instance opens immediately after the “EmptyAnalysis” process. The above symptom is observed when the Delegation policy is "TRY". However with the Delegation policy as "Require" the delegation fails after approximately 3 minutes with error 401.
In the server.log, it has been observed that it tries to use the Spotfire Server principal instead of end-user credentials.
Below are the entries in server.log for 14.0.0
DEBUG 2024-01-17T12:19:36,797+0000 [unknown, #B-8, #80] server.security.KerberosAuthenticator: The service ticket for 'HTTP/spotfireserver.domain.com@DOMAIN.COM' is forwardable
DEBUG 2024-01-17T12:19:36,797+0000 [unknown, #B-8, #80] server.security.KerberosAuthenticator: No delegated Kerberos ticket found in the private credentials of HTTP/spotfireserver.domain.com@DOMAIN.COM'
DEBUG 2024-01-17T12:19:36,797+0000 [unknown, #B-8, #80] server.security.KerberosAuthenticator: Authentication handshake completed for principal 'HTTP/spotfireserver.domain.com@DOMAIN.COM''
DEBUG 2024-01-17T12:19:36,797+0000 [unknown, #B-8, #80] server.security.KerberosAuthenticator: Successfully authenticated user 'HTTP/spotfireserver.domain.com@DOMAIN.COM'' with GSS credentials DEBUG 2024-01-17T12:19:36,801+0000 [unknown, #B-8, #80] server.userdir.UserDirectoryImpl: Checking if the user principal HTTP/spotfireserver.domain.com@DOMAIN.COM' has been recently added to the external provider
However, it behaves normally in 12.0.0 or earlier versions and uses end-user credentials.
DEBUG 2024-01-17T12:37:21,115+0000 [unknown, #B-8, #219] server.security.KerberosAuthenticator: The incoming GSSCredential contains a Kerberos credential element of class sun.security.jgss.krb5.Krb5ProxyCredential
DEBUG 2024-01-17T12:37:21,115+0000 [unknown, #B-8, #219] server.security.KerberosAuthenticator: The service ticket for 'user@domain.com' is forwardable
DEBUG 2024-01-17T12:37:21,115+0000 [unknown, #B-8, #219] server.security.KerberosAuthenticator: No delegated Kerberos ticket found in the private credentials of user@domain.com
DEBUG 2024-01-17T12:37:21,115+0000 [unknown, #B-8, #219] server.security.KerberosAuthenticator: Authentication handshake completed for principal 'user@domain.com'
The issue has been identified as a defect with the httpclient5 and httpcore5 binaries in 14.0.0 and will be fixed in Spotfire version 14.0.2. The delegation works fine after upgrading httpclient5 and httpcore5 to the latest versions (5.3.1/5.2.4). Upgrade the Spotfire server to 14.0.2 version once released or follow the below steps to upgrade the httpclient5 and httpcore5 binaries manually