Agregue un cliente de aplicaciones con la interfaz de usuario alojada - 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.

Agregue un cliente de aplicaciones con la interfaz de usuario alojada

Tras crear un grupo de usuarios, puede crear un cliente de aplicaciones para una aplicación que muestre las páginas web integradas en la interfaz de usuario alojada. En la interfaz de usuario alojada, los usuarios pueden:

  • Regístrese para obtener un perfil de usuario.

  • Inicia sesión con un proveedor de identidad externo.

  • Inicie sesión con o sin autenticación multifactorial.

  • Restablezca su contraseña.

Para crear un cliente de aplicación para el inicio de sesión en la interfaz de usuario alojada
  1. Vaya a la consola de Amazon Cognito. Si se te solicita, introduce tus AWS credenciales.

  2. Elija User Pools (Grupos de usuarios).

  3. Elija un grupo de usuarios existente en la lista o cree un grupo de usuarios. Si crea un nuevo grupo de usuarios, se le pedirá que configure un cliente de aplicación y configure la IU alojada durante el asistente.

  4. Elija el iconoIntegración de aplicacionesde su grupo de usuarios.

  5. Junto a Dominio, elija Acciones y, a continuación, seleccione Crear dominio personalizado o Crear dominio de Amazon Cognito. Si ya ha configurado un dominio de grupo de usuarios, elija Eliminar dominio de Amazon Cognito o Eliminar dominio personalizado antes de crear el nuevo dominio personalizado.

  6. Ingrese un prefijo de dominio disponible para utilizarlo con un dominio de Amazon Cognito. Para obtener información sobre cómo configurar un dominio personalizado, consulte Uso de un dominio propio con la interfaz de usuario alojada

  7. Seleccione Create (Crear).

  8. Vuelva a laIntegración de aplicacionespara el mismo grupo de usuarios y localizarClientes de aplicaciones. Elija Create app client.

  9. Elija un Application type (Tipo de aplicación). Se proporcionarán algunos ajustes recomendados en función de tu selección. Una aplicación que utiliza la interfaz de usuario alojada es un Cliente público.

  10. Ingrese un nombre de cliente de aplicación.

  11. Para este ejercicio, elijaNo generar secreto de cliente. El secreto de cliente lo utilizan las aplicaciones confidenciales que autentican a los usuarios desde una aplicación centralizada. En este ejercicio, presentará una página de inicio de sesión de IU alojada a los usuarios y no requerirá ningún secreto de cliente.

  12. Elija los flujos de autenticación que permitirá con su aplicación. Asegúrese de queUSER_SRP_AUTHse ha seleccionado.

  13. Personalice token expiration (Vencimiento de token), Advanced security configuration (Configuración avanzada de seguridad) y Attribute read and write permissions (Permisos de lectura y escritura de atributos) según sea necesario. Para obtener más información, consulte Configuración de un cliente de aplicación para grupos de usuarios.

  14. Agregar una URL de devolución de llamada para el cliente de aplicación. Aquí es donde se le dirigirá después de la autenticación de la interfaz de usuario alojada. No necesitas añadir una URL de cierre de sesión permitida hasta que puedas implementar el cierre de sesión en tu aplicación.

    En el caso de aplicaciones de iOS o Android, puede utilizar una URL de devolución de llamada como myapp://.

  15. Seleccione Identity providers (Proveedores de identidades) para el cliente de aplicación. Como mínimo, habilite Grupo de usuarios de Amazon Cognito como proveedor.

    nota

    Para iniciar sesión con proveedores de identidad externos (IdPs) como Facebook, Amazon, Google y Apple, así como a través de OpenID Connect (OIDC) o SAML IdPs, primero configúrelos como se muestra en Añadir el inicio de sesión en un grupo de usuarios a través de un tercero. A continuación, vuelve a la página de configuración del cliente de la aplicación para activarlos.

  16. Elija OAuth 2.0 Grant Types (Tipos de subvenciones OAuth 2.0). Seleccione Authorization code grant (Concesión de código de autorización) para devolver un código de autorización que se intercambie por tokens de grupos de usuarios. Debido a que los tokens nunca se exponen directamente a un usuario final, es menos probable que se vean comprometidos. Sin embargo, se requiere una aplicación personalizada en el backend para intercambiar el código de autorización para tokens de grupos de usuarios. Por motivos de seguridad, le recomendamos utilizar el flujo de concesión de código de autorización junto con PKCE (Proof Key for Code Exchange, clave de prueba para intercambio de código) para las aplicaciones móviles.

    Seleccione Implicit grant (Concesión implícita) para que se devuelvan JSON Web Tokens (JWT) del grupo de usuarios desde Amazon Cognito. Puede utilizar este flujo cuando no hay un backend disponible para intercambiar un código de autorización para tokens. También es útil para depurar tokens.

    nota

    Puede habilitar tanto Authorization code grant (Concesión de código de autorización) como Implicit code grant (Concesión de código implícita) y, a continuación, utilizar cada concesión según sea necesario.

    Seleccione Client credentials (Credenciales del cliente) solo si la aplicación debe solicitar tokens de acceso en su propio nombre y no en nombre de un usuario.

  17. A menos que desee excluir específicamente alguno, seleccione todos los ámbitos de OpenID Connect.

  18. Seleccione los ámbitos personalizados que haya configurado. Los ámbitos personalizados se utilizan normalmente con clientes confidenciales.

  19. Seleccione Crear.

Para ver su página de inicio de sesión

En la página del cliente de la aplicación, selecciona Ver la interfaz de usuario alojada para abrir una nueva pestaña del navegador y abrir una página de inicio de sesión que viene rellenada previamente con los parámetros del ID del cliente de la aplicación, el ámbito, la concesión y la URL de devolución de llamada.

Puede ver la página web de inicio de sesión de la interfaz de usuario alojada con la siguiente URL. Anote el response_type. En este caso, response_type=code para la concesión de código de autorización.

https://your_domain/login?response_type=code&client_id=your_app_client_id&redirect_uri=your_callback_url

Puede ver la página web de inicio de sesión de la interfaz de usuario alojada con la siguiente dirección URL para la concesión de código implícita, donde response_type = token. Tras un inicio de sesión correcto, Amazon Cognito devuelve tokens de grupo de usuarios a su barra de direcciones de navegador web.

https://your_domain/login?response_type=token&client_id=your_app_client_id&redirect_uri=your_callback_url

Puede encontrar el token de identidad de JSON Web Token (JWT) a continuación del parámetro #idtoken= en la respuesta.

A continuación, le mostramos una respuesta de ejemplo de una solicitud de concesión implícita. La cadena del token de identidad será mucho más larga.

https://www.example.com/#id_token=123456789tokens123456789&expires_in=3600&token_type=Bearer

Los tokens de grupos de usuarios de Amazon Cognito se firman con un algoritmo RS256. Puedes decodificar y verificar los tokens del grupo de usuarios mediante. AWS Lambda Para obtener más información, consulte Decodificar y verificar los tokens JWT de Amazon Cognito en el sitio web. AWS GitHub

Su dominio aparece en la página Domain Name (Nombre de dominio). Su ID de cliente de aplicación y URL de devolución de llamada se muestran en la página General settings (Configuración general). Si los cambios que ha realizado en la consola no aparecen inmediatamente, espere unos minutos y, a continuación, actualice el navegador.