-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
bug: openid-connect: Logout not working using Firefox Version >= 128.0 #11492
Comments
Hey @markusmueller! 👋 I'm here to help you with any bugs, questions, or contributions you have regarding our repository. To address the issue with the
This patch ensures that when the |
@dosu I tried modifying the original openid-connect plugin, however I get the following error when trying: the original plugin works correctly with the same configuration. UpdateI have personally solved following a different approach, I have written a patched openidc.lua that has the lines:
commented (lines from 1314 to 1323) Works perfectly for me |
@markusmueller the issue is due to the decision of lua-resty-openidc to support a peculiar Single Logout implemented by PingFederate, so it's nothing apisix can do unless forking the library and removing this custom PF logout support. |
Interesting to see where the PNG based logout originated, thanks for the update @francescodedomenico! |
What I did as quick win for the moment: Using the serverless-pre-function plugin and apply a part of the code mentioned here: #11492 (comment)
|
The bug is fixed in the lua-resty-openidc now. Was this code included in the last release? zmartzone/lua-resty-openidc#525 |
Current Behavior
Using Firefox version >= 128.0 the
/logout
path provided by the openid-connect plugin is not redirecting to the configured IDP for logout but instead returning a 1x1 pixel image.Root Cause:
Firefox Version 128.0 changed the
network.http.accept
default value also addingimage/png
.This is causing lua-resty-openidc used by the openid-connect plugin to return the image.
There is already a discussion on lua-resty-openidc.
Once the issue is resolved upstream the dependency should be updated.
A possible workaround in the meantime is patching the openid-connect plugin and overwriting the
Accept
header for the/logout
path in openid-connect.lua:ngx.req.set_header("Accept", "text/html")
Expected Behavior
Using Firefox v 128.0 the path
/logout
will redirect to the configured IDP for logout.Error Logs
No response
Steps to Reproduce
Configure Apisix openid-connect plugin with logout and hit
/logout
using Firefox version >= 128.0.Environment
apisix version
):uname -a
):openresty -V
ornginx -V
):curl http://127.0.0.1:9090/v1/server_info
):luarocks --version
):The text was updated successfully, but these errors were encountered: