Authentifier les utilisateurs


Cette partie du tutoriel consacré au code de l'application Guestbook pour Python explique comment authentifier les utilisateurs et afficher un message d'accueil personnalisé pour l'utilisateur connecté.

Ce tutoriel comporte plusieurs pages. Pour le suivre depuis le début et consulter les instructions relatives à la configuration, consultez la page Créer un livre d'or.

Procéder à la connexion des utilisateurs

La classe MainPage définit un gestionnaire pour les requêtes HTTP GET envoyées au chemin racine '/'. Ce gestionnaire vérifie si un utilisateur est connecté :

class MainPage(webapp2.RequestHandler):

    def get(self):
        guestbook_name = self.request.get('guestbook_name',
                                          DEFAULT_GUESTBOOK_NAME)
        greetings_query = Greeting.query(
            ancestor=guestbook_key(guestbook_name)).order(-Greeting.date)
        greetings = greetings_query.fetch(10)

        user = users.get_current_user()
        if user:
            url = users.create_logout_url(self.request.uri)
            url_linktext = 'Logout'
        else:
            url = users.create_login_url(self.request.uri)
            url_linktext = 'Login'

        template_values = {
            'user': user,
            'greetings': greetings,
            'guestbook_name': urllib.quote_plus(guestbook_name),
            'url': url,
            'url_linktext': url_linktext,
        }

        template = JINJA_ENVIRONMENT.get_template('index.html')
        self.response.write(template.render(template_values))

Si l'utilisateur est déjà connecté à votre application, la méthode get_current_user() renvoie un objet User et l'application affiche le pseudonyme de l'utilisateur. Dans le cas contraire, le navigateur redirige l'utilisateur vers l'écran de connexion au compte Google. Le mécanisme de connexion au compte Google renvoie l'utilisateur à l'application une fois celui-ci connecté.

Pour en savoir plus, consultez la page API Users.