anchor.diff:  }
   ----
   
  -The following sections go into more detail on each of the configuration options available:
  -
  -* <<oauth2Client-client-registration>>
  -* <<oauth2Client-client-registration-repo>>
  -* <<oauth2Client-authorized-client>>
  -* <<oauth2Client-authorized-repo-service>>
  -* <<oauth2Client-authorized-manager-provider>>
  -* <<oauth2Client-registered-authorized-client>>
  +The `OAuth2AuthorizedClientManager` is responsible for managing the authorization (or re-authorization) of an OAuth 2.0 Client, in collaboration with one or more `OAuth2AuthorizedClientProvider`(s).
  +
  +The following code shows an example of how to register an `OAuth2AuthorizedClientManager` `@Bean` and associate it with an `OAuth2AuthorizedClientProvider` composite that provides support for the `authorization_code`, `refresh_token`, `client_credentials` and `password` authorization grant types:
  +
  +[source,java]
  +----
  +@Bean
  +public OAuth2AuthorizedClientManager authorizedClientManager(
  +		ClientRegistrationRepository clientRegistrationRepository,
  +		OAuth2AuthorizedClientRepository authorizedClientRepository) {
  +
  +	OAuth2AuthorizedClientProvider authorizedClientProvider =
  +			OAuth2AuthorizedClientProviderBuilder.builder()
  +					.authorizationCode()
  +					.refreshToken()
  +					.clientCredentials()
  +					.password()
  +					.build();
  +
  +	DefaultOAuth2AuthorizedClientManager authorizedClientManager =
  +			new 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:
  +
  +* <<oauth2Client-core-interface-class>>
  +** <<oauth2Client-client-registration, ClientRegistration>>
  +** <<oauth2Client-client-registration-repo, ClientRegistrationRepository>>
  +** <<oauth2Client-authorized-client, OAuth2AuthorizedClient>>
  +** <<oauth2Client-authorized-repo-service, OAuth2AuthorizedClientRepository / OAuth2AuthorizedClientService>>
  +** <<oauth2Client-authorized-manager-provider, OAuth2AuthorizedClientManager / OAuth2AuthorizedClientProvider>>
  +* <<oauth2Client-auth-grant-support>>
  +** <<oauth2Client-auth-code-grant, Authorization Code>>
  +* <<oauth2Client-additional-features>>
  +** <<oauth2Client-registered-authorized-client, Resolving an Authorized Client>>
   
   
   [[oauth2Client-core-interface-class]]
  
positive.code: 
  [NOTE]
  Spring Boot 2.x auto-configuration registers an `OAuth2AuthorizedClientRepository` and/or `OAuth2AuthorizedClientService` `@Bean` in the `ApplicationContext`.
  
  The developer may also register an `OAuth2AuthorizedClientRepository` or `OAuth2AuthorizedClientService` `@Bean` in the `ApplicationContext` (overriding Spring Boot 2.x auto-configuration) in order to have the ability to lookup an `OAuth2AccessToken` associated with a specific `ClientRegistration` (client).
  
  The following listing shows an example:
  
  
negative.code: 					 )
  			);
  	}
  }
  ----
  
  