-
Notifications
You must be signed in to change notification settings - Fork 25.1k
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
Support HTTP-POST binding for SAML logout #43264
Comments
Pinging @elastic/es-security |
can I have a look into it @tvernum ? |
@abhiroj If you know something about SAML and have an environment to test in, then that would be great. |
sure, I can get started on it with setting up of a test env. can you point to some reference docs for that? |
Sorry, No. For elasticsearch in general there is a contributing guide that covers running tests, but we don't have any docs that explain how to test SAML with a real Identity Provider. Something with the Good First Issue label might be a better option to get started with. |
This issue is very much related to #40901. When Kibana recieves the POST request from the idP (with browser as the mediating agent), elasticsearch has already logged user out of the system, i.e. tokens are invalidated. That is, in terms of workflow, both the HTTP-Redirect and the HTTP-POST requests come into play at exactly the same position. For HTTP-Redirect, Kibana simply ignores it. So as a minimal effort, the HTTP-POST binding can be supported in the same way, i.e. just add a POST route to logout for Kibana and ignore the incoming request.
In summary, this issue by itself can be fixed trivially. A more involved fix on the elasticsearch side can be leverage for both this issue and #40901. |
There was a mistake in #56316's description. It didn't close this. Reopenning. |
At the moment we only support the
HTTP-Redirect
binding for Logout (andHTTP-POST
for Authentication).This is because it is the recommendation in the SAML 2 Interoperability Profile that SPs and IdP use
HTTP-Redirect
for logout. An early (unreleased) implementation of our logout code used POST because we already had the signature checking code for POST, but we switched to Redirect to conform with the interop profile.However, we've started to see one popular IdP send
LogoutResponse
messages using theHTTP-POST
binding, and we already have most of the necessary code for handingHTTP-POST
so we probably can support it in addition to the (preferred)HTTP-Redirect
binding.Note: This will require a change in Kibana as well, because the Kibana
/logout
route currently only supportsGET
.Relates: #40901
The text was updated successfully, but these errors were encountered: