|
@@ -115,6 +115,21 @@ public final class OpenSamlLogoutRequestValidatorParametersResolverTests {
|
|
assertThat(parameters.getLogoutRequest().getSamlRequest()).isEqualTo(encoded);
|
|
assertThat(parameters.getLogoutRequest().getSamlRequest()).isEqualTo(encoded);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Test
|
|
|
|
+ void saml2LogoutResolveWhenUnauthenticatedGetRequestThenInflates() {
|
|
|
|
+ String registrationId = this.registration.getRegistrationId();
|
|
|
|
+ MockHttpServletRequest request = get("/logout/saml2/slo");
|
|
|
|
+ String logoutRequest = serialize(TestOpenSamlObjects.logoutRequest());
|
|
|
|
+ String encoded = Saml2Utils.samlEncode(Saml2Utils.samlDeflate(logoutRequest));
|
|
|
|
+ request.setParameter(Saml2ParameterNames.SAML_REQUEST, encoded);
|
|
|
|
+ given(this.registrations.findUniqueByAssertingPartyEntityId(TestOpenSamlObjects.ASSERTING_PARTY_ENTITY_ID))
|
|
|
|
+ .willReturn(this.registration);
|
|
|
|
+ Saml2LogoutRequestValidatorParameters parameters = this.resolver.resolve(request, null);
|
|
|
|
+ assertThat(parameters.getAuthentication()).isNull();
|
|
|
|
+ assertThat(parameters.getRelyingPartyRegistration().getRegistrationId()).isEqualTo(registrationId);
|
|
|
|
+ assertThat(parameters.getLogoutRequest().getSamlRequest()).isEqualTo(encoded);
|
|
|
|
+ }
|
|
|
|
+
|
|
@Test
|
|
@Test
|
|
void saml2LogoutRegistrationIdResolveWhenNoMatchingRegistrationIdThenSaml2Exception() {
|
|
void saml2LogoutRegistrationIdResolveWhenNoMatchingRegistrationIdThenSaml2Exception() {
|
|
MockHttpServletRequest request = post("/logout/saml2/slo/id");
|
|
MockHttpServletRequest request = post("/logout/saml2/slo/id");
|
|
@@ -129,6 +144,12 @@ public final class OpenSamlLogoutRequestValidatorParametersResolverTests {
|
|
return request;
|
|
return request;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private MockHttpServletRequest get(String uri) {
|
|
|
|
+ MockHttpServletRequest request = new MockHttpServletRequest("GET", uri);
|
|
|
|
+ request.setServletPath(uri);
|
|
|
|
+ return request;
|
|
|
|
+ }
|
|
|
|
+
|
|
private String serialize(XMLObject object) {
|
|
private String serialize(XMLObject object) {
|
|
try {
|
|
try {
|
|
Marshaller marshaller = XMLObjectProviderRegistrySupport.getMarshallerFactory().getMarshaller(object);
|
|
Marshaller marshaller = XMLObjectProviderRegistrySupport.getMarshallerFactory().getMarshaller(object);
|