Autenticazione degli utenti

Questa parte della procedura dettagliata sul codice guestbook Python mostra come autenticare gli utenti e visualizzare un saluto personalizzato per l'utente che ha eseguito l'accesso.

Questa pagina fa parte di un tutorial multi pagina. Per iniziare dall'inizio e consultare le istruzioni per la configurazione, vai a Creare un guestbook.

Accesso degli utenti

La classe MainPage definisce un gestore per le richieste HTTP GET al percorso principale '/'. Il gestore controlla se un utente ha eseguito l'accesso:

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))

Se l'utente ha già eseguito l'accesso all'applicazione, il metodo get_current_user() restituisce un oggetto User e nell'app viene visualizzato il nickname degli utenti. Se l'utente non ha eseguito l'accesso, il codice reindirizza il browser dell'utente alla schermata di accesso all'Account Google. Il meccanismo di accesso all'Account Google rimanda l'utente all'app dopo che ha eseguito l'accesso.

Per ulteriori informazioni, consulta la pagina relativa all'API Users.