身份验证后 Lambda 触发器
身份验证后触发器不会更改用户的身份验证流程。Amazon Cognito 会在身份验证完成后,在用户收到令牌之前调用此 Lambda。当您想要添加身份验证事件的自定义后处理时(例如,将在下次登录时反映的日志记录或用户配置文件调整),请添加身份验证后触发器。
不将请求正文返回给 Amazon Cognito 的身份验证后 Lambda 仍会导致身份验证无法完成。有关更多信息,请参阅有关 Lambda 触发器的需知信息。
身份验证流概述
有关更多信息,请参阅身份验证会话示例。
身份验证后 Lambda 触发器参数
Amazon Cognito 传递给此 Lambda 函数的请求是以下参数和 Amazon Cognito 添加到所有请求中的常用参数的组合。
身份验证后请求参数
- newDeviceUsed
-
此标记指示用户是否已在新设备上登录。Amazon Cognito 仅在用户池的记住的设备值设置为
Always或User Opt-In时设置此标记。 - userAttributes
-
表示用户属性的一个或多个名称/值对。
- clientMetadata
-
一个或多个键值对,您可以将其作为自定义输入内容提供给为身份验证后触发器指定的 Lambda 函数。要将此数据传递给 Lambda 函数,您可以在 AdminRespondToAuthChallenge 和 RespondToAuthChallenge API 操作中使用 ClientMetadata 参数。在传递到身份验证后函数的请求中,Amazon Cognito 不包括 AdminInitiateAuth 和 InitiateAuth API 操作的 ClientMetadata 参数中传递的数据。
身份验证后响应参数
Amazon Cognito 不需要响应中任何额外的返回信息。您的函数可以使用 API 操作来查询和修改资源,或者将事件元数据记录到外部系统。
身份验证后示例
此身份验证后示例 Lambda 函数将成功登录数据发送到 CloudWatch Logs。
Amazon Cognito 将事件信息传递给 Lambda 函数。随后,该函数将相同事件对象随同响应中的任何更改返回给 Amazon Cognito。在 Lambda 控制台中,您可以设置一个测试事件,该事件包含与您的 Lambda 触发器相关的数据。以下是此代码示例的一个测试事件: