Class AbstractFlowUserServlet
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- com.google.api.client.extensions.servlet.auth.AbstractFlowUserServlet
-
- All Implemented Interfaces:
Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
@Beta public abstract class AbstractFlowUserServlet extends javax.servlet.http.HttpServlet
Beta
Servlet that can be used to invoke and manage aThreeLeggedFlow
object in the App Engine container. Developers should subclass this to provide the necessary information for their specific use case.Warning: starting with version 1.7, usage of this for OAuth 2.0 is deprecated. Instead use
AbstractAuthorizationCodeServlet
.- Since:
- 1.4
- Author:
- moshenko@google.com (Jacob Moshenko)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AbstractFlowUserServlet()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected Credential
getCredential(javax.servlet.http.HttpServletRequest req)
Fetch a credential associated with this request.protected com.google.api.client.http.HttpTransport
getHttpTransport()
Return theHttpTransport
instance for this servlet.protected com.google.api.client.json.JsonFactory
getJsonFactory()
Return theJsonFactory
instance for this servlet.protected abstract javax.jdo.PersistenceManagerFactory
getPersistenceManagerFactory()
Obtain a PersistenceManagerFactory for working with the datastore.protected abstract String
getUserId()
protected abstract ThreeLeggedFlow
newFlow(String userId)
Create a flow object which will be used to obtain credentials.protected abstract com.google.api.client.http.HttpTransport
newHttpTransportInstance()
Create a newHttpTransport
instance.protected abstract com.google.api.client.json.JsonFactory
newJsonFactoryInstance()
Create a newJsonFactory
instance.protected void
service(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)
-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
-
-
-
-
Method Detail
-
service
protected void service(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws IOException, javax.servlet.ServletException
- Overrides:
service
in classjavax.servlet.http.HttpServlet
- Throws:
IOException
javax.servlet.ServletException
-
getCredential
protected Credential getCredential(javax.servlet.http.HttpServletRequest req)
Fetch a credential associated with this request.- Parameters:
req
- Request object to use as context for fetching the credential.- Returns:
- Credential object for this request and user.
- Since:
- 1.5
-
getJsonFactory
protected final com.google.api.client.json.JsonFactory getJsonFactory()
Return theJsonFactory
instance for this servlet.
-
getHttpTransport
protected final com.google.api.client.http.HttpTransport getHttpTransport()
Return theHttpTransport
instance for this servlet.
-
getPersistenceManagerFactory
protected abstract javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()
Obtain a PersistenceManagerFactory for working with the datastore.- Returns:
- PersistenceManagerFactory instance.
-
newFlow
protected abstract ThreeLeggedFlow newFlow(String userId) throws IOException
Create a flow object which will be used to obtain credentials.- Parameters:
userId
- User id to be passed to the constructor of the flow object- Returns:
- Flow object used to obtain credentials
- Throws:
IOException
-
newHttpTransportInstance
protected abstract com.google.api.client.http.HttpTransport newHttpTransportInstance()
Create a newHttpTransport
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 newJsonFactory
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
-
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.
-
-