使用WebFlux和OAuth2(oauth2Login)的Spring Security的自定义登录页面

时间:2019-04-02 14:33:05

标签: java spring-security spring-security-oauth2 spring-webflux

启用了 WebFlux 应用程序和 OAuth2 Spring Security 5.1.4上,我找不到任何方法来覆盖为/login生成的默认登录页面。我曾经只是为/login创建一个控制器,但是没有找到该控制器。

到目前为止,我发现的唯一“解决方案”是设置httpSecurity.exceptionHandling().authenticationEntryPoint(...)

令我惊讶的是,登录控制器开始工作,因为这阻止了LoginPageSpec生成LoginPageGeneratingWebFilter

在这种设置中,是否有用于覆盖登录页面的功能?

var httpSecurity =
    http.authorizeExchange()
        .anyExchange()
        .authenticated()
        .and()
        .oauth2Login()
        .authenticationConverter(tokenConverter)
        .and()
        .logout()
        .logoutHandler(new KeycloakLogoutHandler(serverOAuth2AuthorizedClientRepository()))
        .logoutSuccessHandler(logoutSuccessHandler)
        .logoutUrl("/sso/logout")
        .and()
        .csrf()
        .disable()
        .authenticationEntryPoint(new RedirectServerAuthenticationEntryPoint("/login"))
        .and()
        .build();

0 个答案:

没有答案