Class AbstractWebClientReactiveOAuth2AccessTokenResponseClient<T extends AbstractOAuth2AuthorizationGrantRequest>

java.lang.Object
org.springframework.security.oauth2.client.endpoint.AbstractWebClientReactiveOAuth2AccessTokenResponseClient<T>
Type Parameters:
T - type of grant request
All Implemented Interfaces:
ReactiveOAuth2AccessTokenResponseClient<T>
Direct Known Subclasses:
WebClientReactiveAuthorizationCodeTokenResponseClient, WebClientReactiveClientCredentialsTokenResponseClient, WebClientReactiveJwtBearerTokenResponseClient, WebClientReactivePasswordTokenResponseClient, WebClientReactiveRefreshTokenTokenResponseClient, WebClientReactiveTokenExchangeTokenResponseClient

public abstract class AbstractWebClientReactiveOAuth2AccessTokenResponseClient<T extends AbstractOAuth2AuthorizationGrantRequest> extends Object implements ReactiveOAuth2AccessTokenResponseClient<T>
Abstract base class for all of the WebClientReactive*TokenResponseClients that communicate to the Authorization Server's Token Endpoint.

Submits a form request body specific to the type of grant request.

Accepts a JSON response body containing an OAuth 2.0 Access token or error.

Since:
5.3
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.
    reactor.core.publisher.Mono<OAuth2AccessTokenResponse>
    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
    setBodyExtractor(org.springframework.web.reactive.function.BodyExtractor<reactor.core.publisher.Mono<OAuth2AccessTokenResponse>,org.springframework.http.ReactiveHttpInputMessage> bodyExtractor)
    Sets the BodyExtractor that will be used to decode the OAuth2AccessTokenResponse
    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
    setWebClient(org.springframework.web.reactive.function.client.WebClient webClient)
    Sets the WebClient 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 reactor.core.publisher.Mono<OAuth2AccessTokenResponse> getTokenResponse(T grantRequest)
      Description copied from interface: ReactiveOAuth2AccessTokenResponseClient
      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 ReactiveOAuth2AccessTokenResponseClient<T extends AbstractOAuth2AuthorizationGrantRequest>
      Parameters:
      grantRequest - the authorization grant request that contains the authorization grant credential
      Returns:
      an OAuth2AccessTokenResponse that contains the access token credential
    • setWebClient

      public final void setWebClient(org.springframework.web.reactive.function.client.WebClient webClient)
      Sets the WebClient used when requesting the OAuth 2.0 Access Token Response.
      Parameters:
      webClient - the WebClient 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
      Since:
      5.6
    • 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
      Since:
      5.6
    • 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
      Since:
      5.6
    • 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
      Since:
      5.6
    • 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
    • setBodyExtractor

      public final void setBodyExtractor(org.springframework.web.reactive.function.BodyExtractor<reactor.core.publisher.Mono<OAuth2AccessTokenResponse>,org.springframework.http.ReactiveHttpInputMessage> bodyExtractor)
      Sets the BodyExtractor that will be used to decode the OAuth2AccessTokenResponse
      Parameters:
      bodyExtractor - the BodyExtractor that will be used to decode the OAuth2AccessTokenResponse
      Since:
      5.6