|
16 | 16 |
|
17 | 17 | package org.springframework.security.config.annotation.web.builders;
|
18 | 18 |
|
19 |
| -import jakarta.servlet.*; |
| 19 | +import java.io.IOException; |
| 20 | +import java.util.ArrayList; |
| 21 | +import java.util.List; |
| 22 | +import java.util.Map; |
| 23 | + |
| 24 | +import jakarta.servlet.Filter; |
| 25 | +import jakarta.servlet.FilterChain; |
| 26 | +import jakarta.servlet.ServletException; |
| 27 | +import jakarta.servlet.ServletRequest; |
| 28 | +import jakarta.servlet.ServletResponse; |
20 | 29 | import jakarta.servlet.http.HttpServletRequest;
|
| 30 | + |
21 | 31 | import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
22 | 32 | import org.springframework.beans.factory.ObjectProvider;
|
23 | 33 | import org.springframework.context.ApplicationContext;
|
|
38 | 48 | import org.springframework.security.config.annotation.web.RequestMatcherFactory;
|
39 | 49 | import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
40 | 50 | import org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration;
|
41 |
| -import org.springframework.security.config.annotation.web.configurers.*; |
| 51 | +import org.springframework.security.config.annotation.web.configurers.AnonymousConfigurer; |
| 52 | +import org.springframework.security.config.annotation.web.configurers.AuthorizeHttpRequestsConfigurer; |
42 | 53 | import org.springframework.security.config.annotation.web.configurers.AuthorizeHttpRequestsConfigurer.AuthorizationManagerRequestMatcherRegistry;
|
| 54 | +import org.springframework.security.config.annotation.web.configurers.ChannelSecurityConfigurer; |
| 55 | +import org.springframework.security.config.annotation.web.configurers.CorsConfigurer; |
| 56 | +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; |
| 57 | +import org.springframework.security.config.annotation.web.configurers.ExceptionHandlingConfigurer; |
| 58 | +import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer; |
| 59 | +import org.springframework.security.config.annotation.web.configurers.FormLoginConfigurer; |
| 60 | +import org.springframework.security.config.annotation.web.configurers.HeadersConfigurer; |
| 61 | +import org.springframework.security.config.annotation.web.configurers.HttpBasicConfigurer; |
| 62 | +import org.springframework.security.config.annotation.web.configurers.HttpsRedirectConfigurer; |
| 63 | +import org.springframework.security.config.annotation.web.configurers.JeeConfigurer; |
| 64 | +import org.springframework.security.config.annotation.web.configurers.LogoutConfigurer; |
| 65 | +import org.springframework.security.config.annotation.web.configurers.PasswordManagementConfigurer; |
| 66 | +import org.springframework.security.config.annotation.web.configurers.PortMapperConfigurer; |
| 67 | +import org.springframework.security.config.annotation.web.configurers.RememberMeConfigurer; |
| 68 | +import org.springframework.security.config.annotation.web.configurers.RequestCacheConfigurer; |
| 69 | +import org.springframework.security.config.annotation.web.configurers.SecurityContextConfigurer; |
| 70 | +import org.springframework.security.config.annotation.web.configurers.ServletApiConfigurer; |
| 71 | +import org.springframework.security.config.annotation.web.configurers.SessionManagementConfigurer; |
| 72 | +import org.springframework.security.config.annotation.web.configurers.WebAuthnConfigurer; |
| 73 | +import org.springframework.security.config.annotation.web.configurers.X509Configurer; |
43 | 74 | import org.springframework.security.config.annotation.web.configurers.oauth2.client.OAuth2ClientConfigurer;
|
44 | 75 | import org.springframework.security.config.annotation.web.configurers.oauth2.client.OAuth2LoginConfigurer;
|
45 | 76 | import org.springframework.security.config.annotation.web.configurers.oauth2.client.OidcLogoutConfigurer;
|
|
72 | 103 | import org.springframework.web.filter.CorsFilter;
|
73 | 104 | import org.springframework.web.servlet.handler.HandlerMappingIntrospector;
|
74 | 105 |
|
75 |
| -import java.io.IOException; |
76 |
| -import java.util.ArrayList; |
77 |
| -import java.util.List; |
78 |
| -import java.util.Map; |
79 | 106 |
|
80 | 107 | /**
|
81 | 108 | * A {@link HttpSecurity} is similar to Spring Security's XML <http> element in the
|
@@ -2844,6 +2871,24 @@ public HttpSecurity oidcLogout(Customizer<OidcLogoutConfigurer<HttpSecurity>> oi
|
2844 | 2871 | return HttpSecurity.this;
|
2845 | 2872 | }
|
2846 | 2873 |
|
| 2874 | + /** |
| 2875 | + * Configures OpenID Connect (OIDC) Back-Channel Logout support. |
| 2876 | + * |
| 2877 | + * <p>This method enables the configuration of OIDC Back-Channel Logout by applying |
| 2878 | + * the provided {@link Customizer} to an instance of {@link OidcLogoutConfigurer}. It |
| 2879 | + * initializes the back-channel logout support with default settings, making it easier |
| 2880 | + * to integrate with other logout configurations. |
| 2881 | + * |
| 2882 | + * <p>For example, to enable OIDC Back-Channel Logout with default settings: |
| 2883 | + * <pre> |
| 2884 | + * http.oidcBackChannelLogout(Customizer.withDefaults()); |
| 2885 | + * </pre> |
| 2886 | + * |
| 2887 | + * @param oidcBackChannelLogoutCustomizer the customizer to configure OIDC Back-Channel Logout options |
| 2888 | + * @return the {@code HttpSecurity} instance for further customizations |
| 2889 | + * @throws Exception if an error occurs during configuration |
| 2890 | + * @since 6.5 |
| 2891 | + */ |
2847 | 2892 | public HttpSecurity oidcBackChannelLogout(Customizer<OidcLogoutConfigurer<HttpSecurity>> oidcBackChannelLogoutCustomizer)
|
2848 | 2893 | throws Exception {
|
2849 | 2894 | oidcBackChannelLogoutCustomizer.customize(
|
|
0 commit comments