public final class OAuth2AuthorizedClientArgumentResolver
extends java.lang.Object
implements org.springframework.web.method.support.HandlerMethodArgumentResolver
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 } }
RegisteredOAuth2AuthorizedClient
Constructor and Description |
---|
OAuth2AuthorizedClientArgumentResolver(ClientRegistrationRepository clientRegistrationRepository,
OAuth2AuthorizedClientRepository authorizedClientRepository)
Constructs an
OAuth2AuthorizedClientArgumentResolver using the provided
parameters. |
OAuth2AuthorizedClientArgumentResolver(OAuth2AuthorizedClientManager authorizedClientManager)
Constructs an
OAuth2AuthorizedClientArgumentResolver using the provided
parameters. |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
resolveArgument(org.springframework.core.MethodParameter parameter,
org.springframework.web.method.support.ModelAndViewContainer mavContainer,
org.springframework.web.context.request.NativeWebRequest webRequest,
org.springframework.web.bind.support.WebDataBinderFactory binderFactory) |
void |
setClientCredentialsTokenResponseClient(OAuth2AccessTokenResponseClient<OAuth2ClientCredentialsGrantRequest> clientCredentialsTokenResponseClient)
Deprecated.
Use
OAuth2AuthorizedClientArgumentResolver(OAuth2AuthorizedClientManager)
instead. Create an instance of
ClientCredentialsOAuth2AuthorizedClientProvider configured with a
DefaultClientCredentialsTokenResponseClient (or a custom one) and than supply it
to
DefaultOAuth2AuthorizedClientManager . |
boolean |
supportsParameter(org.springframework.core.MethodParameter parameter) |
public OAuth2AuthorizedClientArgumentResolver(OAuth2AuthorizedClientManager authorizedClientManager)
OAuth2AuthorizedClientArgumentResolver
using the provided
parameters.authorizedClientManager
- the OAuth2AuthorizedClientManager
which
manages the authorized client(s)public OAuth2AuthorizedClientArgumentResolver(ClientRegistrationRepository clientRegistrationRepository, OAuth2AuthorizedClientRepository authorizedClientRepository)
OAuth2AuthorizedClientArgumentResolver
using the provided
parameters.clientRegistrationRepository
- the repository of client registrationsauthorizedClientRepository
- the repository of authorized clientspublic boolean supportsParameter(org.springframework.core.MethodParameter parameter)
supportsParameter
in interface org.springframework.web.method.support.HandlerMethodArgumentResolver
@NonNull public java.lang.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)
resolveArgument
in interface org.springframework.web.method.support.HandlerMethodArgumentResolver
@Deprecated public void setClientCredentialsTokenResponseClient(OAuth2AccessTokenResponseClient<OAuth2ClientCredentialsGrantRequest> clientCredentialsTokenResponseClient)
OAuth2AuthorizedClientArgumentResolver(OAuth2AuthorizedClientManager)
instead. Create an instance of
ClientCredentialsOAuth2AuthorizedClientProvider
configured with a
DefaultClientCredentialsTokenResponseClient
(or a custom one) and than supply it
to
DefaultOAuth2AuthorizedClientManager
.client_credentials
grant.clientCredentialsTokenResponseClient
- the client used when requesting an
access token credential at the Token Endpoint for the client_credentials
grant