Class AbstractClientCredentialsClient
- java.lang.Object
-
- io.micronaut.security.oauth2.client.clientcredentials.AbstractClientCredentialsClient
-
- All Implemented Interfaces:
ClientCredentialsClient
- Direct Known Subclasses:
DefaultClientCredentialsClient,DefaultClientCredentialsOpenIdClient
@Internal public abstract class AbstractClientCredentialsClient extends java.lang.Object implements ClientCredentialsClient
Abstract class to create a Client for client credentials grant.- Since:
- 2.2.0
-
-
Field Summary
Fields Modifier and Type Field Description protected OauthClientConfigurationoauthClientConfigurationprotected java.util.Map<java.lang.String,org.reactivestreams.Publisher<TokenResponse>>scopeToPublisherMapprotected TokenEndpointClienttokenEndpointClient
-
Constructor Summary
Constructors Constructor Description AbstractClientCredentialsClient(OauthClientConfiguration oauthClientConfiguration, TokenEndpointClient tokenEndpointClient)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract ClientCredentialsTokenRequestContextcreateTokenRequestContext(java.lang.String scope)protected java.util.Optional<java.util.Date>expirationDate(TokenResponse tokenResponse)java.lang.StringgetName()protected booleanisExpired(TokenResponse tokenResponse)protected booleanisExpired(java.util.Date expirationDate)org.reactivestreams.Publisher<TokenResponse>requestToken(java.lang.String scope)org.reactivestreams.Publisher<TokenResponse>requestToken(java.lang.String scope, boolean force)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.micronaut.security.oauth2.client.clientcredentials.ClientCredentialsClient
requestToken, requestToken
-
-
-
-
Field Detail
-
tokenEndpointClient
protected final TokenEndpointClient tokenEndpointClient
-
oauthClientConfiguration
protected final OauthClientConfiguration oauthClientConfiguration
-
scopeToPublisherMap
protected final java.util.Map<java.lang.String,org.reactivestreams.Publisher<TokenResponse>> scopeToPublisherMap
-
-
Constructor Detail
-
AbstractClientCredentialsClient
public AbstractClientCredentialsClient(@NonNull OauthClientConfiguration oauthClientConfiguration, @NonNull TokenEndpointClient tokenEndpointClient)- Parameters:
tokenEndpointClient- The token endpoint clientoauthClientConfiguration- The client configuration
-
-
Method Detail
-
getName
public java.lang.String getName()
- Returns:
- the bean's name;
-
requestToken
@NonNull public org.reactivestreams.Publisher<TokenResponse> requestToken(@Nullable java.lang.String scope)
- Specified by:
requestTokenin interfaceClientCredentialsClient- Parameters:
scope- Requested scope values for the access token.- Returns:
- Response of an authorization server to a valid client credentials request.
-
requestToken
@NonNull public org.reactivestreams.Publisher<TokenResponse> requestToken(@Nullable java.lang.String scope, boolean force)
- Specified by:
requestTokenin interfaceClientCredentialsClient- Parameters:
scope- Requested scope values for the access token.force- true to invalidate the cached token response and fetch a new one- Returns:
- Response of an authorization server to a valid client credentials request.
-
isExpired
protected boolean isExpired(@Nullable TokenResponse tokenResponse)- Parameters:
tokenResponse- Token Response- Returns:
- true if any A) parameter token response is null B) if an expiration time cannot parsed C) (expiration date -
ClientCredentialsConfiguration.getAdvancedExpiration()) before current date.
-
isExpired
protected boolean isExpired(@NonNull java.util.Date expirationDate)- Parameters:
expirationDate- Expiration- Returns:
- true if the (expiration date -
ClientCredentialsConfiguration.getAdvancedExpiration()) before current date.
-
expirationDate
protected java.util.Optional<java.util.Date> expirationDate(@NonNull TokenResponse tokenResponse)- Parameters:
tokenResponse- Token Response- Returns:
- The expiration date from the exp claim in the access token is a JWT or the expiration date calculated from the expiresIn
-
createTokenRequestContext
protected abstract ClientCredentialsTokenRequestContext createTokenRequestContext(@Nullable java.lang.String scope)
- Parameters:
scope- The requested scope for the client credentials request- Returns:
- A client credentials token request context
-
-