Skip to content

Commit 07e0b1d

Browse files
aspanjzheaux
authored andcommitted
Saml2 LogoutFilter Is Placed Before Common LogoutFilter
Closes gh-14525
1 parent 05d3c4b commit 07e0b1d

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

config/src/main/java/org/springframework/security/config/annotation/web/configurers/saml2/Saml2LogoutConfigurer.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,12 +268,14 @@ private Saml2LogoutResponseFilter createLogoutResponseProcessingFilter(
268268
return postProcess(logoutResponseFilter);
269269
}
270270

271-
private LogoutFilter createRelyingPartyLogoutFilter(RelyingPartyRegistrationResolver registrations) {
271+
private Saml2RelyingPartyInitiatedLogoutFilter createRelyingPartyLogoutFilter(
272+
RelyingPartyRegistrationRepository registrations) {
272273
LogoutHandler[] logoutHandlers = this.logoutHandlers.toArray(new LogoutHandler[0]);
273274
Saml2RelyingPartyInitiatedLogoutSuccessHandler logoutRequestSuccessHandler = createSaml2LogoutRequestSuccessHandler(
274275
registrations);
275276
logoutRequestSuccessHandler.setLogoutRequestRepository(this.logoutRequestConfigurer.logoutRequestRepository);
276-
LogoutFilter logoutFilter = new LogoutFilter(logoutRequestSuccessHandler, logoutHandlers);
277+
Saml2RelyingPartyInitiatedLogoutFilter logoutFilter = new Saml2RelyingPartyInitiatedLogoutFilter(
278+
logoutRequestSuccessHandler, logoutHandlers);
277279
logoutFilter.setLogoutRequestMatcher(createLogoutMatcher());
278280
return postProcess(logoutFilter);
279281
}
@@ -568,4 +570,13 @@ private static Saml2LogoutRequestResolver getLogoutRequestResolver(
568570

569571
}
570572

573+
private static class Saml2RelyingPartyInitiatedLogoutFilter extends LogoutFilter {
574+
575+
public Saml2RelyingPartyInitiatedLogoutFilter(LogoutSuccessHandler logoutSuccessHandler,
576+
LogoutHandler... handlers) {
577+
super(logoutSuccessHandler, handlers);
578+
}
579+
580+
}
581+
571582
}

0 commit comments

Comments
 (0)