Class AbstractRestClientOAuth2AccessTokenResponseClient<T extends AbstractOAuth2AuthorizationGrantRequest>

java.lang.Object
org.springframework.security.oauth2.client.endpoint.AbstractRestClientOAuth2AccessTokenResponseClient<T>
Type Parameters:
T - type of grant request
All Implemented Interfaces:
OAuth2AccessTokenResponseClient<T>
Direct Known Subclasses:
RestClientAuthorizationCodeTokenResponseClient, RestClientClientCredentialsTokenResponseClient, RestClientJwtBearerTokenResponseClient, RestClientRefreshTokenTokenResponseClient, RestClientTokenExchangeTokenResponseClient

public abstract class AbstractRestClientOAuth2AccessTokenResponseClient<T extends AbstractOAuth2AuthorizationGrantRequest> extends Object implements OAuth2AccessTokenResponseClient<T>
Abstract base class for RestClient-based implementations of OAuth2AccessTokenResponseClient that communicate to the Authorization Server's Token Endpoint.

Submits a form request body specific to the type of grant request and accepts a JSON response body containing an OAuth 2.0 Access Token Response or OAuth 2.0 Error Response.

Since:
6.4
See Also:
  • Method Details

    • getTokenResponse

      public OAuth2AccessTokenResponse getTokenResponse(T grantRequest)
      Description copied from interface: OAuth2AccessTokenResponseClient
      Exchanges the authorization grant credential, provided in the authorization grant request, for an access token credential at the Authorization Server's Token Endpoint.
      Specified by:
      getTokenResponse in interface OAuth2AccessTokenResponseClient<T extends AbstractOAuth2AuthorizationGrantRequest>
      Parameters:
      grantRequest - the authorization grant request that contains the authorization grant credential
      Returns:
      an OAuth2AccessTokenResponse that contains the access token credential
    • setRestClient

      public final void setRestClient(org.springframework.web.client.RestClient restClient)
      Sets the RestClient used when requesting the OAuth 2.0 Access Token Response.
      Parameters:
      restClient - the RestClient used when requesting the Access Token Response
    • setHeadersConverter

      public final void setHeadersConverter(org.springframework.core.convert.converter.Converter<T,org.springframework.http.HttpHeaders> headersConverter)
      Sets the Converter used for converting the AbstractOAuth2AuthorizationGrantRequest instance to a HttpHeaders used in the OAuth 2.0 Access Token Request headers.
      Parameters:
      headersConverter - the Converter used for converting the AbstractOAuth2AuthorizationGrantRequest to HttpHeaders
    • addHeadersConverter

      public final void addHeadersConverter(org.springframework.core.convert.converter.Converter<T,org.springframework.http.HttpHeaders> headersConverter)
      Add (compose) the provided headersConverter to the current Converter used for converting the AbstractOAuth2AuthorizationGrantRequest instance to a HttpHeaders used in the OAuth 2.0 Access Token Request headers.
      Parameters:
      headersConverter - the Converter to add (compose) to the current Converter used for converting the AbstractOAuth2AuthorizationGrantRequest to a HttpHeaders
    • setParametersConverter

      public final void setParametersConverter(org.springframework.core.convert.converter.Converter<T,org.springframework.util.MultiValueMap<String,String>> parametersConverter)
      Sets the Converter used for converting the AbstractOAuth2AuthorizationGrantRequest instance to a MultiValueMap used in the OAuth 2.0 Access Token Request body.
      Parameters:
      parametersConverter - the Converter used for converting the AbstractOAuth2AuthorizationGrantRequest to MultiValueMap
    • addParametersConverter

      public final void addParametersConverter(org.springframework.core.convert.converter.Converter<T,org.springframework.util.MultiValueMap<String,String>> parametersConverter)
      Add (compose) the provided parametersConverter to the current Converter used for converting the AbstractOAuth2AuthorizationGrantRequest instance to a MultiValueMap used in the OAuth 2.0 Access Token Request body.
      Parameters:
      parametersConverter - the Converter to add (compose) to the current Converter used for converting the AbstractOAuth2AuthorizationGrantRequest to a MultiValueMap