OIDC response_mode broken

163 views
Skip to first unread message

Patryk Sondej

unread,
Aug 4, 2024, 10:06:24 AM8/4/24
to CAS Community

In the CAS implementation of OIDC, there is an issue with the handling of the response_mode parameter. According to the OIDC documentation, when response_mode is set to form_post, the response should be returned in the form of a POST request. However, the current implementation returns the response in the fragment format regardless of the response_mode value.

Environment:

Steps to Reproduce:

  1. Set the response_type to id_token.
  2. Set the response_mode to form_post.
  3. Perform an OIDC login request.

Expected Behavior:

According to the OIDC documentation, the response should be returned as a POST request when response_mode is set to form_post. The response should be delivered via an form POST, not as a URL fragment.

Actual Behavior:

Regardless of the response_mode value, the response is always returned as a URL fragment (#), instead of a POST request. This behavior is inconsistent with the OIDC documentation.

Additional Notes:


Béla Újházi

unread,
Nov 6, 2024, 10:05:40 AM11/6/24
to CAS Community, Patryk Sondej
Hey all!

I have the same conclusion as Patryk. I built a CAS 7.1.1 recently with a minimal set of overlays to actually try out form_post. Turns out, even though I get HTTP POST on my redirect url instead of an HTTP GET, but there is no data in the POST and the actual token value comes as an URL fragment. I don't have to point out that this feature should have added an extra security on a possible UI flow, but we can't use it then. I don't see if there is a proper CAS Initialzr to build 6.x.x, but I thought of trying that out, hopefully it is ok. Can anyone confirm if there is an existing CAS which works well with this response_mode?

Jason Rocks

unread,
Jan 20, 2025, 10:57:25 PM1/20/25
to CAS Community, Patryk Sondej
I'm having the same issue.  Is there a fix for this?  

Béla Újházi

unread,
Feb 27, 2025, 11:21:29 AM2/27/25
to CAS Community, Jason Rocks, Patryk Sondej
Hi all!

Is there possibly some update about this one? Without a fix for this, only an inferior workflow could be implemented by anybody, which is clearly not that secure. Specification clearly states http post and I'm not sure after all this time, but I think some documentation on CAS also implied that this should work like the standard.
Reply all
Reply to author
Forward
0 new messages