Describe the bug Spring boot 3.1.4, Spring boot starter reactive oauth client library. I want to generate oauth 2.0 token for grant type refresh_token . My requirement is to also pass refresh_token while generating the access token. I am setting Web Client exchange function for this. Please advise for the correct configuration. also advise how to pass refresh token while generating the access token. Refresh token has long life.

To Reproduce It is not working for me. During web service call, Oauth token not passed.`

Expected behavior Able to pass refresh token for gtant type refresh token

Sample

// client registration
   @Bean
    public ReactiveClientRegistrationRepository clientRegistrationRepository() {
        ClientRegistration registration = ClientRegistration
                .withRegistrationId("registration-id")
                .clientId("cliend_id")
                .clientSecret("client_secret")
                .tokenUri("token_uri")
                .authorizationGrantType(AuthorizationGrantType.REFRESH_TOKEN)
                .build();
        return new InMemoryReactiveClientRegistrationRepository(registration);
    }
    // web client exchange server function
    private ExchangeFilterFunction getOAuth2FilterFunction(ReactiveClientRegistrationRepository
                                                                   clientRegistrationRepository){

        InMemoryReactiveOAuth2AuthorizedClientService authorizedClientService =
                new InMemoryReactiveOAuth2AuthorizedClientService(clientRegistrationRepository);
        AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager authorizedClientManager =
                new

        AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager
        (clientRegistrationRepository, authorizedClientService);
        ReactiveOAuth2AuthorizedClientProvider authorizedClientProvider =
                ReactiveOAuth2AuthorizedClientProviderBuilder.builder()
                        .refreshToken()
                        .build();
        authorizedClientManager.setAuthorizedClientProvider(authorizedClientProvider);

        ServerOAuth2AuthorizedClientExchangeFilterFunction oauth2FilterFunction =
                new ServerOAuth2AuthorizedClientExchangeFilterFunction(authorizedClientManager);
        oauth2FilterFunction.setDefaultClientRegistrationId("registration-id");
        return oauth2FilterFunction;
    }
      // web client configure with exchange filter
    @Bean
    public WebClient soapWebClient(final WebClient.Builder builder, 
                      final ReactiveClientRegistrationRepository clientRegistrationRepository) {
        WebClient webClient = builder
                .filters(exchangeFilterFunctions -> {

        exchangeFilterFunctions.add(getOAuth2FilterFunction(clientRegistrationRepository));

                })
                .build();

        return webClient;
    }

Comment From: sjohnr

Thanks for getting in touch, but it feels like this is a question that would be better suited to Stack Overflow. We prefer to use GitHub issues only for bugs and enhancements. Feel free to update this issue with a link to the re-posted question (so that other people can find it) or add a minimal sample that reproduces this issue if you feel this is a genuine bug.