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 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_SCOPE
Configuration key for the scope.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 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_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.
-
-
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.
-
-