ID de región
REGION_ID
es un código abreviado que Google asigna en función de la región que eliges cuando creas la app. El código no corresponde a un país ni a una provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia que se suelen usar. En el caso de las apps creadas después de febrero de 2020, REGION_ID.r
se incluye en las URL de App Engine. En el caso de las apps existentes creadas antes de esta fecha, el ID de región es opcional en la URL.
Obtén más información acerca de los ID de región.
Agrega un flujo de acceso de usuarios a un servicio web que usa Firebase Authentication.
En este paso de la guía, se actualiza el servicio web para autenticar a los usuarios y recuperar y mostrar su información después de que se autentiquen. Ten en cuenta que, para este paso, los tiempos de solicitud del sitio seguirán siendo globales en lugar de específicos del usuario.
Antes de comenzar
Si completaste todos los pasos anteriores de esta guía, omite esta sección. De lo contrario, sigue una de las siguientes instrucciones:
Comienza desde Compila una app de Python 3 y completa todos los pasos previos a este.
Si ya tienes un proyecto de Google Cloud, puedes continuarlo si descargas una copia del servicio web y agregas Firebase:
Descarga el repositorio de aplicaciones de muestra con Git:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Si no, puedes descargar la muestra como un archivo ZIP y, luego, descomprimirlo.
Dirígete al directorio que contiene una copia de los archivos del paso anterior:
cd python-docs-samples/appengine/standard_python3/building-an-app/building-an-app-2
Agrega Firebase a tu proyecto de Google Cloud y a tu servicio web.
Agrega métodos de autenticación de Firebase
Firebase proporciona métodos y variables de JavaScript que pueden usarse a fin de configurar el comportamiento de acceso para servicios web. Para este servicio web, agrega una función de salida, una variable que configure la IU de acceso y una función que controle los cambios cuando un usuario accede o sale.
Para agregar los comportamientos necesarios para un flujo de autenticación, reemplace el método objeto de escucha de eventos actual del archivo static/script.js
con el siguiente código:
Ten en cuenta que el método onAuthStateChanged()
, que controla los cambios cuando un usuario accede o sale, almacena el token de ID del usuario como una cookie.
Este token de ID es un token único que Firebase genera automáticamente cuando un usuario accede correctamente y el servidor lo usa para autenticarlo.
Actualiza tu servicio web para usar tokens
A continuación, verifica que los usuarios en el servidor usen su token único de ID de Firebase; luego, desencripta los tokens para poder imprimirles sus datos.
Para usar el token de ID de Firebase, sigue estos pasos:
Recupera, verifica y desencripta el token en el método
root
de tu archivomain.py
:Asegúrate de que el archivo
requirements.txt
incluya todas las dependencias necesarias:
Prueba tu servicio web
Para probar un servicio web, ejecútalo de forma local en un entorno virtual:
Ejecuta los siguientes comandos en el directorio principal del proyecto para instalar nuevas dependencias y ejecutar tu servicio web. Si no configuraste un entorno virtual para las pruebas locales, consulta Prueba tu servicio web.
pip install -r requirements.txt python main.py
Ingresa la siguiente dirección en el navegador web para ver tu servicio web:
http://localhost:8080
Implementar tu servicio web
Ahora que la autenticación trabaja de manera local, puedes volver a implementar el servicio web en App Engine.
Ejecuta el siguiente comando desde el directorio raíz de tu proyecto, en el que se encuentra el archivo app.yaml
:
gcloud app deploy
Todo el tráfico se enruta automáticamente a la nueva versión que implementaste.
Para obtener más información sobre la administración de versiones, consulta Cómo administrar servicios y versiones.
Cómo ver tu servicio
Para iniciar el navegador y acceder a tu servicio web en https://PROJECT_ID.REGION_ID.r.appspot.com
con rapidez, ejecuta el siguiente comando:
gcloud app browse
Próximos pasos
Ahora que configuraste la autenticación de usuario, estás listo para aprender cómo actualizar tu servicio web a fin de personalizar los datos de los usuarios autenticados.