-
-
Notifications
You must be signed in to change notification settings - Fork 1.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
Logout of OIDC provider when logging out of Bookstack #3715
Comments
@hadiahmed098 Thanks for the suggestion. Relevant specs:
All in implementers draft standard, support will vary across identity providers. Existing OIDC work has been done to final spec standards. |
I found this spec on the OpenID website, it is also in implementers draft. (Note that the OpenID specification list doesn't include it under implementers draft, but this press release mentions it. The RP-initiated logout would be much simpler to implement, and is exactly what I had in mind. Keycloak, a fairly popular SSO IdP does support this, and since it's just a GET or POST request, it should be simple to ignore if the IdP does not support it. I would work on a PR, but my PHP is rather weak and I don't know how much help I could be. What do you think? |
The voting period to finalize the specification closes on Monday, so there should be an update on the specification after Tuesday, September 13. I'll keep an eye on it. |
@ssddanbrown The RP-Initiated logout procedure was promoted to a final specification. https://openid.net/specs/openid-connect-rpinitiated-1_0.html |
hi, i just recently tried OIDC method, then found this logout problem too. keycloak 22.0.0 |
@hadiahmed098 Do you still desire this feature? If so, Would you be able to confirm the software/service you're using for OIDC? Just to help me understand the OIDC platform landscape, and logout support, of those that desire this. |
hi, i'd desire this feature. i use a selfhosted keycloak instance for auth management. |
@ssddanbrown yes, this feature is still desired. I am running a self hosted Keycloak server v19.0.3 with Bookstack 23.06.1. I have successfully used the RP-initiated logout functionality across other self hosted sites. |
Okay, so only really demanded for keycloak so far. Follow up question to all for feedback: I'm thinking we'd enable logout automatically if the auth provider indicates support from autodiscovery. Does that sound sensible? Or could you see that being a nuisance for new and existing setups using OIDC? Sounds okay to me but I don't live in the realm of enterprise administration. Platform Support ChecksLikely RP-Initiated logout support based upon Note: It could be there are in-auth-platform settings which can affect this.
|
Would be useful for Authentik as well. |
Sorry for my late response, your plan sounds sensible. Getting the endpoint via autodiscovery with options to define/disable this makes sense to me, and keeps the flow of the other OIDC settings. I can't imagine there are any security implications with this, as long as the Bookstack session is ended before we send the request to the IdP. As for nuisances, I can't speak to that unless admins/users were relying on staying logged into an IdP while logging out of Bookstack. Also, after looking into it a bit Auth0 does support RP initiated endpoints as well. |
This functionality has now been added via @joancyho in PR #4467, with further changes via PR #4714. In contrary my previous comment, this will not be enabled by default via auto-discovery. I successfully tested the added functionality across the following auth systems:
Thanks again @hadiahmed098 for the original request and for pointing me to (and watching progress of) the spec. |
Describe the feature you'd like
When I press "Logout" on Bookstack, I only get logged out of Bookstack. If the authentication is through an OIDC provider, I'd want to be logged out of the provider as well.
There is an
end_session_endpoint
given in the OIDC discovery endpoint, so this shouldn't be too difficult to add.Describe the benefits this would bring to existing BookStack users
This feature is how the SAML method works, and is how SSO is supposed to work - single sign on, single logout.
If another person wants to log onto the Bookstack service and we are using OIDC, I need to logout of Bookstack and manually clear my OIDC tokens before they can log on.
Can the goal of this request already be achieved via other means?
Yes? Technically, using SAML would allow this to work, but I was unable to successfully get SAML setup, whereas the OIDC setup was quick and painless.
Have you searched for an existing open/closed issue?
How long have you been using BookStack?
0 to 6 months
Additional context
No response
The text was updated successfully, but these errors were encountered: