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.