ID de región
El REGION_ID
es un código abreviado que Google asigna en función de la región que selecciones al crear tu aplicación. El código no corresponde a un país o provincia, aunque algunos IDs de región pueden parecerse a los códigos de país y provincia que se usan habitualmente. En las aplicaciones creadas después de febrero del 2020, REGION_ID.r
se incluye en las URLs de App Engine. En las aplicaciones creadas antes de esa fecha, el ID de región es opcional en la URL.
Añade un flujo de inicio de sesión de usuario a tu servicio web que use Firebase Authentication.
En este paso de la guía, actualizarás tu servicio web para autenticar a los usuarios y para recuperar y mostrar la información de un usuario después de que se autentique. Ten en cuenta que, en este paso, los tiempos de solicitud del sitio seguirán siendo globales en lugar de específicos de cada usuario.
Antes de empezar
Si has completado todos los pasos anteriores de esta guía, puedes saltarte esta sección. De lo contrario, realice una de las siguientes acciones:
Empieza por Crear una aplicación Python 3 y sigue todos los pasos hasta llegar a este.
Si ya tienes un Google Cloud proyecto, puedes continuar descargando una copia del servicio web y añadiendo Firebase:
Descarga el repositorio de la aplicación de muestra con Git:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
También puedes descargar el ejemplo como un archivo ZIP y, a continuación, extraerlo.
Ve 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
Añadir métodos de autenticación de Firebase
Firebase proporciona métodos y variables de JavaScript que puedes usar para configurar el comportamiento de inicio de sesión de tu servicio web. En este servicio web, añade una función de cierre de sesión, una variable que configure la interfaz de usuario de inicio de sesión y una función que controle los cambios que se producen cuando un usuario inicia o cierra sesión.
Para añadir los comportamientos necesarios para un flujo de autenticación, sustituye el método de escucha de eventos actual del archivo static/script.js
por el siguiente código:
Ten en cuenta que el método onAuthStateChanged()
, que controla los cambios que se producen cuando un usuario inicia o cierra sesión, 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 inicia sesión correctamente. El servidor lo usa para autenticar al usuario.
Actualizar el servicio web para usar tokens
A continuación, verifica a los usuarios en el servidor con su token de ID único de Firebase y, después, descifra su token para que puedas mostrarles sus datos.
Para usar el token de ID de Firebase, sigue estos pasos:
Recupera, verifica y descifra el token en el método
root
de tu archivomain.py
:Asegúrate de que tu archivo
requirements.txt
incluya todas las dependencias necesarias:
Probar un servicio web
Prueba tu servicio web ejecutándolo de forma local en un entorno virtual:
Ejecuta los siguientes comandos en el directorio principal de tu proyecto para instalar nuevas dependencias y ejecutar tu servicio web. Si no has configurado un entorno virtual para las pruebas locales, consulta cómo probar tu servicio web.
pip install -r requirements.txt python main.py
Introduce la siguiente dirección en tu navegador web para ver tu servicio web:
http://localhost:8080
Desplegar un servicio web
Ahora que la autenticación funciona de forma local, puedes volver a desplegar tu servicio web en App Engine.
Ejecuta el siguiente comando desde el directorio raíz de tu proyecto, donde se encuentra el archivo app.yaml
:
gcloud app deploy
Todo el tráfico se dirige automáticamente a la nueva versión que has implementado.
Para obtener más información sobre cómo gestionar versiones, consulta el artículo Gestionar servicios y versiones.
Ver tu servicio
Para iniciar rápidamente tu navegador y acceder a tu servicio web en
https://PROJECT_ID.REGION_ID.r.appspot.com
, ejecuta el siguiente comando:
gcloud app browse
Pasos siguientes
Ahora que has configurado la autenticación de usuarios, puedes aprender a actualizar tu servicio web para personalizar los datos de los usuarios autenticados.