Class PerRegistrationOAuth2AuthorizedClientProvider

java.lang.Object
com.c4_soft.springaddons.security.oidc.starter.synchronised.client.PerRegistrationOAuth2AuthorizedClientProvider
All Implemented Interfaces:
org.springframework.security.oauth2.client.OAuth2AuthorizedClientProvider

public final class PerRegistrationOAuth2AuthorizedClientProvider extends Object implements org.springframework.security.oauth2.client.OAuth2AuthorizedClientProvider

An alternative OAuth2AuthorizedClientProvider to DelegatingOAuth2AuthorizedClientProvider keeping a different provider for each client registration. This allows to define for each a set of extra parameters to add to token requests.

Author:
Jerome Wacongne ch4mp@c4-soft.com
  • Constructor Details

    • PerRegistrationOAuth2AuthorizedClientProvider

      public PerRegistrationOAuth2AuthorizedClientProvider(org.springframework.security.oauth2.client.registration.InMemoryClientRegistrationRepository clientRegistrationRepo, SpringAddonsOidcProperties addonsProperties, Map<String,org.springframework.web.client.RestClient> customTokenRestClientsByRegistrationId, Map<String,List<org.springframework.security.oauth2.client.OAuth2AuthorizedClientProvider>> customProvidersByRegistrationId)
    • PerRegistrationOAuth2AuthorizedClientProvider

      public PerRegistrationOAuth2AuthorizedClientProvider(org.springframework.security.oauth2.client.registration.InMemoryClientRegistrationRepository clientRegistrationRepo, SpringAddonsOidcProperties addonsProperties, Map<String,org.springframework.web.client.RestClient> customTokenRestClientsByRegistrationId)
    • PerRegistrationOAuth2AuthorizedClientProvider

      public PerRegistrationOAuth2AuthorizedClientProvider(org.springframework.security.oauth2.client.registration.InMemoryClientRegistrationRepository clientRegistrationRepo, SpringAddonsOidcProperties addonsProperties)
  • Method Details

    • authorize

      public org.springframework.security.oauth2.client.OAuth2AuthorizedClient authorize(org.springframework.security.oauth2.client.OAuth2AuthorizationContext context)
      Specified by:
      authorize in interface org.springframework.security.oauth2.client.OAuth2AuthorizedClientProvider