public final class ClientCredentialsReactiveOAuth2AuthorizedClientProvider extends java.lang.Object implements ReactiveOAuth2AuthorizedClientProvider
ReactiveOAuth2AuthorizedClientProvider
for the client_credentials grant.ReactiveOAuth2AuthorizedClientProvider,
WebClientReactiveClientCredentialsTokenResponseClient| Constructor and Description |
|---|
ClientCredentialsReactiveOAuth2AuthorizedClientProvider() |
| Modifier and Type | Method and Description |
|---|---|
reactor.core.publisher.Mono<OAuth2AuthorizedClient> |
authorize(OAuth2AuthorizationContext context)
Attempt to authorize (or re-authorize) the
client in the provided context. |
void |
setAccessTokenResponseClient(ReactiveOAuth2AccessTokenResponseClient<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 ClientCredentialsReactiveOAuth2AuthorizedClientProvider()
public reactor.core.publisher.Mono<OAuth2AuthorizedClient> authorize(OAuth2AuthorizationContext context)
client in the provided context.
Returns an empty Mono 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 ReactiveOAuth2AuthorizedClientProvidercontext - the context that holds authorization-specific state for the clientOAuth2AuthorizedClient or an empty Mono if authorization (or re-authorization) is not supportedpublic void setAccessTokenResponseClient(ReactiveOAuth2AccessTokenResponseClient<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 OAuth2AccessToken#getExpiresAt() - clockSkew
is before the current time clock#instant().
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