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
- Author:
- Nick Crum (ncrum)
-
Constructor Summary
ConstructorsConstructorDescriptionOAuth2ClientCredentialsAccessTokenResponseClient(org.springframework.web.reactive.function.client.WebClient webClient) -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponsegetTokenResponse(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:
getTokenResponsein interfaceorg.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient<org.springframework.security.oauth2.client.endpoint.OAuth2ClientCredentialsGrantRequest>
-