public final class RefreshTokenReactiveOAuth2AuthorizedClientProvider extends java.lang.Object implements ReactiveOAuth2AuthorizedClientProvider
ReactiveOAuth2AuthorizedClientProvider
for the refresh_token grant.ReactiveOAuth2AuthorizedClientProvider,
WebClientReactiveRefreshTokenTokenResponseClient| Constructor and Description |
|---|
RefreshTokenReactiveOAuth2AuthorizedClientProvider() |
| Modifier and Type | Method and Description |
|---|---|
reactor.core.publisher.Mono<OAuth2AuthorizedClient> |
authorize(OAuth2AuthorizationContext context)
Attempt to re-authorize the
client in the provided context. |
void |
setAccessTokenResponseClient(ReactiveOAuth2AccessTokenResponseClient<OAuth2RefreshTokenGrantRequest> accessTokenResponseClient)
Sets the client used when requesting an access token credential at the Token Endpoint for the
refresh_token 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 RefreshTokenReactiveOAuth2AuthorizedClientProvider()
public reactor.core.publisher.Mono<OAuth2AuthorizedClient> authorize(OAuth2AuthorizationContext context)
client in the provided context.
Returns an empty Mono if re-authorization is not supported,
e.g. the client is not authorized OR the refresh token
is not available for the authorized client OR the access token is not expired.
The following context attributes are supported:
"org.springframework.security.oauth2.client.REQUEST_SCOPE" (optional) - a String[] of scope(s)
to be requested by the clientauthorize in interface ReactiveOAuth2AuthorizedClientProvidercontext - the context that holds authorization-specific state for the clientOAuth2AuthorizedClient or an empty Mono if re-authorization is not supportedpublic void setAccessTokenResponseClient(ReactiveOAuth2AccessTokenResponseClient<OAuth2RefreshTokenGrantRequest> accessTokenResponseClient)
refresh_token grant.accessTokenResponseClient - the client used when requesting an access token credential at the Token Endpoint for the refresh_token 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