anchor.diff:  	return authorizedClientManager;
   }
   ----
  +
  +.Kotlin
  +[source,kotlin,role="secondary"]
  +----
  +@Bean
  +fun authorizedClientManager(
  +        clientRegistrationRepository: ClientRegistrationRepository,
  +        authorizedClientRepository: OAuth2AuthorizedClientRepository): OAuth2AuthorizedClientManager {
  +    val authorizedClientProvider: OAuth2AuthorizedClientProvider = OAuth2AuthorizedClientProviderBuilder.builder()
  +            .authorizationCode()
  +            .refreshToken()
  +            .clientCredentials()
  +            .password()
  +            .build()
  +    val authorizedClientManager = DefaultOAuth2AuthorizedClientManager(
  +            clientRegistrationRepository, authorizedClientRepository)
  +    authorizedClientManager.setAuthorizedClientProvider(authorizedClientProvider)
  +    return authorizedClientManager
  +}
  +----
  +====
   
   The following sections will go into more detail on the core components used by OAuth 2.0 Client and the configuration options available:
   
  
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: 
  The following listing shows an example:
  
  ====
  .Java
  [source,java,role="primary"]
  ----
  @Controller
  public class OAuth2ClientController {
  