Package com.iizix.server.oauth
Class AbstractOAuthService
- java.lang.Object
- com.iizix.server.oauth.AbstractOAuthService
 
- All Implemented Interfaces:
- IOAuthService
 - public abstract class AbstractOAuthService extends java.lang.Object implements IOAuthService The abstract service service using OAuth 1.0a or OAuth 2.0.
- Field Summary- Fields - Modifier and Type - Field - Description - protected static java.lang.String- ACCEPT_LANGUAGEAccept English US language.- protected AccessToken- accessTokenThe access token, null for none.- protected com.github.scribejava.core.oauth.OAuth10aService- service1The OAuth 1.0a authentication service.- protected com.github.scribejava.core.oauth.OAuth20Service- service2The OAuth 2.0 authentication service.- protected OAuthSession- sessionThe session.
 - Constructor Summary- Constructors - Modifier - Constructor - Description - protected- AbstractOAuthService(OAuthSession session, com.github.scribejava.core.oauth.OAuth10aService service)Constructs the service for OAuth 1.0a.- protected- AbstractOAuthService(OAuthSession session, com.github.scribejava.core.oauth.OAuth20Service service)Constructs the service for OAuth 2.0.
 - Method Summary- All Methods Static Methods Instance Methods Abstract Methods Concrete Methods - Modifier and Type - Method - Description - protected static com.github.scribejava.core.builder.ServiceBuilder- createServiceBuilder(java.lang.String clientID, java.lang.String clientSecret)Creates a ServiceBuilder that is initialized for debugging or not.- void- dispose()Disposes of the session, i.e.- void- disposeBlocked()Disposes of the session because of a blocked pop-up window.- void- disposeUserCancel()Disposes of the session because of a user cancel action.- void- doAuthenticate(IOAuthListener listener)- protected AccessToken- getAccessToken()Gets an access token, perhaps by means of refresh.- com.github.scribejava.core.model.OAuth1AccessToken- getAccessToken1()Gets the current, refreshes or get a new OAuth 1.0a Access Token.- com.github.scribejava.core.model.OAuth2AccessToken- getAccessToken2()Gets the current, refreshes or get a new OAuth 2.0 Access Token.- protected static java.io.OutputStream- getDebugOutputStream()Gets the output stream for debugging.- abstract java.lang.String- getLogoutURL()Returns the logout URL for the OAuth service.- protected long- getRequestAdditionalTime()The default additional required time in milliseconds to process a request, i.e.- abstract UserProfileInfo- getUserProfileInfo()Gets the UserProfileInformation from this service.- boolean- invalidateAccessToken()Invalidates the current Access Token that may be valid for quite some time.- protected static void- validate(java.lang.String clientID, java.lang.String clientSecret, java.lang.String... scopes)Validates the clientID, clientSecret and scopes.- Methods inherited from class java.lang.Object- clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - Methods inherited from interface com.iizix.comm.oauth.IOAuthService- getApproximateSize, getAuthenticationProvider, getServiceName
 
 
- Field Detail- ACCEPT_LANGUAGE- protected static final java.lang.String ACCEPT_LANGUAGE Accept English US language.- See Also:
- Constant Field Values
 
 - session- protected final OAuthSession session The session.
 - service1- protected final com.github.scribejava.core.oauth.OAuth10aService service1 The OAuth 1.0a authentication service.
 - service2- protected final com.github.scribejava.core.oauth.OAuth20Service service2 The OAuth 2.0 authentication service.
 - accessToken- protected AccessToken accessToken The access token, null for none.
 
 - Constructor Detail- AbstractOAuthService- protected AbstractOAuthService(OAuthSession session, com.github.scribejava.core.oauth.OAuth20Service service) Constructs the service for OAuth 2.0.- Parameters:
- session- The session.
- service- The service.
- Throws:
- java.lang.NullPointerException- If- sessionor- serviceis- null.
 
 - AbstractOAuthService- protected AbstractOAuthService(OAuthSession session, com.github.scribejava.core.oauth.OAuth10aService service) Constructs the service for OAuth 1.0a.- Parameters:
- session- The session.
- service- The service.
- Throws:
- java.lang.NullPointerException- If- sessionor- serviceis- null.
 
 
 - Method Detail- validate- protected static void validate(java.lang.String clientID, java.lang.String clientSecret, java.lang.String... scopes)Validates the clientID, clientSecret and scopes.- Parameters:
- clientID- The Client ID.
- clientSecret- The Client Secret.
- scopes- The list of scopes as an array, or- nullfor default scopes.
- Throws:
- java.lang.NullPointerException- If- clientID,- clientSecretor any of the- scopesvalues are null is- null.
- java.lang.IllegalArgumentException- If- clientID,- clientSecretor any of the- scopesvalues is empty.
 
 - createServiceBuilder- protected static com.github.scribejava.core.builder.ServiceBuilder createServiceBuilder(java.lang.String clientID, java.lang.String clientSecret)Creates a ServiceBuilder that is initialized for debugging or not.- Parameters:
