anchor.diff:  
   Whether you customize `DefaultRefreshTokenTokenResponseClient` or provide your own implementation of `OAuth2AccessTokenResponseClient`, you'll need to configure it as shown in the following example:
   
  -[source,java]
  +====
  +.Java
  +[source,java,role="primary"]
   ----
   // Customize
   OAuth2AccessTokenResponseClient<OAuth2RefreshTokenGrantRequest> refreshTokenTokenResponseClient = ...
  
positive.code: 
  The following code shows an example of how to configure `WebClient` with OAuth 2.0 Client support:
  
  [source,java]
  ----
  @Bean
  WebClient webClient(OAuth2AuthorizedClientManager authorizedClientManager) {
  
negative.code: 	return "index";
  }
  ----
  
  .Kotlin
  [source,kotlin,role="secondary"]
  ----
  @GetMapping("/")
  fun index(): String {
      val resourceUri: String = ...
  
      val body: String = webClient
              .get()
              .uri(resourceUri)
              .attributes(clientRegistrationId("okta"))  <1>
              .retrieve()
              .bodyToMono()
              .block()
  
      ...
  
      return "index"
  }
  ----
  ====
  <1> `clientRegistrationId()` is a `static` method in `ServletOAuth2AuthorizedClientExchangeFilterFunction`.
  
  
  