Class ClientCredentialsReactiveOAuth2AuthorizedClientProvider
java.lang.Object
org.springframework.security.oauth2.client.ClientCredentialsReactiveOAuth2AuthorizedClientProvider
- All Implemented Interfaces:
 ReactiveOAuth2AuthorizedClientProvider
public final class ClientCredentialsReactiveOAuth2AuthorizedClientProvider
extends Object
implements ReactiveOAuth2AuthorizedClientProvider
An implementation of a 
ReactiveOAuth2AuthorizedClientProvider for the
 client_credentials grant.- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<OAuth2AuthorizedClient>authorize(OAuth2AuthorizationContext context) Attempt to authorize (or re-authorize) theclientin the providedcontext.voidsetAccessTokenResponseClient(ReactiveOAuth2AccessTokenResponseClient<OAuth2ClientCredentialsGrantRequest> accessTokenResponseClient) Sets the client used when requesting an access token credential at the Token Endpoint for theclient_credentialsgrant.voidSets theClockused inInstant.now(Clock)when checking the access token expiry.voidsetClockSkew(Duration clockSkew) Sets the maximum acceptable clock skew, which is used when checking theaccess tokenexpiry. 
- 
Constructor Details
- 
ClientCredentialsReactiveOAuth2AuthorizedClientProvider
public ClientCredentialsReactiveOAuth2AuthorizedClientProvider() 
 - 
 - 
Method Details
- 
authorize
public reactor.core.publisher.Mono<OAuth2AuthorizedClient> authorize(OAuth2AuthorizationContext context) Attempt to authorize (or re-authorize) theclientin the providedcontext. Returns an emptyMonoif authorization (or re-authorization) is not supported, e.g. the client'sauthorization grant typeis notclient_credentialsOR theaccess tokenis not expired.- Specified by:
 authorizein interfaceReactiveOAuth2AuthorizedClientProvider- Parameters:
 context- the context that holds authorization-specific state for the client- Returns:
 - the 
OAuth2AuthorizedClientor an emptyMonoif authorization (or re-authorization) is not supported 
 - 
setAccessTokenResponseClient
public void setAccessTokenResponseClient(ReactiveOAuth2AccessTokenResponseClient<OAuth2ClientCredentialsGrantRequest> accessTokenResponseClient) Sets the client used when requesting an access token credential at the Token Endpoint for theclient_credentialsgrant.- Parameters:
 accessTokenResponseClient- the client used when requesting an access token credential at the Token Endpoint for theclient_credentialsgrant
 - 
setClockSkew
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
Sets theClockused inInstant.now(Clock)when checking the access token expiry.- Parameters:
 clock- the clock
 
 -