Cognito用户池预注册Lambda触发器的说明是:
当用户提交注册信息时,会调用此触发器,允许您执行自定义验证以接受或拒绝注册请求。
我想根据我的Lambda中的某个条件拒绝注册请求。触发参数(从以下文档中复制)似乎仅支持自动验证和自动确认:
{
"request": {
"userAttributes": {
"string": "string",
....
},
"validationData": {
"string": "string",
"string": "string",
....
}
},
"response": {
"autoConfirmUser": "boolean",
"autoVerifyPhone": "boolean",
"autoVerifyEmail": "boolean"
}
}
如何根据Pre Sign-up Lambda Trigger的结果接受或拒绝注册请求?
答案 0 :(得分:4)
您可以从lambda返回一个空dict来拒绝注册请求。同样,您返回事件值本身以接受注册请求。
def lambda_handler(event, context):
if denySignUp:
return {}
else:
return event
答案 1 :(得分:1)
或者,您也可以通过引发异常来拒绝注册,如here所示。
该异常消息将以验证错误的形式通过消息PreSignUp failed with error {exceptionMessage}.
传递回Cognito,再传递给客户端。