Web pages request pending while authenticated by Keycloak SSO

Hello.
I’ve connected Keycloak Camunda plugin with SSO feature, as described in doc

Autentication is successful, i see this in Spring boot logs: user info, token, and even groups from Keycloak (camunda-admin) are all fetched successfully.

But any page of web apps (tasklist, cockpit) PENDING forever (page is empty, look at the image – but there are response headers, e.g. authorized apps)

No html content coming at all.
There are not any errors neither in app logs (trace level), Keycloak logs, nor in F12 console !

Appreciate any help!

Camunda 7.15.0
Spring boot 2.4.6 (gradle plugin version)
Chrome 93.0.4577.82 (cache was clean in Incognito mode), Safari 14.1.2
Keycloak 15.0.2 local installation (without Docker)

So both app and keycloak run are running locally.

@Niall @StephenOTT @Ingo_Richtsmeier

Hi! Sorry for disturbing, maybe you had such case in your practice ?

I’m definitely not a Keycloak expert (I can’t even get my Keycloak server properly authenticating, but that’s a matter for the Keycloak forums!!) but it looks like the authentication is happening but maybe the redirect URL is not set correctly so that the authentication, though it succeeds, never properly redirects?

Just a wild guess! Hoping someone with more Keycloak experience can step in.

Best Regards,
dg

1 Like

I’ve found, that content (text of index.html) after all filter chains become empty!

And so request of Camunda page pending, because the Content-length header > 0 .

I can manually (in debug mode) prevent Response’s content from deleting: if I write

response.getOutputStream().print(data)
instead of
response.getWriter().append(data)

web pages are loaded properly!

What can be the reason?

@davidgs , thanks for your answer very much :handshake: May be you have ideas about this corrected case.

@Niall , @StephenOTT , @Ingo_Richtsmeier , this code line in the ProcessEnginesFilter class,

Thank you.

The problem was with Logbook, that was in transitive dependencies.
After adding this config to yaml, the problem has gone:

# ! This config is MANDATORY – even if disabled !
logbook:
  filter:
    enabled: false   # or true if you need
  write:
    level: info
  format:
    style: http
1 Like