-
-
Notifications
You must be signed in to change notification settings - Fork 473
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
Possible bug in Utils::validateBinarySign() #466
Comments
URL encoding could be done uppercase or lowercase and in addition, can be done following RFC 3986 or not. The extractOriginalQueryParam already get the parameter as its received at the server, so it is already urlencoded. |
@pitbulk, are you open for a pull request which would remove the explicit call to That would really help us (Nextcloud), as this would remove another custom configuration. |
But removing retrieveParametersFromServer will create compatibility issues with old versions and entities connected to ADFS IdPs will have to validate the SAMLResponse 2 times. I believe makes more sense to maintain this setting rather than the extra resources required for the x2 validation on each SSO or SLO process. |
Some SAML servers require this type of decoding, otherwise the SLO request fails. Ideally the library would perform both verifications (SAML-Toolkits/php-saml#466), but it seems upstream doesn't want to perform this change. Until we have considered a better solution for this, this adds a new checkbox that one can configure. Ref #403 Signed-off-by: Lukas Reschke <[email protected]>
Some SAML servers require this type of decoding, otherwise the SLO request fails. Ideally the library would perform both verifications (SAML-Toolkits/php-saml#466), but it seems upstream doesn't want to perform this change. Until we have considered a better solution for this, this adds a new checkbox that one can configure. Ref #403 Signed-off-by: Lukas Reschke <[email protected]>
I may have found a bug with this issue, not sure. The reason It works when you call processSLO with $retrieveParametersFromServer set to false is because the signed query does not get URL encoded before validation against the certificate. The offending code starts on Utils.php:1505. Because the signed query is URL encoded the url's don't match what's in the logout response and it throws an error.
I could be wrong idk
Originally posted by @rudischenck in #80 (comment)
The text was updated successfully, but these errors were encountered: