mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-05-04 18:08:46 +03:00
SAML SLS Logout not working, signature validation failed #1742
Closed
opened 2026-02-05 01:45:29 +03:00 by OVERLORD
·
7 comments
No Branch/Tag Specified
development
l10n_development
release
v26-03
ci_fixing
codeberg-actions
lexical_may_2026
MilnerMart/development
sort_rule_text
GamerClassN7/impersonations-for-admin
Zhey-on/feature/csp-image-css-controls-6033
tortillas5/development
clauvaldez/mfaReset
llm_only
vectors
McTom234/oidc-key-algorithms
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v26.03.4
v26.03.3
v26.03.2
v26.03.1
v26.03
v25.12.9
v25.12.8
v25.12.7
v25.12.6
v25.12.5
v25.12.4
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#1742
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @whentotrade on GitHub (May 20, 2020).
Describe the bug
SAML Login workflow is working fine with configuration. However, SLS logout service failes on the bookstack SP with error message
"Invalid SLS Response: invalid_logout_response" with text
"Signature validation failed. Logout Response rejected."
The logout workflow works on the IdP as the user is logged out in the primary IdP environment. However, the HTTP-redirect binding for SO by bookstack delivers the error above. As result, the user is never logged out from bookstack, while correctly logged out at the other app by the IdP.
What is missing here? It looks like a missing signature which need to be set somewhere? But I cant see any additional options to configure the SAML processing via the env file. Is this related to the issue reported #1926 ?
Expected behavior
User should be logged out of the bookstack instance via the SAML SLS HTTP-redirect. As login is working and as the logout is processed correctly by the IdM provider app.
Additional context
#1926
@babington-andy commented on GitHub (Jun 15, 2020):
I'm experiencing the same issue, which IDP are you using?
I'm using Azure AD and when investigating the SAML logout response and attempting to validate it using https://www.samltool.com/validate_logout_res.php I get the same error message, so it appears that (at least in my case) the IDP is to blame because it's incorrectly signing the response. I could be wrong about that though, happy to be corrected.
@whentotrade commented on GitHub (Aug 10, 2020):
@babington-andy I am using a wordpess plugin as IdP - which works great with other SPs. Just the logout flow with bookstack is giving this error. I how no solution until now..
@deano2point0 commented on GitHub (Oct 23, 2020):
I am receiving the same Error message using Azure AD as my idP. Been trying to solve it without any success.
@tmrhymer commented on GitHub (Jan 18, 2021):
Also experiencing this. Eventually the authentication session expires on Bookstack but its concerning that the Logout button does not actually log you out of Bookstack with SAML enabled.
@ehv1 commented on GitHub (Aug 18, 2021):
I expierenced the same problem, but also found a way to fix this.
Please take a look here:
https://stackoverflow.com/questions/41894290/centrify-azure-as-idp-does-not-return-logoutresponse-on-single-log-out
[snip]
UPDATE regarding Azure
If you are using the Onelogin PHP Toolkit, then you also have to enable the 'retrieveParametersFromServer'-Setting, otherwise the logout response will always end up with a 'Signature validation failed. Logout Request rejected' error.
[/snip]
So the solution is to change the third parameter from false to true in the $toolkit->processSLO function in class BookStack\Auth\Access\Saml2Service:
Eventually this will lead to the function OneLogin\Saml2\Utils::validateBinarySign being called with the 4th parameter $retrieveParametersFromServer to be true instead of false.
According to the function description this parameter indicates where to get the values in order to validate the Sign, from getData or from $_SERVER.
So in case of Azure, this needs to be truthy and fetched from $_SERVER['QUERY_STRING'].
I just tested it and it works like a charm!
@justarandomsysadmin commented on GitHub (Sep 9, 2021):
I can not confirm that. I'm also using Azure and had experienced the logout error from the title. When I switch that parameter from false to true I just get an Azure Error instead of that bookstack error (and I'm still logged in).
AADSTS50068: Signout failed. The initiating application is not a participant in the current session.
@ssddanbrown commented on GitHub (Oct 25, 2021):
As per #2902, and issue #1925, a range of changes have now been made for BookStack v21.10.
The new
SAML2_SP_x509andSAML2_SP_x509_KEYoptions, which enable SP SLS signing, can be seen in the updated documentation:https://www.bookstackapp.com/docs/admin/saml2-auth/
For ADFS usage, these will need to be set with a service provider certificate and key, with the certificate also added on the ADFS side for SLS request signing.
Will therefore close this off but please open a new issue if there are problems with the updated implementation.