Class ClientCredentialsAccessTokenProvider
- java.lang.Object
-
- de.aristaflow.adept2.core.eventmanager.mailevents.ClientCredentialsAccessTokenProvider
-
- All Implemented Interfaces:
OAuth2AccessTokenProvider
@ConfigurationDescription(properties={@Property(name="TokenEndpoint",isRequired=true,description="The HTTP-based endpoint used to acquire the OAuth 2.0 token."),,,,,}) public class ClientCredentialsAccessTokenProvider extends Object implements OAuth2AccessTokenProvider
An implementation ofOAuth2AccessTokenProvider
that acquires an access token via the OAuth 2.0 client credentials grant.
-
-
Field Summary
Fields Modifier and Type Field Description protected long
clientTimeout
The HttpClient timeout.static String
CONF_CLIENT_ID
Configuration key for the client ID.static String
CONF_CLIENT_SECRET
Configuration key for the client secret.static String
CONF_REQUEST_TIMEOUT
Configuration key for the HttpRequest timeout.static String
CONF_SCOPE
Configuration key for the scope.static String
CONF_TIMEOUT
Configuration key for the HttpClient timeout.static String
CONF_TOKEN_ENDPOINT
Configuration key for the token endpoint.protected HttpRequest.BodyPublisher
postRequestData
The data to send as post request to get an OAuth 2.0 access token.protected long
requestTimeout
The HttpRequest timeout.protected URI
tokenEndpoint
The token endpoint.
-
Constructor Summary
Constructors Constructor Description ClientCredentialsAccessTokenProvider(org.apache.commons.configuration2.Configuration conf, EventManager em, Registry registry)
Creates a new provider for an OAuth 2.0 token from a specific endpoint.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected HttpRequest.BodyPublisher
createRequestData(org.apache.commons.configuration2.Configuration conf)
Creates aHttpRequest.BodyPublisher
that turns the values from the designated configuration into appropriate URL-encoded form data.String
getAccessToken()
Gets an OAuth2 access token for accessing the mailbox.
-
-
-
Field Detail
-
CONF_TIMEOUT
public static final String CONF_TIMEOUT
Configuration key for the HttpClient timeout.- See Also:
- Constant Field Values
-
CONF_REQUEST_TIMEOUT
public static final String CONF_REQUEST_TIMEOUT
Configuration key for the HttpRequest timeout.- See Also:
- Constant Field Values
-
CONF_TOKEN_ENDPOINT
public static final String CONF_TOKEN_ENDPOINT
Configuration key for the token endpoint.- See Also:
- Constant Field Values
-
CONF_CLIENT_ID
public static final String CONF_CLIENT_ID
Configuration key for the client ID.- See Also:
- Constant Field Values
-
CONF_CLIENT_SECRET
public static final String CONF_CLIENT_SECRET
Configuration key for the client secret.- See Also:
- Constant Field Values
-
CONF_SCOPE
public static final String CONF_SCOPE
Configuration key for the scope.- See Also:
- Constant Field Values
-
tokenEndpoint
protected final URI tokenEndpoint
The token endpoint.
-
postRequestData
protected final HttpRequest.BodyPublisher postRequestData
The data to send as post request to get an OAuth 2.0 access token.
-
clientTimeout
protected final long clientTimeout
The HttpClient timeout.
-
requestTimeout
protected final long requestTimeout
The HttpRequest timeout.
-
-
Constructor Detail
-
ClientCredentialsAccessTokenProvider
public ClientCredentialsAccessTokenProvider(org.apache.commons.configuration2.Configuration conf, EventManager em, Registry registry) throws AbortServiceException
Creates a new provider for an OAuth 2.0 token from a specific endpoint.- Parameters:
conf
- The configuration of this OAuth 2.0 token provider.em
- The event manager this provider is a plugin of.registry
- The registry starting this plugin.- Throws:
AbortServiceException
- If there are problems creating aURI
for the configured endpoint, anAbortServiceException
wrapping the correspondingURISyntaxException
will be thrown.
-
-
Method Detail
-
createRequestData
protected HttpRequest.BodyPublisher createRequestData(org.apache.commons.configuration2.Configuration conf)
Creates aHttpRequest.BodyPublisher
that turns the values from the designated configuration into appropriate URL-encoded form data.- Parameters:
conf
- The configuration to get the request data from.- Returns:
- The designated data as URL-encoded form data.
-
getAccessToken
public String getAccessToken() throws javax.mail.MessagingException
Description copied from interface:OAuth2AccessTokenProvider
Gets an OAuth2 access token for accessing the mailbox.- Specified by:
getAccessToken
in interfaceOAuth2AccessTokenProvider
- Returns:
- An OAuth2 access token for accessing the mailbox
- Throws:
javax.mail.MessagingException
- If there are problems retrieving the access token, aMessagingException
will be thrown.
-
-