Class AbstractAppEngineAuthorizationCodeCallbackServlet (1.33.3)

public abstract class AbstractAppEngineAuthorizationCodeCallbackServlet extends AbstractAuthorizationCodeCallbackServlet

Simple extension of AbstractAuthorizationCodeCallbackServlet that uses the currently logged-in Google Account user, as directed in Security and Authentication.

Note that if there is no currently logged-in user, #getUserId(HttpServletRequest) will throw a NullPointerException. Example to require login for all pages:

<security-constraint> <web-resource-collection> <web-resource-name>any</web-resource-name> <url-pattern>/</url-pattern> </web-resource-collection> <auth-constraint> <role-name></role-name> </auth-constraint> </security-constraint>

Sample usage:

public class ServletCallbackSample extends AbstractAppEngineAuthorizationCodeCallbackServlet {

@Override protected void onSuccess(HttpServletRequest req, HttpServletResponse resp, Credential credential) throws ServletException, IOException { resp.sendRedirect("/"); }

@Override protected void onError( HttpServletRequest req, HttpServletResponse resp, AuthorizationCodeResponseUrl errorResponse) throws ServletException, IOException { // handle error }

@Override protected String getRedirectUri(HttpServletRequest req) throws ServletException, IOException { GenericUrl url = new GenericUrl(req.getRequestURL().toString()); url.setRawPath("/oauth2callback"); return url.build(); }

@Override protected AuthorizationCodeFlow initializeFlow() throws IOException { return new AuthorizationCodeFlow.Builder(BearerToken.authorizationHeaderAccessMethod(), new UrlFetchTransport(), new GsonFactory(), new GenericUrl("https://server.example.com/token"), new BasicAuthentication("s6BhdRkqt3", "7Fjfp0ZBr1KtDRbnfVdmIw"), "s6BhdRkqt3", "https://server.example.com/authorize").setCredentialStore(new AppEngineCredentialStore()) .build(); }

Inheritance

java.lang.Object > javax.servlet.GenericServlet > HttpServlet > AbstractAuthorizationCodeCallbackServlet > AbstractAppEngineAuthorizationCodeCallbackServlet

Constructors

AbstractAppEngineAuthorizationCodeCallbackServlet()

public AbstractAppEngineAuthorizationCodeCallbackServlet()

Methods

getUserId(HttpServletRequest req)

protected String getUserId(HttpServletRequest req)

Returns the user ID for the given HTTP servlet request. This identifies your application's user and is used to assign and persist credentials to that user. Most commonly, this will be a user id stored in the session or even the session id itself.

Parameter
NameDescription
reqHttpServletRequest
Returns
TypeDescription
String
Overrides Exceptions
TypeDescription
ServletException
IOException