2

I am using Spring Cloud Gateway as a API Gateway for our system. We would like to delegate all authentication (oauth) to that component. I was looking at the source code of Spring Oauth2 Client but I don't see any place where I can "plug in" to do what I need.

I would like to catch the moment, when the code exchange is successful and make a redirect with id_token and refresh_token in cookie or query param. We don't store any session as well - whole authentication is meant to stateless.

I am configuring SecurityWebFilterChain (security for WebFlux) like this:

@Bean
  public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
  http
      .authorizeExchange(Customizer.withDefaults())
      .oauth2Login();
    http.csrf().disable();
    return http.build();
  }

I tried to use successHandler .oauth2Login(c -> c.authenticationSuccessHandler(successHandler));, but in that moment I don't access to refresh_token (have only WebFilterExchange, Authentication in arguments) and I am not even sure how should I perform the redirect form that place.

Is there any way to achieve this?

julew
  • 216
  • 3
  • 14

0 Answers0