拒绝Cognito用户池中的注册请求

时间:2018-06-02 21:44:03

标签: amazon-web-services aws-lambda amazon-cognito

Cognito用户池预注册Lambda触发器的说明是:

  

当用户提交注册信息时,会调用此触发器,允许您执行自定义验证以接受或拒绝注册请求。

我想根据我的Lambda中的某个条件拒绝注册请求。触发参数(从以下文档中复制)似乎仅支持自动验证和自动确认:

{
    "request": {
        "userAttributes": {
            "string": "string",
            ....
        },
        "validationData": {
            "string": "string",
            "string": "string",
             ....
        }
    },

    "response": {
        "autoConfirmUser": "boolean",
        "autoVerifyPhone": "boolean",
        "autoVerifyEmail": "boolean"
    }
}

如何根据Pre Sign-up Lambda Trigger的结果接受或拒绝注册请求?

2 个答案:

答案 0 :(得分:4)

您可以从lambda返回一个空dict来拒绝注册请求。同样,您返回事件值本身以接受注册请求。

def lambda_handler(event, context):
    if denySignUp:
        return {}
    else:
        return event

答案 1 :(得分:1)

或者,您也可以通过引发异常来拒绝注册,如here所示。

该异常消息将以验证错误的形式通过消息PreSignUp failed with error {exceptionMessage}.传递回Cognito,再传递给客户端。