docs(sso): document the session cookie setting SAML requires (7 languages) - #480
Open
marevol wants to merge 1 commit into
Open
docs(sso): document the session cookie setting SAML requires (7 languages)#480marevol wants to merge 1 commit into
marevol wants to merge 1 commit into
Conversation
…ages) The SAML page never mentioned `tomcat.sameSiteCookies`, yet SAML SSO does not work on a default install without changing it. The IdP returns the assertion as a cross-site POST, and a `SameSite=Lax` cookie is not sent on one. Fess ships `tomcat.sameSiteCookies = lax`, and because the attribute is set explicitly the "Lax + POST" grace period does not apply either, so the session that holds the AuthnRequest ID is unreachable when the assertion arrives. The comment on the setting in `tomcat_config.properties` already names SAML's HTTP-POST binding as a case that needs `none`; the SAML page did not. Adds a "Session Cookie Configuration" section after "Enabling SSO" covering the value, where the file lives in each package (`lib/classes/` for ZIP, `/etc/fess/` for DEB/RPM), the HTTPS requirement that `none` brings with it, and that a restart is needed. Applied to the 15.8 pages in all seven languages. Checks: `tools/check_headings.py` over the versions.json current versions exits 0 and reports no new findings; `tools/update_eol.py --check` and the tools unit tests pass; all seven changed pages parse with no title underline or section errors.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The SAML configuration page never mentioned
tomcat.sameSiteCookies, yet SAML SSO does not work on a default install without changing it.The IdP returns the assertion to Fess as a cross-site POST (SAML's HTTP-POST binding). A
SameSite=Laxcookie is not sent on such a request, and Fess shipstomcat.sameSiteCookies = laxintomcat_config.properties. Because the attribute is set explicitly, Chrome's two-minute "Lax + POST" grace period does not apply either — that only covers cookies with noSameSiteattribute at all. The session that holds the AuthnRequest ID is therefore unreachable when the assertion arrives, and the login cannot complete.The comment on the setting in
tomcat_config.propertiesalready names SAML's HTTP-POST binding as a case that needsnone. The SAML page did not, so there was no way to discover the requirement from the documentation.Change
Adds a "Session Cookie Configuration" section after "Enabling SSO", covering:
lib/classes/for the ZIP,/etc/fess/for DEB/RPM (verified againstsrc/main/assemblies/common-bin.xmland the jdeb/rpm mappings inpom.xml, not assumed)noneis only accepted on aSecurecookie, so Fess must be served over HTTPS — on plain HTTP the setting makes login impossiblelaxdefault exists for redirect-based (GET) SSO callbacks, so this change is only needed for SAML, and that a restart is requiredApplied to the 15.8 pages in all seven languages.
Companion to codelibs/fess#3239, which stops the same missing cookie turning into an infinite redirect loop. That change makes the failure visible and logged; this one tells operators how to avoid it.
Checks
All seven changed pages were also parsed with docutils: no title underline or section title errors (the CJK underline widths were computed, not eyeballed).