- clientID- The Client ID.
- clientSecret- The Client Secret.
- Returns:
- ServiceBuilder The service builder instance.
- Throws:
- java.lang.NullPointerException- If- clientIDor- clientSecretis- null.
- java.lang.IllegalArgumentException- If- clientIDor- clientSecretis empty String.
 
 - getDebugOutputStream- protected static java.io.OutputStream getDebugOutputStream() Gets the output stream for debugging.- Returns:
- The output stream when debugging, or {code null} when not debugging.
 
 - getRequestAdditionalTime- protected long getRequestAdditionalTime() The default additional required time in milliseconds to process a request, i.e. to see if an access token is still valid.- Subclasses override this method to return another value. - Returns:
- The default value of 20_000 milliseconds (20 seconds).
 
 - getLogoutURL- public abstract java.lang.String getLogoutURL() Returns the logout URL for the OAuth service. It is not the same as invalidating an access URL.- Subclasses must override this method and implement a return value. - Returns:
- The logout URL, or nullif none exists.
 
 - disposeBlocked- public void disposeBlocked() Disposes of the session because of a blocked pop-up window. The listener is notified, if any.- Specified by:
- disposeBlockedin interface- IOAuthService
 
 - disposeUserCancel- public void disposeUserCancel() Disposes of the session because of a user cancel action.- Specified by:
- disposeUserCancelin interface- IOAuthService
 
 - dispose- public final void dispose() Disposes of the session, i.e. can e.g. close an asynchronous client in progress.- Specified by:
- disposein interface- IOAuthService
 
 - doAuthenticate- public void doAuthenticate(IOAuthListener listener) throws java.io.IOException, java.lang.InterruptedException, java.util.concurrent.ExecutionException - Throws:
- java.io.IOException
- java.lang.InterruptedException
- java.util.concurrent.ExecutionException
 
 - getAccessToken- protected final AccessToken getAccessToken() throws java.io.IOException, java.lang.InterruptedException, java.util.concurrent.ExecutionException Gets an access token, perhaps by means of refresh.- Returns:
- The AccessToken instance.
- Throws:
- java.lang.IllegalStateException- If the authentication has not completed successfully.
- java.io.IOException- For I/O errors.
- java.util.concurrent.ExecutionException- If execution failed when requesting the token.
- java.lang.InterruptedException- If thread was interrupted while waiting for the token.
 
 - invalidateAccessToken- public boolean invalidateAccessToken() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.io.IOExceptionInvalidates the current Access Token that may be valid for quite some time.- The last access token is revoked and this might lead to IOException's. - For OAuth 1.0, this method just clears the Access Token so it has to be retrieved again and just returns false for failure. - Returns:
- true for success, false for failure (no token to invalidate), or the service is of OAuth 1.0a type.
- Throws:
- java.util.concurrent.ExecutionException- For execution errors.
- java.lang.InterruptedException- If the revocation action was interrupted.
- java.io.IOException- For I/O errors.
 
 - getAccessToken2- public final com.github.scribejava.core.model.OAuth2AccessToken getAccessToken2() throws java.io.IOException, java.lang.InterruptedException, java.util.concurrent.ExecutionExceptionGets the current, refreshes or get a new OAuth 2.0 Access Token.- Returns:
- The OAuth 2.0 Access Token instance.
- Throws:
- java.lang.IllegalStateException- If the authentication has not completed successfully.
- java.io.IOException- For I/O errors.
- java.util.concurrent.ExecutionException- If execution failed when requesting the token.
- java.lang.InterruptedException- If thread was interrupted while waiting for the token.
 
 - getAccessToken1- public final com.github.scribejava.core.model.OAuth1AccessToken getAccessToken1() throws java.io.IOException, java.lang.InterruptedException, java.util.concurrent.ExecutionExceptionGets the current, refreshes or get a new OAuth 1.0a Access Token.- Returns:
- The OAuth 1.0a Access Token instance.
- Throws:
- java.lang.IllegalStateException- If the authentication has not completed successfully.
- java.io.IOException- For I/O errors.
- java.util.concurrent.ExecutionException- If execution failed when requesting the token.
- java.lang.InterruptedException- If thread was interrupted while waiting for the token.
 
 - getUserProfileInfo- public abstract UserProfileInfo getUserProfileInfo() throws java.io.IOException, java.lang.InterruptedException, java.util.concurrent.ExecutionException Gets the UserProfileInformation from this service.- This will cause the user to have to authenticate with the service, unless not already done. - All fields available for this service that are possible to set and available will be initialized. Other values will be left - null, unknown or undefined.- Returns:
- The UserProfileInfo instance.
- Throws:
- java.util.concurrent.ExecutionException- For execution errors.
- java.lang.InterruptedException- If the revocation action was interrupted.
- java.io.IOException- For I/O errors.