Utiliser le service Utilisateurs (Users)
Google App Engine fournit plusieurs services utiles basé sur l'infrastructure Google, accessible par les applications en utilisant les libraries inclus avec le SDK. Un tel service est le service Utilisateurs (Users), qui permet à votre application d'intéragir avec les comptes utilisateurs Google. Avec le service Utilisateurs, vos utilisateurs peuvent utiliser les comptes Google qu'ils possèdent déjà pour se connecter à votre application.
Utilisons le service Utilisateurs pour personnaliser le message d'accueil de cette application.
Utiliser l'API Utilisateurs
Editez src/guestbook/GuestbookServlet.java comme indiqué ci-dessous:
package guestbook;
import java.io.IOException;
import javax.servlet.http.*;
import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
public class GuestbookServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user != null) {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, " + user.getNickname());
} else {
resp.sendRedirect(userService.createLoginURL(req.getRequestURI()));
}
}
}
Si vous utilisez Eclipse et si votre serveur de développement est lancé dans le debuggeur,
lorsque vous sauvegardez les changements de ce fichier, Eclipse compile
le nouveau code automatiquement, puis essaye d'insérer le nouveau code dans le serveur qui fonctionne déjà.
Les changement dans les classes, les JSPs, les fichiers statiques et appengine-web.xml sont pris en compte immédiatement
Si vous changez web.xml ou d'autres fichiers de configuration, vous devez arrêter et démarrer le serveur pour
voir les changements.
Si vous utilisez Ant, vous devez arrêter le serveur et reconstruire le projet pour voir les changements du code source. Les modifications des JSPs et des fichiers statiques ne nécessitent pas de redémarrage du serveur.
Si nécessaire, reconstruire votre projet et redémarrer le serveur. Testez l'application en visitant l'URL de la servlet dans votre navigateur:
Au lieu d'afficher le message, le serveur vous demande une adresse email.
Entrez n'importe quelle adresse email (telle que alfred@example.com,
puis cliquer sur "Log In". L'application affiche un message, cette fois contenant
l'adresse email saisis.
Le nouveau code pour la classe GuestbookServlet utilise
l'API Utilisateurs pour vérifier si l'utilisateur est connecté avec un compte Google.
Si ce n'est pas le cas, l'utilisateur est redirigé vers l'écran de connection
Google Accounts. userService.createLoginURL(...) retourne l'URL de l'écran de connection.
L'écran de connection sait rediriger l'utilisateur vers l'application via l'URL fournis à createLoginURL(...),
qui dans ce cas est l'URL de la page courante.
Le serveur de développement sait simuler les écrans de connection aux comptes Google. Exécutée sur votre ordinateur, la redirection va vers la page où vous pouvez entrer n'importe quelle adresse email pour simuler une connection à un compte. Exécutée sur App Engine, la redirection va vers l'écran de comptes Google actuel.
Vous êtes maintenant connecté dans votre application de test. Si vous recharger la page, le message s'affichera de nouveau.
Pour permettre à l'utilisateur de se déconnecter, fournissez un lien vers l'écran de déconnexion,
généré par la méthode createLogoutURL().
Notez qu'un tel lien déconnectera l'utilisateur de tous les services Google.
Suite...
Maintenant que nous savons identifier l'utilisateur, nous pouvons l'inviter à poster un message sur le livre d'or. Réalisons une interface utilisateur pour cette application en utilisant les JavaServer Pages (JSPs).
Continue vers Utiliser les JSPs.