public class OAuth2ClientCredentialsAccessTokenResponseClient extends Object implements 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
| Constructor and Description |
|---|
OAuth2ClientCredentialsAccessTokenResponseClient(org.springframework.web.reactive.function.client.WebClient webClient) |
| Modifier and Type | Method and Description |
|---|---|
org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse |
getTokenResponse(org.springframework.security.oauth2.client.endpoint.OAuth2ClientCredentialsGrantRequest clientCredentialsGrantRequest) |
public OAuth2ClientCredentialsAccessTokenResponseClient(org.springframework.web.reactive.function.client.WebClient webClient)
public org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse getTokenResponse(org.springframework.security.oauth2.client.endpoint.OAuth2ClientCredentialsGrantRequest clientCredentialsGrantRequest)
getTokenResponse in interface org.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient<org.springframework.security.oauth2.client.endpoint.OAuth2ClientCredentialsGrantRequest>Copyright © 2021. All rights reserved.