Configura un ejemplo de aplicación de Android con Flutter - Amazon Cognito

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configura un ejemplo de aplicación de Android con Flutter

En este tutorial, crearás una aplicación móvil en Android Studio en la que podrás emular un dispositivo y probar el registro, la confirmación y el inicio de sesión de los usuarios. Esta aplicación de ejemplo crea un cliente móvil básico de grupos de usuarios de Amazon Cognito para Android en Flutter. Si ya tiene experiencia en el desarrollo de aplicaciones móviles con Flutter, descargue la aplicación de ejemplo de. GitHub

La siguiente captura de pantalla muestra la aplicación ejecutándose en un dispositivo Android virtual.

Captura de pantalla de la página de registro de una aplicación de ejemplo de Android virtualizada.

El procedimiento Crear un grupo de usuarios permite configurar un grupo de usuarios que funciona con la aplicación de ejemplo. Puede omitir este paso si tiene un grupo de usuarios que cumpla los siguientes requisitos:

  • Los usuarios pueden iniciar sesión con su dirección de correo electrónico. Opciones de inicio de sesión del grupo de usuarios de Cognito: correo electrónico.

  • Los nombres de usuario no distinguen mayúsculas de minúsculas. Requisitos de nombre de usuario: no está seleccionada la opción Hacer que el nombre de usuario distinga mayúsculas de minúsculas.

  • No se requiere la autenticación multifactor (MFA). Aplicación de la MFA: MFA opcional.

  • Su grupo de usuarios verifica los atributos para la confirmación del perfil de usuario mediante un mensaje de correo electrónico. Atributos a verificar: envíe un mensaje de correo electrónico, verifique la dirección de correo electrónico.

  • El correo electrónico es el único atributo obligatorio. Atributos obligatorios: correo electrónico.

  • Los usuarios pueden registrarse ellos mismos en su grupo de usuarios. Registro automático: está seleccionada la opción Habilitar el registro automático.

  • El cliente de la aplicación inicial es un cliente público que permite iniciar sesión con un nombre de usuario y una contraseña. Tipo de aplicación: cliente público, Flujos de autenticación:ALLOW_USER_PASSWORD_AUTH.

