public final class OAuth2ClientArgumentResolver
extends java.lang.Object
implements org.springframework.web.method.support.HandlerMethodArgumentResolver
HandlerMethodArgumentResolver
that is capable
of resolving a method parameter into an argument value for the following types:
ClientRegistration
, OAuth2AuthorizedClient
and OAuth2AccessToken
.
For example:
@Controller public class MyController { @GetMapping("/client-registration") public String clientRegistration(@OAuth2Client("login-client") ClientRegistration clientRegistration) { // do something with clientRegistration } @GetMapping("/authorized-client") public String authorizedClient(@OAuth2Client("login-client") OAuth2AuthorizedClient authorizedClient) { // do something with authorizedClient } @GetMapping("/access-token") public String accessToken(@OAuth2Client("login-client") OAuth2AccessToken accessToken) { // do something with accessToken } }
OAuth2Client
Constructor and Description |
---|
OAuth2ClientArgumentResolver(ClientRegistrationRepository clientRegistrationRepository,
OAuth2AuthorizedClientService authorizedClientService)
Constructs an
OAuth2ClientArgumentResolver 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) |
boolean |
supportsParameter(org.springframework.core.MethodParameter parameter) |
public OAuth2ClientArgumentResolver(ClientRegistrationRepository clientRegistrationRepository, OAuth2AuthorizedClientService authorizedClientService)
OAuth2ClientArgumentResolver
using the provided parameters.clientRegistrationRepository
- the repository of client registrationsauthorizedClientService
- the authorized client servicepublic 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) throws java.lang.Exception
resolveArgument
in interface org.springframework.web.method.support.HandlerMethodArgumentResolver
java.lang.Exception