python中的AWS Cognito用户迁移lambda,如何返回自定义错误消息

Jam*_*Lin 5 python amazon-web-services

在用户迁移期间,我想返回“用户名或密码不正确”。作为错误消息而不是“用户不存在”

已经在google上搜索了一段时间,找不到如何在本文档中复制以下JS示例

https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html

exports.handler = (event, context, callback) => {

    var user;

    if ( event.triggerSource == "UserMigration_Authentication" ) {

        // authenticate the user with your existing user directory service
        user = authenticateUser(event.userName, event.request.password);
        if ( user ) {
            event.response.userAttributes = {
                "email": user.emailAddress,
                "email_verified": "true"
            };
            event.response.finalUserStatus = "CONFIRMED";
            event.response.messageAction = "SUPPRESS";
            context.succeed(event);
        }
        else {
            // Return error to Amazon Cognito
            callback("Bad password");
        }
    }
    else if ( event.triggerSource == "UserMigration_ForgotPassword" ) {

        // Lookup the user in your existing user directory service
        user = lookupUser(event.userName);
        if ( user ) {
            event.response.userAttributes = {
                "email": user.emailAddress,
                // required to enable password-reset code to be sent to user
                "email_verified": "true"  
            };
            event.response.messageAction = "SUPPRESS";
            context.succeed(event);
        }
        else {
            // Return error to Amazon Cognito
            callback("Bad password");
        }
    }
    else { 
        // Return error to Amazon Cognito
        callback("Bad triggerSource " + event.triggerSource);
    }
};
Run Code Online (Sandbox Code Playgroud)

callback('message')在 nodejs 中使用,但我不知道如何在 Python 中做到这一点。

偶然发现这个问题

我在 python lambda 处理程序中找不到回调参数

尝试返回消息字符串,但得到“用户迁移期间的异常”

Jam*_*Lin 0

所以我也尝试过提出例外':

raise Exception('Incorrect username or password') 
Run Code Online (Sandbox Code Playgroud)

这仍然会在托管 UI 中出现“用户迁移期间出现异常”,但这适用于尊重错误消息的自定义登录 UI。