我想在没有由 LogoutPageGeneratingWebFilter 生成的默认注销页面的情况下实现 oauth2 注销。
然后如果可能的话,我想使用“/logout”网址。
但是,尽管我尝试在 LogoutPageGeneratingWebFilter 的位置设置过滤器,但我找不到如何禁用它。
当我尝试这个时,两个过滤器都起作用了。(我的过滤器和 LogoutPageGeneratingWebFilter。)
・我的期望
当我点击注销链接(url是“/logout”)时,注销的逻辑可以在不重定向默认注销页面的情况下工作。
我的示例课程如下。
@EnableWebFluxSecurity
public class SecurityConfig {
@Bean
public SecurityWebFilterChain configure(ServerHttpSecurity http) throws Exception {
return http
.authorizeExchange()
.pathMatchers("/", "/images/**").permitAll()
.anyExchange().authenticated()
.and()
.oauth2Login()
.and()
.logout()
.logoutSuccessHandler(logoutSuccessHandler()) // I'm sorry for omitting implementation of logoutSuccessHandler
.and()
.addFilterAt( new WebFilter() {
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
return chain.filter(exchange);
}
}, SecurityWebFiltersOrder.LOGOUT_PAGE_GENERATING)
.build();
}
}