[aerogear-dev] [Android] - Refactoring OAuth2 configuration
Bruno Oliveira
bruno at abstractj.org
Mon Mar 9 09:42:52 EDT 2015
Good morning, while writing our quickstarts, I found something that I
would like to change.
Currently to setup our OAuth2 providers we have to do something like
this:
AuthorizationManager.config(MODULE_NAME, OAuth2AuthorizationConfiguration.class)
.setBaseURL(new URL("https://"))
.setAuthzEndpoint(AUTHZ_ENDPOINT)
.setAccessTokenEndpoint(AUTHZ_TOKEN_ENDPOINT)
.setAccountId(AUTHZ_ACCOOUNT_ID)
.setClientId(AUTHZ_CLIENT_ID)
.setClientSecret(AUTHZ_CLIENT_SECRET)
.setRedirectURL(AUTHZ_REDIRECT_URL)
.setRefreshEndpoint(AUTHZ_TOKEN_ENDPOINT)
.addAdditionalAccessParam(Pair.create("response_type", "code"))
.setScopes(Arrays.asList("photo_upload, publish_actions"))
.asModule();
Although, things like the url endpoint, access token endpoint, or the
module will most of time remain unchanged. Unless you switch from Facebook to
Keycloak for example. People don't care that much about these
urls, but which provider they want to connect.
So I would like to refactor the authz module from AGDroid, define the default values
for ommitted params and make the methods like setBaseURL for example,
alternative. Something like this:
AuthorizationManager.config(MODULE_NAME, OAuth2AuthorizationConfiguration.class)
.setClientId(AUTHZ_CLIENT_ID)
.setClientSecret(AUTHZ_CLIENT_SECRET)
.asModule();
Based on the module name, we instantiate the respective module with the
default values already in.
Thoughts? Let me know if the idea is useless.
--
abstractj
PGP: 0x84DC9914
More information about the aerogear-dev
mailing list