Class OAuth2ClientCredentialsAccessTokenResponseClient
- All Implemented Interfaces:
org.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient<org.springframework.security.oauth2.client.endpoint.OAuth2ClientCredentialsGrantRequest>
DefaultClientCredentialsTokenResponseClient
that uses WebClient
and allows for access token response that contain additional non-String parameters.
This is necessary if the access token response contains any non-String properties, as the default
implementation DefaultClientCredentialsTokenResponseClient
relies on
OAuth2AccessTokenResponseHttpMessageConverter
which restricts the access token response
to a Map
where the value type is String
instead of Object
. This
implementation properly allows non-String properties within the access token response.
Since RestTemplate
is expected to be later deprecated, this implementation utilizes a
WebClient
instead for a more consistent experience.
This implementation also takes a lot of inspiration from
WebClientReactiveClientCredentialsTokenResponseClient
, which is the reactive version of
this component.
TODO: move this to a broadleaf oauth2 client dependency
https://github.com/BroadleafCommerce/MicroPM/issues/1924
- Author:
- Nick Crum (ncrum)
-
Constructor Summary
ConstructorDescriptionOAuth2ClientCredentialsAccessTokenResponseClient
(org.springframework.web.reactive.function.client.WebClient webClient) -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse
getTokenResponse
(org.springframework.security.oauth2.client.endpoint.OAuth2ClientCredentialsGrantRequest clientCredentialsGrantRequest)
-
Constructor Details
-
OAuth2ClientCredentialsAccessTokenResponseClient
public OAuth2ClientCredentialsAccessTokenResponseClient(org.springframework.web.reactive.function.client.WebClient webClient)
-
-
Method Details
-
getTokenResponse
public org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse getTokenResponse(org.springframework.security.oauth2.client.endpoint.OAuth2ClientCredentialsGrantRequest clientCredentialsGrantRequest) - Specified by:
getTokenResponse
in interfaceorg.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient<org.springframework.security.oauth2.client.endpoint.OAuth2ClientCredentialsGrantRequest>
-