Class ClientCredentialsOAuth2AuthorizedClientProvider
- java.lang.Object
-
- org.springframework.security.oauth2.client.ClientCredentialsOAuth2AuthorizedClientProvider
-
- All Implemented Interfaces:
OAuth2AuthorizedClientProvider
public final class ClientCredentialsOAuth2AuthorizedClientProvider extends java.lang.Object implements OAuth2AuthorizedClientProvider
An implementation of anOAuth2AuthorizedClientProviderfor theclient_credentialsgrant.- Since:
- 5.2
- See Also:
OAuth2AuthorizedClientProvider,DefaultClientCredentialsTokenResponseClient
-
-
Constructor Summary
Constructors Constructor Description ClientCredentialsOAuth2AuthorizedClientProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OAuth2AuthorizedClientauthorize(OAuth2AuthorizationContext context)Attempt to authorize (or re-authorize) theclientin the providedcontext.voidsetAccessTokenResponseClient(OAuth2AccessTokenResponseClient<OAuth2ClientCredentialsGrantRequest> accessTokenResponseClient)Sets the client used when requesting an access token credential at the Token Endpoint for theclient_credentialsgrant.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
@Nullable public OAuth2AuthorizedClient authorize(OAuth2AuthorizationContext context)
Attempt to authorize (or re-authorize) theclientin the providedcontext. Returnsnullif authorization (or re-authorization) is not supported, e.g. the client'sauthorization grant typeis notclient_credentialsOR theaccess tokenis not expired.- Specified by:
authorizein interfaceOAuth2AuthorizedClientProvider- Parameters:
context- the context that holds authorization-specific state for the client- Returns:
- the
OAuth2AuthorizedClientornullif authorization (or re-authorization) is not supported
-
setAccessTokenResponseClient
public void setAccessTokenResponseClient(OAuth2AccessTokenResponseClient<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
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 it's beforeInstant.now(this.clock) - clockSkew.- 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
-
-