Integración de la autenticación y la autorización de Amazon Cognito con aplicaciones web y móviles - Amazon Cognito

Integración de la autenticación y la autorización de Amazon Cognito con aplicaciones web y móviles

La implementación de Amazon Cognito es una combinación de herramientas administrativas de la Consola de administración de AWS o el AWS SDK y de bibliotecas del SDK en las aplicaciones. La consola de Amazon Cognito es la interfaz visual para configurar y administrar los grupos de usuarios y grupos de identidades de Amazon Cognito.

La integración más sencilla que puede crear con los grupos de usuarios de Amazon Cognito es el inicio de sesión administrado. El inicio de sesión administrado es una aplicación de inicio de sesión basada en la web lista para usar que permite probar e implementar rápidamente los grupos de usuarios de Amazon Cognito. La autenticación de grupos de usuarios con inicio de sesión administrado requiere bibliotecas OpenID Connect (OIDC) que dirigen a los usuarios a las páginas de inicio de sesión alojadas. En esta serie de puntos de conexión web redireccionados e interactivos para el usuario, Amazon Cognito gestiona el flujo de autenticación, lo que incluye el inicio de sesión de terceros, la autenticación multifactor (MFA) y la elección de un flujo de autenticación. Su aplicación solo tiene que procesar el resultado de autenticación que Amazon Cognito devuelve en la respuesta.

También puede añadir un AWS SDK a la aplicación, crear interfaces de autenticación personalizadas e invocar las operaciones de API para la autenticación y la autorización de los usuarios. AWS Amplify es un Servicio de AWS para crear aplicaciones full stack, con la autenticación de Amazon Cognito en el backend.

Por ejemplo, es posible que la aplicación invoque el inicio de sesión administrado para iniciar sesión como usuario y, a continuación, llame al punto de conexión del token desde el código de la aplicación para intercambiar el código de autorización de usuario por tokens. A continuación, la aplicación debe interpretar y almacenar los tokens de usuario y presentarlos en el contexto adecuado para la autenticación y la autorización. Amplify agrega herramientas de integración guiadas con funciones integradas para estos procesos.

También puede crear los recursos de Amazon Cognito completamente en código. Los grupos de identidades no tienen las mismas opciones de autenticación administrada que los grupos de usuarios: para acceder a las credenciales de AWS en sus aplicaciones, implemente las operaciones de los grupos de identidades en los módulos del SDK importados. Para empezar con el propio código de la aplicación personalizado, consulte ejemplos de código de Amazon Cognito para AWS SDK. Para la integración con Amazon Cognito como proveedor de identidades de OpenID Connect, utilice Herramientas para desarrolladores de OpenID Connect.

Antes de utilizar la autenticación y autorización de Amazon Cognito, elija una plataforma de aplicaciones y prepare el código para integrarlo con el servicio. Para ver las plataformas disponibles para AWS SDK, consulte Autenticación con SDK de AWS. La AWS CLI es un SDK de línea de comandos para Amazon Cognito y otros Servicios de AWS y es un lugar valioso para empezar a familiarizarse con las operaciones de API de Amazon Cognito y su sintaxis.

nota

Algunos componentes de Amazon Cognito solo se pueden configurar con la API. Por ejemplo, solo puede configurar un desencadenador de Lambda personalizado de SMS o correo electrónico de un grupo de usuarios con una solicitud que actualice la propiedad de LambdaConfig de la clase UserPool en una solicitud de API CreateUserPool o UpdateUserPool.

La API de los grupos de usuarios de Amazon Cognito comparte el espacio de nombres con varias clases de operaciones de la API. Una clase configura los grupos de usuarios y los procesos, proveedores de identidades y usuarios. Otra incluye operaciones no autenticadas para que los usuarios de un cliente público inicien sesión, cierren sesión y administren los perfiles. La última clase de operaciones de la API realiza las operaciones de usuario que autoriza con sus propias credenciales de AWS en un cliente confidencial del servidor. Debe conocer la arquitectura de la aplicación prevista antes de empezar a implementar el código de la aplicación. Para obtener más información, consulte Descripción de la autenticación mediante API, OIDC y páginas de inicio de sesión administrado.

Autenticación con AWS Amplify

AWS Amplify es una solución completa para crear aplicaciones web y móviles. Con Amplify, puede conectarse a los recursos existentes con las bibliotecas de Amplify o puede crear y configurar nuevos recursos con la interfaz de línea de comandos (CLI) de Amplify. Amplify también tiene componentes de interfaz de usuario conectados, como Autenticador para configurar y personalizar la experiencia de inicio y registro en la aplicación.

Para usar las características de autenticación de Amplify en la aplicación de frontend, consulte la siguiente documentación por plataforma.

Las bibliotecas de Amplify son de código abierto y están disponibles en GitHub. Para obtener más información sobre cómo Amplify Auth implementa la autenticación de Amazon Cognito, consulte las siguientes bibliotecas.

Creación de una interfaz de usuario (IU) con Amplify

Inicio de sesión administrado de grupos de usuarios puede satisfacer las necesidades esenciales de un frontend de autenticación para una aplicación web o móvil. A fin de personalizar su interfaz de usuario (UI) más allá de los parámetros que admite el inicio de sesión administrado, cree una aplicación personalizada. La interfaz de usuario de Amplify es una recopilación personalizable de componentes de frontend en varios idiomas.

Una captura de pantalla de una aplicación del autenticador de Amplify de ejemplo.

Para empezar con el componente de autenticación personalizado, consulte la siguiente documentación del componente del autenticador.

Autenticación con SDK de AWS

Para utilizar un backend seguro para crear el propio microservicio de identidades que interactúe con Amazon Cognito, conéctese a los grupos de usuarios de Amazon Cognito y a la API de grupos de identidades de Amazon Cognito con un AWS SDK en el idioma que elija.

Para obtener más información sobre cada operación de la API, consulte la referencia de las API de grupos de usuarios de Amazon Cognito y la referencia de las API de Amazon Cognito. Estos documentos contienen secciones Vea también con recursos para utilizar diversos SDK en plataformas compatibles.