ID da região
O REGION_ID
é um código abreviado que o Google atribui
com base na região que você selecionou ao criar o aplicativo. O código não
corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes
aos códigos de país e estado geralmente usados. Para apps criados após
fevereiro de 2020, o REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criados antes dessa data, o
ID da região é opcional no URL.
Saiba mais sobre IDs de região.
Adicione um fluxo de login do usuário ao seu serviço da Web que usa o Firebase Authentication.
Nesta etapa do guia, você atualiza o serviço da Web para autenticar usuários e para recuperar e exibir as informações de um usuário depois que elas são autenticadas. Para essa etapa, os tempos de solicitação do site ainda serão globais, e não específicos do usuário.
Antes de começar
Se você concluiu todas as etapas anteriores deste guia, pule esta seção. Caso contrário, conclua um dos procedimentos abaixo:
Comece por Criar um aplicativo Python 3 e conclua todas as etapas anteriores a esta.
Se você já tiver um projeto do Google Cloud, continue fazendo o download de uma cópia do serviço da Web e adicionando o Firebase:
Faça o download do repositório do aplicativo de amostra usando Git:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Outra alternativa é fazer o download da amostra como um arquivo ZIP e extraí-lo.
Navegue até o diretório que contém uma cópia dos arquivos da etapa anterior:
cd python-docs-samples/appengine/standard_python3/building-an-app/building-an-app-2
Adicione o Firebase ao projeto do Google Cloud e ao serviço da Web.
Adicionar métodos de autenticação do Firebase
O Firebase oferece métodos e variáveis do JavaScript que você pode usar para configurar o comportamento de login do seu serviço da Web. Para este serviço da Web, inclua uma função de saída, uma variável que configure a IU de login e uma função que controle o que muda quando um usuário faz login ou logout.
Para adicionar os comportamentos necessários para um fluxo de autenticação, substitua o método listener de evento atual do arquivo static/script.js
pelo seguinte código:
O método onAuthStateChanged()
, que controla as alterações quando um usuário faz login ou logout, armazena o token de ID do usuário como um cookie.
Esse token de código é exclusivo, o Firebase o gera automaticamente quando um usuário faz login com sucesso e ele é usado pelo servidor para autenticar o usuário.
Atualizar o serviço da Web para usar tokens
Agora, verifique os usuários no servidor usando seu token de código do Firebase exclusivo e, em seguida, descriptografe o token deles para que você possa imprimir os dados de volta para eles.
Para usar o token de código do Firebase, siga estas etapas:
Recupere, verifique e descriptografe o token no método
root
do arquivomain.py
:Verifique se o arquivo
requirements.txt
inclui todas as dependências necessárias:
Testar seu serviço da Web
Teste seu serviço da Web executando-o localmente em um ambiente virtual:
Execute os comandos a seguir no diretório principal do seu projeto para instalar novas dependências e executar o serviço da Web. Se você não configurou um ambiente virtual para testes locais, consulte Como testar o serviço da Web.
pip install -r requirements.txt python main.py
Digite o seguinte endereço no navegador da Web para ver o serviço da Web:
http://localhost:8080
Implantar o serviço da Web
Agora que a autenticação está funcionando localmente, é possível reimplantar o serviço da Web no App Engine.
Execute o seguinte comando no diretório raiz do projeto, em que o arquivo app.yaml
está localizado:
gcloud app deploy
Todo o tráfego é roteado automaticamente para a nova versão implantada.
Para mais informações sobre como gerenciar versões, consulte Como gerenciar serviços e versões.
Ver seu serviço
Para iniciar rapidamente o navegador e acessar o serviço da Web em https://PROJECT_ID.REGION_ID.r.appspot.com
, execute o seguinte comando:
gcloud app browse
Próximas etapas
Agora que você configurou a autenticação do usuário, está pronto para aprender como atualizar o serviço da Web a fim de personalizar dados para usuários autenticados.