Crear un nuevo grupo de usuarios
  1. Vaya a la consola de Amazon Cognito. Si se le solicita, introduzca sus AWS credenciales.

  2. Pulse el botón Crear grupo de usuarios. Puede que tenga que seleccionar Grupos de usuarios en el panel de navegación izquierdo para que aparezca esta opción.

  3. En la esquina superior derecha de la página, elija Create a User Pool (Crear un grupo de usuarios).

  4. En Configurar la experiencia de inicio de sesión, puede elegir los proveedores de identidad (IdPs) que utilizará con este grupo de usuarios. Para obtener más información, consulte Agregar inicio de sesión de grupo de usuarios a través de un tercero.

    1. En Proveedores de autenticación, para los tipos de proveedores, asegúrese de que solo esté seleccionado el grupo de usuarios de Cognito.

    2. Para ver las opciones de inicio de sesión del grupo de usuarios de Cognito, elija Nombre de usuario. No seleccione ningún requisito de nombre de usuario adicional.

    3. Mantén todas las demás opciones como predeterminadas y selecciona Siguiente.

  5. En Configurar requisitos de seguridad, puede elegir su política de contraseñas, los requisitos de autenticación multifactor (MFA) y las opciones de recuperación de cuentas de usuario. Para obtener más información, consulte Uso de las características de seguridad de los grupos de usuarios de Amazon Cognito.

    1. Para la política de contraseñas, confirme que el modo de política de contraseñas esté establecido en los valores predeterminados de Cognito.

    2. En Autenticación multifactor, para aplicar el MFA, elija MFA opcional.

    3. Para los métodos de MFA, selecciona Aplicaciones autenticadoras y mensajes SMS.

    4. Para la recuperación de la cuenta de usuario, confirme que esté seleccionada la opción Habilitar la recuperación automática de cuentas de usuario y que el método de entrega de los mensajes de recuperación de la cuenta de usuario esté configurado como Solo correo electrónico.

    5. Mantenga todas las demás opciones como predeterminadas y seleccione Siguiente.

  6. En Configurar la experiencia de registro, puede determinar cómo verificarán sus identidades los nuevos usuarios al registrarse como nuevos usuarios y qué atributos deben ser obligatorios u opcionales durante el proceso de registro de los usuarios. Para obtener más información, consulte Administración de usuarios en el grupo de usuarios.

    1. Confirme que esté seleccionada la opción Habilitar el registro automático. Esta configuración permite que cualquier usuario de Internet se registre en tu grupo de usuarios. Esto está pensado para los fines de la aplicación de ejemplo, pero aplique esta configuración con precaución en los entornos de producción.

    2. En Verificación y confirmación asistidas por Cognito, compruebe que la casilla Permitir que Cognito envíe mensajes automáticamente para verificar y confirmar esté seleccionada.

    3. Confirme que los atributos a verificar estén configurados en Enviar mensaje de correo electrónico, verificar dirección de correo electrónico.

    4. En Verificar los cambios de atributos, confirme que estén seleccionadas las opciones predeterminadas: se selecciona Conservar el valor del atributo original cuando hay una actualización pendiente y los valores de los atributos activos cuando hay una actualización pendiente se establece en Dirección de correo electrónico.

    5. En Atributos obligatorios, confirme que los atributos obligatorios basados en selecciones anteriores muestren el correo electrónico.

      importante

      Para esta aplicación de ejemplo, su grupo de usuarios no debe establecer phone_number como atributo obligatorio. Si se muestra el número de teléfono como atributo obligatorio, revise y actualice las opciones anteriores:

      • MFA opcional, solo correo electrónico para el método de entrega de los mensajes de recuperación de cuentas de usuario

      • Envía un mensaje de correo electrónico, verifica la dirección de correo electrónico para que Attributes la verifique

    6. Mantenga todas las demás opciones como predeterminadas y seleccione Siguiente.

  7. En Configurar la entrega de mensajes, puede configurar la integración con Amazon Simple Email Service y Amazon Simple Notification Service para enviar mensajes de correo electrónico y SMS a sus usuarios para que se registren, confirmen la cuenta, MFA y recuperen la cuenta. Para obtener más información, consulte Configuración de correo electrónico para grupos de usuarios de Amazon Cognito y SMSconfiguración de mensajes para grupos de usuarios de Amazon Cognito.

    1. En Proveedor de correo electrónico, elija Enviar correo electrónico con Cognito y utilice el remitente de correo electrónico predeterminado que proporciona Amazon Cognito. Esta configuración de bajo volumen de correo electrónico es suficiente para probar la aplicación. Puedes realizar la devolución después de verificar una dirección de correo electrónico con Amazon Simple Email Service (Amazon SES) y seleccionar Enviar correo electrónico con Amazon SES.

    2. En el caso de SMS, selecciona Crear una nueva función de IAM e introduce el nombre de una función de IAM. Esto crea un rol que concede permisos a Amazon Cognito para enviar mensajes SMS.

    3. Mantenga todas las demás opciones como predeterminadas y seleccione Siguiente.

  8. En Integrate your app, puedes asignar un nombre a tu grupo de usuarios, configurar la interfaz de usuario alojada y crear un cliente de aplicación. Para obtener más información, consulte Agregue un cliente de aplicaciones con la interfaz de usuario alojada. Las aplicaciones de ejemplo no utilizan la interfaz de usuario alojada.

    1. En Nombre del grupo de usuarios, introduzca un nombre de grupo de usuarios.

    2. No selecciones Usar la interfaz de usuario alojada en Cognito.

    3. En Cliente de aplicación inicial, confirme que el tipo de aplicación esté configurado como Cliente público.

    4. En Secreto de cliente, confirma que esté seleccionada la opción No generar un secreto de cliente.

    5. Introduzca un nombre de cliente de aplicación.

    6. Amplíe la configuración avanzada del cliente de la aplicación. Añádalo ALLOW_USER_PASSWORD_AUTH a la lista de flujos de autenticación.

    7. Mantenga todas las demás opciones como predeterminadas y seleccione Siguiente.

  9. Revise sus opciones en la pantalla Revisar y crear y modifique las selecciones según sea necesario. Cuando esté satisfecho con la configuración del grupo de usuarios, elija Crear grupo de usuarios para continuar.

  10. En la página Grupos de usuarios, elija su nuevo grupo de usuarios.

  11. En Descripción general del grupo de usuarios, anote su ID de grupo de usuarios. Proporcionarás esta cadena cuando crees tu aplicación de ejemplo.

  12. Elija la pestaña Integración de aplicaciones y busque la sección de análisis y clientes de aplicaciones. Selecciona tu nuevo cliente de aplicaciones. Anote su ID de cliente.

Crear una aplicación

Para crear una aplicación de Android de ejemplo
  1. Instala Android Studio y las herramientas de línea de comandos.

  2. En Android Studio, instala el complemento Flutter.

  3. Crea un nuevo proyecto de Android Studio a partir del contenido del cognito_flutter_mobile_app directorio de esta aplicación de ejemplo.

    1. Edita assets/config.json y << YOUR CLIENT ID>> reemplaza <<YOUR USER POOL ID>> y por los ID del grupo de usuarios y el cliente de la aplicación que creaste anteriormente.

  4. Instala Flutter.

    1. Agrega Flutter a tu variable PATH.

    2. Acepte las licencias con el siguiente comando.

      flutter doctor --android-licenses

    3. Verifica tu entorno de Flutter e instala los componentes que falten.

      flutter doctor

      1. Si falta algún componente, ejecútelo flutter doctor -v para saber cómo solucionar el problema.

    4. Cambia al directorio de tu nuevo proyecto de Flutter e instala las dependencias.

      1. Ejecute flutter pub add amazon_cognito_identity_dart_2.

    5. Ejecute flutter pub add flutter_secure_storage.

  5. Crea un dispositivo Android virtual.

    1. En la GUI de Android Studio, crea un dispositivo nuevo con el administrador de dispositivos.

    2. En la CLI, ejecuteflutter emulators --create --name android-device.

  6. Inicie su dispositivo Android virtual.

    1. En la GUI de Android Studio, selecciona el icono de inicio situado junto al dispositivo virtual.

    2. En la CLI, ejecuteflutter emulators --launch android-device.

  7. Inicie la aplicación en el dispositivo virtual.

    1. En la GUI de Android Studio, selecciona el icono de implementación.

    2. En la CLI, ejecuteflutter run.

  8. Navega hasta tu dispositivo virtual en ejecución en Android Studio.

  9. Registra un nuevo usuario con una dirección de correo electrónico válida.

  10. Recupera el código de confirmación de tu mensaje de correo electrónico. Introduzca el código de confirmación en la aplicación.

  11. Inicie sesión con su nombre de usuario y contraseña.