Use Base64 encoder with no CRLF in output for SAML 2.0 messages
Closes gh-11262
This commit is contained in:
parent
bcd104763e
commit
f2d6ead398
|
@ -260,7 +260,7 @@ public class Saml2LoginConfigurerTests {
|
|||
public void authenticateWithInvalidDeflatedSAMLResponseThenFailureHandlerUses() throws Exception {
|
||||
this.spring.register(CustomAuthenticationFailureHandler.class).autowire();
|
||||
byte[] invalidDeflated = "invalid".getBytes();
|
||||
String encoded = Saml2Utils.samlEncodeNotRfc2045(invalidDeflated);
|
||||
String encoded = Saml2Utils.samlEncode(invalidDeflated);
|
||||
MockHttpServletRequestBuilder request = get("/login/saml2/sso/registration-id").queryParam("SAMLResponse",
|
||||
encoded);
|
||||
this.mvc.perform(request);
|
||||
|
|
|
@ -36,7 +36,7 @@ final class Saml2Utils {
|
|||
}
|
||||
|
||||
static String samlEncode(byte[] b) {
|
||||
return Base64.getMimeEncoder().encodeToString(b);
|
||||
return Base64.getEncoder().encodeToString(b);
|
||||
}
|
||||
|
||||
static byte[] samlDecode(String s) {
|
||||
|
|
|
@ -40,7 +40,7 @@ final class Saml2Utils {
|
|||
}
|
||||
|
||||
static String samlEncode(byte[] b) {
|
||||
return Base64.getMimeEncoder().encodeToString(b);
|
||||
return Base64.getEncoder().encodeToString(b);
|
||||
}
|
||||
|
||||
static byte[] samlDecode(String s) {
|
||||
|
|
|
@ -40,7 +40,7 @@ final class Saml2Utils {
|
|||
}
|
||||
|
||||
static String samlEncode(byte[] b) {
|
||||
return Base64.getMimeEncoder().encodeToString(b);
|
||||
return Base64.getEncoder().encodeToString(b);
|
||||
}
|
||||
|
||||
static byte[] samlDecode(String s) {
|
||||
|
|
|
@ -40,7 +40,7 @@ final class Saml2Utils {
|
|||
}
|
||||
|
||||
static String samlEncode(byte[] b) {
|
||||
return Base64.getMimeEncoder().encodeToString(b);
|
||||
return Base64.getEncoder().encodeToString(b);
|
||||
}
|
||||
|
||||
static byte[] samlDecode(String s) {
|
||||
|
|
|
@ -32,13 +32,8 @@ public final class Saml2Utils {
|
|||
private Saml2Utils() {
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static String samlEncodeNotRfc2045(byte[] b) {
|
||||
return Base64.getEncoder().encodeToString(b);
|
||||
}
|
||||
|
||||
public static String samlEncode(byte[] b) {
|
||||
return Base64.getMimeEncoder().encodeToString(b);
|
||||
return Base64.getEncoder().encodeToString(b);
|
||||
}
|
||||
|
||||
public static byte[] samlDecode(String s) {
|
||||
|
|
|
@ -65,7 +65,7 @@ public class Saml2AuthenticationTokenConverterTests {
|
|||
.willReturn(this.relyingPartyRegistration);
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.setParameter(Saml2ParameterNames.SAML_RESPONSE,
|
||||
Saml2Utils.samlEncodeNotRfc2045("response".getBytes(StandardCharsets.UTF_8)));
|
||||
Saml2Utils.samlEncode("response".getBytes(StandardCharsets.UTF_8)));
|
||||
Saml2AuthenticationToken token = converter.convert(request);
|
||||
assertThat(token.getSaml2Response()).isEqualTo("response");
|
||||
assertThat(token.getRelyingPartyRegistration().getRegistrationId())
|
||||
|
@ -79,7 +79,7 @@ public class Saml2AuthenticationTokenConverterTests {
|
|||
given(resolver.resolve(any(HttpServletRequest.class), any())).willReturn(this.relyingPartyRegistration);
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.setParameter(Saml2ParameterNames.SAML_RESPONSE,
|
||||
Saml2Utils.samlEncodeNotRfc2045("response".getBytes(StandardCharsets.UTF_8)));
|
||||
Saml2Utils.samlEncode("response".getBytes(StandardCharsets.UTF_8)));
|
||||
Saml2AuthenticationToken token = converter.convert(request);
|
||||
assertThat(token.getSaml2Response()).isEqualTo("response");
|
||||
assertThat(token.getRelyingPartyRegistration().getRegistrationId())
|
||||
|
@ -131,7 +131,7 @@ public class Saml2AuthenticationTokenConverterTests {
|
|||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.setMethod("GET");
|
||||
byte[] deflated = Saml2Utils.samlDeflate("response");
|
||||
String encoded = Saml2Utils.samlEncodeNotRfc2045(deflated);
|
||||
String encoded = Saml2Utils.samlEncode(deflated);
|
||||
request.setParameter(Saml2ParameterNames.SAML_RESPONSE, encoded);
|
||||
Saml2AuthenticationToken token = converter.convert(request);
|
||||
assertThat(token.getSaml2Response()).isEqualTo("response");
|
||||
|
|
Loading…
Reference in New Issue