Puntos de control
Configure the case study application
/ 50
Configure Identity Platform Authentication
/ 50
Desarrollo de aplicaciones: Cómo agregar autenticación de usuario a tu aplicación - Python
- GSP186
- Descripción general
- Configuración y requisitos
- Tarea 1. Prepara la aplicación del caso de éxito
- Tarea 2: Examina el código de la aplicación del caso de éxito
- Tarea 3. Configura la autenticación de Identity Platform
- Tarea 4. Integra una aplicación web del cliente usando Identity Platform
- Tarea 5: Ejecuta la aplicación
- ¡Felicitaciones!
GSP186
Descripción general
En este lab, se muestra cómo agregar autenticación a tu aplicación con Identity Platform. Esta autorización identifica tu identidad y determina lo que puedes hacer. Para obtener más información, consulta Descripción general de la autenticación.
Identity Platform ofrece un servicio de autenticación directo y personalizable para el registro y acceso de los usuarios. Gracias a diversas opciones de SDKs para apps (Android, iOS y Web) y de administración (Node.js, Java, Python y muchos más), facilita las actividades administrativas y de desarrollo. Para obtener más información, consulta Identity Platform.
En este lab, utilizarás una app en línea llamada Quiz. Agregarás la autenticación de Identity Platform y, luego, la configurarás para usar una credencial simple de dirección de correo electrónico y contraseña. Por último, te asegurarás de que los usuarios se registren y accedan antes de hacer un cuestionario.
Qué aprenderás
En este lab, realizarás las siguientes tareas:
- Agregar la configuración de Identity Platform a una aplicación web del cliente
- Escribir código de Python para integrar la autenticación de Identity Platform a una aplicación web del cliente
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
- Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón Abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debe usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta. -
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}} También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}} También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia Cuenta de Google podría generar cargos adicionales. -
Haga clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Activa Cloud Shell
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
- Haz clic en Activar Cloud Shell en la parte superior de la consola de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. El resultado contiene una línea que declara el PROJECT_ID para esta sesión:
gcloud
es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
-
Haz clic en Autorizar.
-
Ahora, el resultado debería verse de la siguiente manera:
Resultado:
- Puedes solicitar el ID del proyecto con este comando (opcional):
Resultado:
Resultado de ejemplo:
gcloud
, consulta la guía con la descripción general de gcloud CLI en Google Cloud.
Inicia el editor de código de Cloud Shell
En la barra de herramientas de Cloud Shell, mueve Cloud Shell a una ventana nueva; para ello, haz clic en el ícono de abrir en una ventana nueva y, luego, en el ícono de abrir editor para abrirlo.
En la terminal de Cloud Shell, ejecuta el siguiente comando para configurar el ID del proyecto y reemplaza <YOUR-PROJECT-ID>
por el ID del proyecto de tu lab:
Autoriza Cloud Shell.
Tarea 1. Prepara la aplicación del caso de éxito
En esta tarea, clonarás, configurarás y ejecutarás la aplicación Quiz.
Clona el código fuente en Cloud Shell
-
Clona el esqueleto de la aplicación desde el repositorio en GitHub.com:
git clone https://github.com/GoogleCloudPlatform/training-data-analyst -
Crea un vínculo simbólico como un acceso directo al directorio de trabajo:
ln -s ~/training-data-analyst/courses/developingapps/v1.3/python/firebase ~/firebase
Configura y ejecuta la aplicación del caso de éxito
-
Navega al directorio que contenga los archivos de muestra de este lab:
cd ~/firebase/start -
Ejecuta el siguiente comando para cambiar la región
us-central
por la región que tienes asignada de manera predeterminada:export REGION={{{ project_0.startup_script.app_region | REGION }}} sed -i "s/us-central/$REGION/g" prepare_environment.sh -
Configura la aplicación:
. prepare_environment.sh Este archivo de secuencia de comandos hace lo siguiente:
- Crea una aplicación de App Engine.
- Crea un bucket de Cloud Storage llamado
gs:[Project-ID]-media
. - Exporta dos variables de entorno:
GCLOUD_PROJECT
yGCLOUD_BUCKET
. - Crea un entorno
virtualenv
aislado de Python para Python 3 y lo activa. - Ejecuta
> pip install -r requirements.txt
. - Crea entidades en Cloud Datastore.
- Imprime el ID del proyecto de Google Cloud.
Haz clic en Revisar mi progreso para verificar el objetivo.
-
Ejecuta la aplicación:
python run_server.py
Inicia la app del caso de éxito
- En Cloud Shell, haz clic en Vista previa en la Web > Vista previa en el puerto 8080 para obtener una vista previa de la aplicación Quiz.
Deja esta ventana abierta, ya que necesitarás el dominio de la vista previa de Cloud Shell Web más adelante en este lab.
Tarea 2: Examina el código de la aplicación del caso de éxito
En esta tarea, examinarás el código de la aplicación del caso de éxito. Puedes usar los editores de shell que están instalados en Cloud Shell, como nano
o vim
, o bien el editor de código de Cloud Shell.
En este lab, se usa el editor de código de Cloud Shell para revisar el código de la aplicación Quiz.
Inicia el editor de código de Cloud Shell
- En Cloud Shell, haz clic en Abrir editor para iniciar el editor de código.
Revisa la aplicación cliente
-
Usa el panel del navegador de archivos ubicado en la parte izquierda del editor de código para navegar hasta la carpeta
/firebase/start
. -
Continúa con la navegación. Abre
...quiz/webapp/static/client/
. Haz clic en el archivoindex.html
.Este archivo es la única página de la aplicación de página única (SPA) de AngularJS. Contiene las etiquetas
<script></script>
para las bibliotecas y el código de la aplicación, y las marcas donde la SPA renderizará un resultado dinámico. -
Selecciona el archivo
qiq-login-template.html
en la carpeta...quiz/webapp/static/client/app/auth/
.Este archivo contiene la plantilla de AngularJS para el componente de acceso. Observa que contiene un par de cuadros de texto y un botón. El botón tiene un controlador de eventos que ejecuta código cuando se hace clic en él.
-
Dentro de esta carpeta, selecciona el archivo
qiq-login.js
.Este archivo contiene un componente de AngularJS. Permite al usuario acceder a la aplicación o navegar a una página de registro.
Tarea 3. Configura la autenticación de Identity Platform
En esta tarea, configurarás Identity Platform para que un usuario acceda con un correo electrónico y una contraseña. Luego, puedes crear un usuario y usarlo para acceder a la aplicación Quiz.
Configura Identity Platform para usar correo electrónico y contraseña
-
En la consola de Google Cloud, ve al menú de navegación () y haz clic en Identity Platform.
-
Haz clic en Habilitar Identity Platform.
Nota: Si ves el mensaje emergente ¿Deseas abandonar el sitio?, haz clic en Salir. La página de Identity Platform aparece en la consola de Cloud.
-
Haz clic en Agregar un proveedor.
-
En la ventana del Método de acceso, para Selecciona un proveedor, selecciona Correo electrónico y contraseña.
-
Haz clic en Habilitado.
-
En el panel Dominios autorizados, haz clic en Agregar dominio.
-
Vuelve a la aplicación en ejecución Quiz y copia el dominio que tiene el siguiente formato:
-
Pega el dominio en el campo Dominio.
-
Modifica el dominio pegado para que solo el nombre de dominio aparezca en el campo Dominio.
Debes quitar https:// y todo lo que siga al nombre de dominio, incluidas las barras diagonales. El nombre de dominio debe terminar con cloudshell.dev.
-
Haz clic en Guardar.
-
En la ventana del proveedor de identidad nuevo, haz clic en Guardar.
Es posible que necesites desplazarte hacia abajo para ver el botón Guardar.
Agrega un usuario
-
En el panel de Identity Platform, haz clic en Usuarios.
-
Haz clic en Agregar usuario.
-
En el cuadro de diálogo Agregar usuario, especifica lo siguiente:
Correo electrónico
user1@example.com
Contraseña
abc123!
-
Haz clic en Agregar.
Haz clic en Revisar mi progreso para verificar el objetivo.
Tarea 4. Integra una aplicación web del cliente usando Identity Platform
En esta tarea, aplicarás la configuración de Identity Platform a la aplicación web del cliente.
-
En el panel de navegación, haz clic en Proveedores.
-
Haz clic en Detalles de configuración de la aplicación.
-
En el cuadro de diálogo Configurar tu aplicación, copia el fragmento de código de Identity Platform.
-
Haz clic en Cerrar.
-
En el editor de código de Cloud Shell, abre el archivo
index.html
en...webapp/static/client/
. -
Pega el fragmento de código de configuración justo antes de las otras etiquetas
<script></script>
en la parte inferior de la página. -
Guarda el archivo
index.html
.
Tarea 5: Ejecuta la aplicación
En esta tarea, verificarás si puedes acceder a la aplicación Quiz con las credenciales que creaste en Identity Platform en un paso anterior. Luego, registrarás a un usuario nuevo en la aplicación Quiz y verificarás que las credenciales se agreguen a Identity Platform.
-
Regresa a la aplicación Quiz y actualiza tu navegador.
-
En la barra de navegación, haz clic en Take Test.
-
En la barra de navegación, haz clic en GCP, Personas o Lugares.
Nota: Las páginas del cuestionario estarán en blanco, porque debes acceder con una cuenta para poder realizar una prueba. -
En la barra de navegación, ingresa las siguientes credenciales no válidas:
Correo electrónico
user2@example.com
Contraseña
abcd1234$
-
Haz clic en Login.
Nota: El acceso no funcionará porque el usuario no está registrado. -
Ingresa las siguientes credenciales que creaste en una tarea anterior:
Correo electrónico
user1@example.com
Contraseña
abc123!
-
Haz clic en Login.
La dirección de correo electrónico del usuario debería mostrarse en la barra de navegación y se presentará la primera pregunta.
Nota: Si la información de acceso no funciona, es posible que la contraseña no se haya configurado correctamente. Regresa a la página Usuarios en Identity Platform y borra user1@example.com. Luego, agrega user1@example.com con la contraseña correcta. -
En la barra de navegación, haz clic en Logout.
-
Haz clic en el vínculo Register.
-
En el nuevo formulario, ingresa las siguientes credenciales:
Correo electrónico
user2@example.com
Contraseña
abcd1234$
-
Haz clic en Register.
Es necesaria una contraseña compleja. Si ingresaste una contraseña aceptable, deberías acceder y, luego, se te debería redireccionar a la prueba de GCP.
Podrás contestar preguntas y enviar respuestas.
-
En la barra de navegación, haz clic en Logout.
Nota: Saldrás y se te redireccionará a la página principal de Quiz. -
En la consola de Google Cloud, ve al panel de navegación de Identity Platform y haz clic en Usuarios.
Nota: Deberías ver que se agregó a user2@example.com como usuario.
¡Felicitaciones!
En este lab, aprendiste a usar Identity Platform para permitir el registro de correos electrónicos y contraseñas para tu aplicación.
Finaliza la Quest
Este lab de autoaprendizaje forma parte de la Quest Application Development - Python. Una Quest es una serie de labs relacionados que forman una ruta de aprendizaje. Si completas esta Quest, obtendrás una insignia como reconocimiento por tu logro. Puedes hacer públicas tus insignias y agregar vínculos a ellas en tu currículum en línea o en tus cuentas de redes sociales. Inscríbete en cualquier Quest que contenga este lab y obtén un crédito inmediato de finalización. Consulta el catálogo de Google Cloud Skills Boost para ver todas las Quests disponibles.
Próximos pasos y más información
- Para conocer las funciones de Google Cloud con los que se puede usar Firebase, consulta la documentación de Google Cloud's operations suite.
- Para obtener más información acerca de Deployment Manager, consulta Firebase y Google Cloud.
Última actualización del manual: 23 de octubre de 2023
Prueba más reciente del lab: 23 de octubre de 2023
Copyright 2024 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.