View a markdown version of this page

Implementación de flujos de autenticación - 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.

Implementación de flujos de autenticación

Ya sea que esté implementando un inicio de sesión administrado o una interfaz de aplicación personalizada con un AWS SDK para la autenticación, debe configurar el cliente de la aplicación para los tipos de autenticación que desee implementar. La siguiente información describe la configuración de los flujos de autenticación en los clientes de aplicación y en la aplicación.

App client supported flows

Puede configurar los flujos compatibles para los clientes de su aplicación en la consola de Amazon Cognito o con la API de un AWS SDK. Después de configurar el cliente de la aplicación para que admita estos flujos, puede implementarlos en la aplicación.

El siguiente procedimiento configura los flujos de autenticación disponibles para un cliente de aplicación con la consola Amazon Cognito.

Cómo configurar un cliente de aplicación para flujos de autenticación (consola)
  1. Inicie sesión en la consola AWS de grupos de usuarios de Amazon Cognito y navegue hasta ella. Elija un grupo de usuarios o cree uno nuevo.

  2. En la configuración de su grupo de usuarios, seleccione el menú Clientes de aplicación. Elija un cliente de aplicación o cree uno nuevo.

  3. En Información del cliente de aplicación, seleccione Editar.

  4. En Flujos de clientes de aplicación, elija los flujos de autenticación que desee admitir.

Para configurar un cliente de aplicaciones para los flujos de autenticación () API/SDK

Para configurar los flujos de autenticación disponibles para un cliente de aplicaciones con la API de Amazon Cognito, defina el valor de ExplicitAuthFlows en una solicitud CreateUserPoolCliento UpdateUserPoolClient. A continuación, puede ver un ejemplo donde se proporciona a un cliente una contraseña remota segura (SRP) y una autenticación basada en opciones.

"ExplicitAuthFlows": [ "ALLOW_USER_AUTH", "ALLOW_USER_SRP_AUTH" ]

Al configurar los flujos compatibles con el cliente de aplicación, puede especificar las opciones y valores de API siguientes.

Soporte de flujo del cliente de aplicación
Flujo de autenticación Compatibilidad Consola API
Choice-basedautenticación Server-side, del lado del cliente Seleccionar un tipo de autenticación al iniciar sesión ALLOW_USER_AUTH
Sign-in con contraseñas persistentes Client-side Inicio de sesión con nombre de usuario y contraseña ALLOW_USER_PASSWORD_AUTH
Sign-in con contraseñas persistentes y carga segura Server-side, del lado del cliente Inicio de sesión con una contraseña remota segura (SRP) ALLOW_USER_SRP_AUTH
Actualiza los tokens Server-side, del lado del cliente Obtener nuevos tokens de usuario de las sesiones autenticadas existentes ALLOW_REFRESH_TOKEN_AUTH
Server-side autenticación Server-side Inicio de sesión con credenciales administrativas en el servidor ALLOW_ADMIN_USER_PASSWORD_AUTH
Autenticación personalizada Server-side y aplicaciones personalizadas del lado del cliente. No es compatible con el inicio de sesión administrado. Iniciar sesión con flujos de autenticación personalizados desde desencadenadores de Lambda ALLOW_CUSTOM_AUTH
Implement flows in your application

El inicio de sesión gestionado hace que las opciones de autenticación configuradas estén disponibles automáticamente en las páginas de inicio de sesión. En las aplicaciones personalizadas, inicie la autenticación con una declaración del flujo inicial.

  • Para elegir entre una lista de opciones de flujo para un usuario, declare la autenticación basada en opciones con el flujo USER_AUTH. Este flujo tiene métodos de autenticación que no están disponibles en los flujos de autenticación basados en el cliente, como la autenticación con clave de acceso y sin contraseña.

  • Para elegir su flujo de autenticación por adelantado, declare la autenticación basada en el cliente con cualquier otro flujo que esté disponible en su cliente de aplicación.

Al iniciar sesión como usuario, el cuerpo de la AdminInitiateAuthsolicitud InitiateAuthdebe incluir un AuthFlow parámetro.

Choice-based autenticación:

"AuthFlow": "USER_AUTH"

Client-based autenticación con SRP:

"AuthFlow": "USER_SRP_AUTH"