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.
Activador Lambda de federación entrante
El activador de federación entrante transforma los atributos de los usuarios federados durante el proceso de autenticación con proveedores de identidad externos. Cuando los usuarios se autentican a través de proveedores de identidad configurados, este disparador le permite modificar las respuestas de proveedores de SAML y OIDC externos al interceptar y transformar los datos en el proceso de autenticación, lo que proporciona un control programático sobre la forma en que los grupos de usuarios de Amazon Cognito gestionan los usuarios federados y sus atributos.
Utilice este activador para añadir, anular o suprimir atributos antes de crear nuevos usuarios o actualizar los perfiles de usuarios federados existentes. Este activador recibe los atributos sin procesar del proveedor de identidad como entrada y devuelve los atributos modificados que Amazon Cognito aplica al perfil de usuario.
Temas
Información general sobre flujos
Cuando un usuario se autentica con un proveedor de identidad externo, Amazon Cognito invoca el activador de federación entrante antes de crear o actualizar el perfil de usuario. El activador recibe los atributos sin procesar del proveedor de identidad y puede transformarlos antes de que Amazon Cognito los almacene. Este flujo se produce tanto para los nuevos usuarios federados como para los usuarios existentes que vuelven a iniciar sesión mediante la federación.
Parámetros de activación de Lambda de federación entrante
La solicitud que Amazon Cognito envía a esta función de Lambda es una combinación de los parámetros que se indican a continuación y los parámetros comunes que Amazon Cognito agrega a todas las solicitudes.
Parámetros de las solicitudes de federación entrantes
- Nombre del proveedor
-
El nombre del proveedor de identidad externo.
- Tipo de proveedor
-
El tipo de proveedor de identidad externo. Valores válidos:
OIDCSAML,Facebook,Google,SignInWithApple,LoginWithAmazon. - attributes
-
Los atributos sin procesar recibidos del proveedor de identidad antes del procesamiento. La estructura varía según el tipo de proveedor.
- Atributos. TokenResponse
-
OAuth datos de respuesta simbólicos del punto final.
/tokenDisponible solo para el OIDC y los proveedores sociales. Contieneaccess_token,id_token,refresh_tokentoken_typeexpires_in, y.scope - Attributes.idToken
-
JWT afirma que el token de identificación decodificado y validado. Disponible solo para el OIDC y los proveedores sociales. Contiene información de identidad de usuario verificada, que incluye
sub(identificador de usuario único)emailname,,iss(emisor),aud(audiencia),exp(caducidad) yiat(hora de emisión). - Attributes.UserInfo
-
Información de perfil de usuario ampliada desde el punto final. UserInfo Disponible solo para el OIDC y los proveedores sociales. Contiene atributos de perfil detallados
given_name, como,family_namepictureaddress, y otros campos específicos del proveedor. Puede estar vacío si el IdP no es compatible con el UserInfo punto final o si la llamada al punto final falla. - Atributos. Respuesta SAML
-
Atributos de aserción de SAML. Disponible solo para proveedores de SAML. Contiene los atributos de la respuesta de SAML.
Parámetros de respuesta de la federación entrante
- userAttributesToMapa
-
Los atributos de usuario que se van a aplicar al perfil de usuario.
importante
Debe incluir TODOS los atributos de usuario que desee conservar en la respuesta, incluidos los atributos que no vaya a modificar. Los atributos que no estén incluidos en la userAttributesToMap respuesta se eliminarán y no se almacenarán en el perfil de usuario. Esto se aplica tanto a los atributos modificados como a los no modificados.
Comportamiento de respuesta vacía
Si devuelves un objeto vacío {} parauserAttributesToMap, todos los atributos originales del proveedor de identidad se conservan sin cambios. Esto actúa como una operación no operativa, como si la función Lambda nunca se hubiera ejecutado. Esto es diferente de omitir atributos, que los elimina.
Atributos específicos del proveedor
La estructura de request.attributes varía según. providerType El OIDC y los proveedores sociales incluyen tokenResponseidToken, y userInfo objetos. Los proveedores de SAML incluyen solo el objeto. samlResponse
Ejemplo de federación entrante: administración de miembros de grupos
En este ejemplo, se muestra cómo asignar grupos de proveedores de identidad federados a grupos de grupos de usuarios de Amazon Cognito. Esta función extrae la pertenencia a un grupo de la respuesta federada y añade automáticamente los usuarios a los grupos de Amazon Cognito correspondientes, lo que elimina la necesidad de activar activadores posteriores a la autenticación.
Amazon Cognito transfiere la información del evento a la función de Lambda. A continuación, la función devuelve el mismo objeto de evento a Amazon Cognito con los cambios en la respuesta. En la consola de Lambda puede configurar un evento de prueba con los datos relevantes para el desencadenador de Lambda. El siguiente es un evento de prueba para este código de ejemplo:
Ejemplo de federación entrante: truncar atributos grandes
En este ejemplo, se muestra cómo truncar los valores de atributo que superan los límites de almacenamiento de Amazon Cognito. Esta función comprueba cada atributo del proveedor de identidad. Si el valor de un atributo supera los 2048 caracteres, trunca el valor y añade puntos suspensivos para indicar el truncamiento. Todos los demás atributos pasan sin cambios.
Amazon Cognito transfiere la información del evento a la función de Lambda. A continuación, la función devuelve el mismo objeto de evento a Amazon Cognito con los cambios en la respuesta. En la consola de Lambda puede configurar un evento de prueba con los datos relevantes para el desencadenador de Lambda. El siguiente es un evento de prueba para este código de ejemplo:
Ejemplo de federación entrante: registro de eventos de federación
En este ejemplo se muestra cómo registrar los eventos de autenticación federada para su supervisión y depuración. Esta función de ejemplo captura información detallada sobre los usuarios federados y sus atributos, lo que proporciona visibilidad del proceso de autenticación.
Amazon Cognito transfiere la información del evento a la función de Lambda. A continuación, la función devuelve el mismo objeto de evento a Amazon Cognito con los cambios en la respuesta. En la consola de Lambda puede configurar un evento de prueba con los datos relevantes para el desencadenador de Lambda. El siguiente es un evento de prueba para este código de ejemplo:
Resultado esperado CloudWatch de los registros: