-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Closed
Labels
Milestone
Description
Describe the bug
Relay Status is optional value so if it is not provided or empty value, it doesn't need to be in signing calculation
To Reproduce
# in org.springframework.security.saml2.provider.service.web.authentication.OpenSamlAuthenticationRequestResolver#resolve(HttpServletRequest(HttpServletRequest, BiConsumber)
....
Map<String, String> parameters = OpenSamlSigningUtils.sign(registration)
.param(Saml2ParameterNames.SAML_REQUEST, deflatedAndEncoded)
.param(Saml2ParameterNames.RELAY_STATE, relayState).parameters();
builder.sigAlg(parameters.get(Saml2ParameterNames.SIG_ALG))
.signature(parameters.get(Saml2ParameterNames.SIGNATURE));
Expected behavior
# L177 in org.springframework.security.saml2.provider.service.web.authentication.OpenSamlAuthenticationRequestResolver
...
.param(Saml2ParameterNames.RELAY_STATE, relayState).parameters();
should be included optionally when it is not empty or null.