-
Notifications
You must be signed in to change notification settings - Fork 5.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OIDC Backchannel Logout should allow logout tokens having typ
header of logout+jwt
#15003
Comments
Thanks for the report, @justin-tay. Since this is not required by the spec, but only recommended, I've published this to |
Today, Keycloak 25 has been released. In this version they set the type of the backchannel logout request to As Keycloak is a very widespread IAM tool, it might be worth thinking about backporting this fix. |
@jzheaux I tried to use a custom If you have any idea to how workaround this issue, I'd highly appreciate it. Nevertheless, a |
@OLibutzki Just experienced this issue today. I'm working on an sample project and article for configuring multi tenant login with the latest versions of keycloak (25) and spring boot (spring security 6.3.0). Obviously I wouldn't recommend this for production but I was able to get it working by building the latest source in the main branch and then using the spring-security-config-6.4.0-SNAPSHOT jar. It's fine for me since this is just for a sample project which I'll update when spring security 6.4.0 comes out. Once I started using the new jar I came across another issue which is discussed in #14553. I'm running my spring boot app behind an ngrok tunnel so I had to explicity set the backchannel logout URI as by default it points to localhost WITHOUT the server port which obviously won't work.
With this in place backchannel logout works great. |
@jeffvictor thanks for confirming. As you said, in a sample project it's ok to use the latest 6.4.0-SNAPSHOT, but that's not feasable for production. I created a PR for backporting to 6.2.x: #15277 |
@jzheaux Do you also plan to backport this to |
Closes spring-projectsgh-15003 (cherry picked from commit 9101bf1)
typ
header of logout+jwt
typ
header of logout+jwt
typ
header of logout+jwt
typ
header of logout+jwt
Is there any reason that a fix to also support
|
Describe the bug
OIDC Backchannel Logout does not allow logout tokens having
typ
header oflogout+jwt
. By default the logoutTokenDecoderFactory creates a decoder that only allowsnull
orJWT
and this logoutTokenDecoderFactory doesn't seem to be easily configurable using the DSL.In the OpenID Connect Back-Channel Logout specification it is recommended that the
typ
Header Parameter is set with a value oflogout+jwt
.To Reproduce
Have an identity provider send a back-channel logout request to the Spring backend with a logout token with
typ
header oflogout+jwt
instead ofJWT
.An error
[invalid_request] An error occurred while attempting to decode the Jwt: JOSE header typ (type) logout+jwt not allowed
occurs.Expected behavior
The OIDC Backchannel Logout should by default accept and process tokens having
typ
header oflogout+jwt
.The text was updated successfully, but these errors were encountered: