Платформа App Engine с помощью службы Users автоматически обеспечивает проверку аутентификации пользователя в системе Google Accounts.
 
Служба Users GAE-платформы предоставляет программный интерфейс, обеспечивающий в коде приложения проверку прохождения пользователем аутентификации, а также создание URL-адреса страницы аутентификации клиента и URL-адреса страницы выхода клиента из системы.
Программный интерфейс Users API представлен пакетом com.google.appengine.api.users, включающим в себя интерфейс UserService, классы User и UserServiceFactory, исключение UserServiceFailureException.
 
Объект User, применительно к пользователю Google-аккаунта, содержит такую информацию, как идентификатор пользователя, его логин, а также адрес электронной почты.
 
Для GAE-приложения можно ограничить число авторизированных пользователей, прошедших аутентификацию с помощью Google-аккаунта, храня User-объекты зарегистрированных для приложения пользователей в Datastore-хранилище платформы App Engine и на JSP-странице с ограниченным доступом проверяя соответствие User-объекта пользователя, зашедшего на страницу, User-объекту, хранящемуся в Datastore-хранилище:
 
<%@ page import="com.google.appengine.api.users.*" %> 
 
<%@ page import="com.google.appengine.api.datastore.*" %>
 
<%@ page import="com.google.appengine.api.datastore.Query.*" %>  
 
<%
 
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
 
UserService userService = UserServiceFactory.getUserService();
 
User user = userService.getCurrentUser();
 
String nickName="";
 
String email="";
 
String idUser="";
 
if (user != null) {    
 
Query qUsers = new Query("Users");
 
PreparedQuery pq = datastore.prepare(qUsers);
 
int auth=0;
 
for (Entity result : pq.asIterable()) {
 
         String id_user = (String) result.getProperty("id_user");     
 
         if(id_user.equals(user.getUserId())){
 
                 auth=1;
 
                 nickName=(String) result.getProperty("nickName");    
 
                 user=(User)result.getProperty("user");
 
                 email=user.getEmail();
 
                 idUser=id_user;
 
         }}
 
if(auth==0){
 
        response.sendRedirect("/");
 
}}
 
else{
 
response.sendRedirect(userService.createLoginURL("/"));
 
}
 
%>
 
В вышеприведенном коде, если пользователь с Google-аккаунтом не зарегистрирован в приложении, он перенаправляется на главную страницу, открытую для всех пользователей. Если же страницу пытается открыть пользователь, не прошедший аутентификацию с помощью Google-аккаунта, он перенаправляется на Google-страницу аутентификации.