public final class ClientCredentialsOAuth2AuthorizedClientProvider extends java.lang.Object implements OAuth2AuthorizedClientProvider
OAuth2AuthorizedClientProvider
for the client_credentials
grant.OAuth2AuthorizedClientProvider
,
DefaultClientCredentialsTokenResponseClient
Constructor and Description |
---|
ClientCredentialsOAuth2AuthorizedClientProvider() |
Modifier and Type | Method and Description |
---|---|
OAuth2AuthorizedClient |
authorize(OAuth2AuthorizationContext context)
Attempt to authorize (or re-authorize) the
client in the provided context . |
void |
setAccessTokenResponseClient(OAuth2AccessTokenResponseClient<OAuth2ClientCredentialsGrantRequest> accessTokenResponseClient)
Sets the client used when requesting an access token credential at the Token Endpoint for the
client_credentials grant. |
void |
setClock(java.time.Clock clock)
Sets the
Clock used in Instant.now(Clock) when checking the access token expiry. |
void |
setClockSkew(java.time.Duration clockSkew)
Sets the maximum acceptable clock skew, which is used when checking the
access token expiry. |
public ClientCredentialsOAuth2AuthorizedClientProvider()
@Nullable public OAuth2AuthorizedClient authorize(OAuth2AuthorizationContext context)
client
in the provided context
.
Returns null
if authorization (or re-authorization) is not supported,
e.g. the client's authorization grant type
is not client_credentials
OR
the access token
is not expired.authorize
in interface OAuth2AuthorizedClientProvider
context
- the context that holds authorization-specific state for the clientOAuth2AuthorizedClient
or null
if authorization (or re-authorization) is not supportedpublic void setAccessTokenResponseClient(OAuth2AccessTokenResponseClient<OAuth2ClientCredentialsGrantRequest> accessTokenResponseClient)
client_credentials
grant.accessTokenResponseClient
- the client used when requesting an access token credential at the Token Endpoint for the client_credentials
grantpublic void setClockSkew(java.time.Duration clockSkew)
access token
expiry. The default is 60 seconds.
An access token is considered expired if it's before Instant.now(this.clock) - clockSkew
.clockSkew
- the maximum acceptable clock skewpublic void setClock(java.time.Clock clock)
Clock
used in Instant.now(Clock)
when checking the access token expiry.clock
- the clock