Autenticar usuários


Nesta parte das instruções do código do Guestbook em Python, mostraremos como autenticar usuários e exibir uma saudação personalizada para o usuário conectado.

Esta página é parte de um tutorial com várias páginas. Para começar e ver as instruções de configuração, acesse Como criar um livro de visitas.

Como conectar usuários

A classe MainPage define um gerenciador para solicitações HTTP GET para o caminho raiz '/'. O manipulador verifica se um usuário está conectado:

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 o usuário já estiver conectado ao aplicativo, o método get_current_user() retornará um objeto User e o aplicativo exibirá o apelido do usuário. Se o usuário não tiver feito login, o código redirecionará o navegador do usuário para a tela de login da Conta do Google. O mecanismo de login envia o usuário de volta ao aplicativo depois que ele fizer login.

Para mais informações, consulte a API Users.