OAuth2AuthorizedClientManagerConfig.java

  1. package no.nav.data.common.security.client;

  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.security.oauth2.client.AuthorizedClientServiceOAuth2AuthorizedClientManager;
  5. import org.springframework.security.oauth2.client.OAuth2AuthorizedClientManager;
  6. import org.springframework.security.oauth2.client.OAuth2AuthorizedClientProvider;
  7. import org.springframework.security.oauth2.client.OAuth2AuthorizedClientProviderBuilder;
  8. import org.springframework.security.oauth2.client.OAuth2AuthorizedClientService;
  9. import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;

  10. @Configuration
  11. public class OAuth2AuthorizedClientManagerConfig {

  12.     @Bean
  13.     public OAuth2AuthorizedClientManager authorizedClientManager(
  14.         ClientRegistrationRepository clientRegistrationRepository,
  15.         OAuth2AuthorizedClientService authorizedClientService) {

  16.         OAuth2AuthorizedClientProvider authorizedClientProvider =
  17.             OAuth2AuthorizedClientProviderBuilder.builder()
  18.                 .authorizationCode()
  19.                 .refreshToken()
  20.                 .clientCredentials()
  21.                 .build();

  22.         AuthorizedClientServiceOAuth2AuthorizedClientManager authorizedClientManager =
  23.             new AuthorizedClientServiceOAuth2AuthorizedClientManager(
  24.                 clientRegistrationRepository, authorizedClientService);
  25.         authorizedClientManager.setAuthorizedClientProvider(authorizedClientProvider);

  26.         return authorizedClientManager;
  27.     }
  28. }