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 ReactiveOAuth2AuthorizedClientProvider
context
- 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 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