Class OAuth2AuthorizedClientArgumentResolver

java.lang.Object
org.springframework.security.oauth2.client.web.method.annotation.OAuth2AuthorizedClientArgumentResolver
All Implemented Interfaces:
org.springframework.web.method.support.HandlerMethodArgumentResolver

public final class OAuth2AuthorizedClientArgumentResolver extends Object implements org.springframework.web.method.support.HandlerMethodArgumentResolver
An implementation of a HandlerMethodArgumentResolver that is capable of resolving a method parameter to an argument value of type OAuth2AuthorizedClient.

For example:

 @Controller
 public class MyController {
     @GetMapping("/authorized-client")
     public String authorizedClient(@RegisteredOAuth2AuthorizedClient("login-client") OAuth2AuthorizedClient authorizedClient) {
         // do something with authorizedClient
     }
 }
 
Since:
5.1
See Also:
  • Constructor Details

    • OAuth2AuthorizedClientArgumentResolver

      public OAuth2AuthorizedClientArgumentResolver(OAuth2AuthorizedClientManager authorizedClientManager)
      Constructs an OAuth2AuthorizedClientArgumentResolver using the provided parameters.
      Parameters:
      authorizedClientManager - the OAuth2AuthorizedClientManager which manages the authorized client(s)
      Since:
      5.2
    • OAuth2AuthorizedClientArgumentResolver

      public OAuth2AuthorizedClientArgumentResolver(ClientRegistrationRepository clientRegistrationRepository, OAuth2AuthorizedClientRepository authorizedClientRepository)
      Constructs an OAuth2AuthorizedClientArgumentResolver using the provided parameters.
      Parameters:
      clientRegistrationRepository - the repository of client registrations
      authorizedClientRepository - the repository of authorized clients
  • Method Details

    • supportsParameter

      public boolean supportsParameter(org.springframework.core.MethodParameter parameter)
      Specified by:
      supportsParameter in interface org.springframework.web.method.support.HandlerMethodArgumentResolver
    • resolveArgument

      @NonNull public Object resolveArgument(org.springframework.core.MethodParameter parameter, @Nullable org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest, @Nullable org.springframework.web.bind.support.WebDataBinderFactory binderFactory)
      Specified by:
      resolveArgument in interface org.springframework.web.method.support.HandlerMethodArgumentResolver
    • setSecurityContextHolderStrategy

      public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy)
      Sets the SecurityContextHolderStrategy to use. The default action is to use the SecurityContextHolderStrategy stored in SecurityContextHolder.
      Since:
      5.8