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 Summary

    Modifier and Type
    Method
    Description
    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.
    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.
    getTokenResponse(T grantRequest)
    Exchanges the authorization grant credential, provided in the authorization grant request, for an access token credential at the Authorization Server's Token Endpoint.
    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.
    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.
    void
    setParametersCustomizer(Consumer<org.springframework.util.MultiValueMap<String,String>> parametersCustomizer)
    Sets the Consumer used for customizing the OAuth 2.0 Access Token parameters, which allows for parameters to be added, overwritten or removed.
    final void
    setRestClient(org.springframework.web.client.RestClient restClient)
    Sets the RestClient used when requesting the OAuth 2.0 Access Token Response.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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
    • setParametersCustomizer

      public void setParametersCustomizer(Consumer<org.springframework.util.MultiValueMap<String,String>> parametersCustomizer)
      Sets the Consumer used for customizing the OAuth 2.0 Access Token parameters, which allows for parameters to be added, overwritten or removed.
      Parameters:
      parametersCustomizer - the Consumer to customize the parameters