Class RefreshTokenReactiveOAuth2AuthorizedClientProvider
- java.lang.Object
-
- org.springframework.security.oauth2.client.RefreshTokenReactiveOAuth2AuthorizedClientProvider
-
- All Implemented Interfaces:
ReactiveOAuth2AuthorizedClientProvider
public final class RefreshTokenReactiveOAuth2AuthorizedClientProvider extends java.lang.Object implements ReactiveOAuth2AuthorizedClientProvider
An implementation of aReactiveOAuth2AuthorizedClientProviderfor therefresh_tokengrant.- Since:
- 5.2
- See Also:
ReactiveOAuth2AuthorizedClientProvider,WebClientReactiveRefreshTokenTokenResponseClient
-
-
Constructor Summary
Constructors Constructor Description RefreshTokenReactiveOAuth2AuthorizedClientProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description reactor.core.publisher.Mono<OAuth2AuthorizedClient>authorize(OAuth2AuthorizationContext context)Attempt to re-authorize theclientin the providedcontext.voidsetAccessTokenResponseClient(ReactiveOAuth2AccessTokenResponseClient<OAuth2RefreshTokenGrantRequest> accessTokenResponseClient)Sets the client used when requesting an access token credential at the Token Endpoint for therefresh_tokengrant.voidsetClock(java.time.Clock clock)Sets theClockused inInstant.now(Clock)when checking the access token expiry.voidsetClockSkew(java.time.Duration clockSkew)Sets the maximum acceptable clock skew, which is used when checking theaccess tokenexpiry.
-
-
-
Method Detail
-
authorize
public reactor.core.publisher.Mono<OAuth2AuthorizedClient> authorize(OAuth2AuthorizationContext context)
Attempt to re-authorize theclientin the providedcontext. Returns an emptyMonoif re-authorization is not supported, e.g. the client is not authorized OR therefresh tokenis not available for the authorized client OR theaccess tokenis not expired.The following
context attributesare supported:"org.springframework.security.oauth2.client.REQUEST_SCOPE"(optional) - aString[]of scope(s) to be requested by theclient
- Specified by:
authorizein interfaceReactiveOAuth2AuthorizedClientProvider- Parameters:
context- the context that holds authorization-specific state for the client- Returns:
- the
OAuth2AuthorizedClientor an emptyMonoif re-authorization is not supported
-
setAccessTokenResponseClient
public void setAccessTokenResponseClient(ReactiveOAuth2AccessTokenResponseClient<OAuth2RefreshTokenGrantRequest> accessTokenResponseClient)
Sets the client used when requesting an access token credential at the Token Endpoint for therefresh_tokengrant.- Parameters:
accessTokenResponseClient- the client used when requesting an access token credential at the Token Endpoint for therefresh_tokengrant
-
setClockSkew
public void setClockSkew(java.time.Duration clockSkew)
Sets the maximum acceptable clock skew, which is used when checking theaccess tokenexpiry. The default is 60 seconds.An access token is considered expired if
OAuth2AccessToken#getExpiresAt() - clockSkewis before the current timeclock#instant().- Parameters:
clockSkew- the maximum acceptable clock skew
-
setClock
public void setClock(java.time.Clock clock)
Sets theClockused inInstant.now(Clock)when checking the access token expiry.- Parameters:
clock- the clock
-
-