There's a little bug in the way URLs are created.
Basically, the code does not account for clean urls and in two locations and URLs are formed as if clean URLs are not used, ever - on lines 83 and 152, "'&slave_session=' . session_id()" is appended to the $uri variable but if clean URLs are used, the variable prefix should not be '&' but '?', because it's like if no variable has been set yet.
In order to get away with my sloppy explanation, I'll give an example:
When clean URLs are not active, the generated URL is valid: http://domain.com/?q=singlesigon/initial_check&slave_session=...
But when clean URLs are active, the generated URL is not valid anymore: http://domain.com/singlesigon/initial_check&slave_session=...
A valid URL for using with clean URLs would be: http://domain.com/singlesigon/initial_check?slave_session=...
(notice the difference: '?' and not '&' before slave_session).
So the fix is quite simple: we just check if clean URLs are enabled and if so, instead of '&' we use '?' to prefix the first URL variable.
Hope this helps.
| Comment | File | Size | Author |
|---|---|---|---|
| singlesignon_clean_urls_fixed.patch.txt | 381 bytes | borfast |
Comments
Comment #1
danielc commentedI committed a fix to CVS a moment ago. Please grab it and let me know if it works. Thanks for the report.
Comment #2
Tobias Maier commentedComment #3
(not verified) commented