Class AbstractCallbackServlet

java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
com.google.api.client.extensions.servlet.auth.AbstractCallbackServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

@Beta public abstract class AbstractCallbackServlet extends javax.servlet.http.HttpServlet
Beta
Callback that will retrieve and complete a ThreeLeggedFlow when redirected to by a token server or service provider. Developer should subclass to provide the necessary information tailored to their specific use case.

Warning: starting with version 1.7, usage of this for OAuth 2.0 is deprecated. Instead use AbstractAuthorizationCodeCallbackServlet.

Since:
1.4
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • LOG

      private static final Logger LOG
    • ERROR_PARAM

      private static final String ERROR_PARAM
      See Also:
    • pmf

      private javax.jdo.PersistenceManagerFactory pmf
    • flowType

      private Class<? extends ThreeLeggedFlow> flowType
    • redirectUrl

      private String redirectUrl
    • deniedRedirectUrl

      private String deniedRedirectUrl
    • completionCodeQueryParam

      private String completionCodeQueryParam
    • httpTransport

      private final com.google.api.client.http.HttpTransport httpTransport
    • jsonFactory

      private final com.google.api.client.json.JsonFactory jsonFactory
  • Constructor Details

    • AbstractCallbackServlet

      public AbstractCallbackServlet()
      Constructor with will ask the concrete subclass for all required information on the environment.
  • Method Details

    • getJsonFactory

      protected final com.google.api.client.json.JsonFactory getJsonFactory()
      Return the JsonFactory instance for this servlet.
    • getHttpTransport

      protected final com.google.api.client.http.HttpTransport getHttpTransport()
      Return the HttpTransport instance for this servlet.
    • getPersistenceManagerFactory

      protected abstract javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()
      Override with your chosen method to get a PersistenceManagerFactory. For app engine applications this should be a singleton.
      Returns:
      PersistenceManagerFactory instance.
    • getConcreteFlowType

      protected abstract Class<? extends ThreeLeggedFlow> getConcreteFlowType()
      Returns:
      Specific ThreeLeggedFlow type that this callback should retreieve and complete.
    • getSuccessRedirectUrl

      protected abstract String getSuccessRedirectUrl()
      Returns:
      Url to redirect the user to upon a successful credential exchange.
    • getDeniedRedirectUrl

      protected abstract String getDeniedRedirectUrl()
      Returns:
      Url to redirect the user to upon failure.
    • getCompletionCodeQueryParam

      protected abstract String getCompletionCodeQueryParam()
      Returns:
      Specific query parameter keyword to key off of to get completion code. (e.g. "code" for OAuth2 and "verifier" for OAuth1)
    • getUserId

      protected abstract String getUserId()
      Returns:
      Get a string representation of a userId that can be used to associate credentials and flows with a specific user.
    • newHttpTransportInstance

      protected abstract com.google.api.client.http.HttpTransport newHttpTransportInstance()
      Create a new HttpTransport instance. Implementations can create any type of applicable transport and should be as simple as:
        new NetHttpTransport();
       
      Returns:
      HttpTransport instance for your particular environment
    • newJsonFactoryInstance

      protected abstract com.google.api.client.json.JsonFactory newJsonFactoryInstance()
      Create a new JsonFactory instance. Implementations can create any type of applicable json factory and should be as simple as:
        new JacksonFactory();
       
      Returns:
      JsonFactory instance for your particular environment
    • doGet

      protected final void doGet(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws IOException, javax.servlet.ServletException
      Overrides:
      doGet in class javax.servlet.http.HttpServlet
      Throws:
      IOException
      javax.servlet.ServletException