douniao8687 2019-04-03 15:42
浏览 13
已采纳

如何使用GoLang拒绝注册触发器

I've successfully created a lambda function using Go for the pre sign-up trigger of AWS Cognito. My problem is that I'm not being able to deny/reject the user if a custom field is not valid (based on custom logic).

I'm returning an error as described in AWS Cognito trigger's guide:

return event, fmt.Errorf("Invalid value for field 'custom:myField'")

also I've tried this options:

  • returning an empty event (nil is not allowed for the event):

    var emptyEvent events.CognitoEventUserPoolsPreSignup
    return emptyEvent, fmt.Errorf("Invalid value for field 'custom:myField'")
    
  • changing ValidationData in the original event:

    event.Request.ValidationData = map[string]string{"custom:myField": "Invalid value for field 'custom:myField."}
    return event, fmt.Errorf("Invalid value for field 'custom:myField'")
    
  • changing UserAttributes in the original event

    event.Request.UserAttributes["email"] = ""
    return event, fmt.Errorf("Invalid value for field 'custom:myField'")
    

All those methods are failing, the user is always created in the User Pool.

What should be the correct way to reject the sign-up request using GoLang lambda function?

  • 写回答

1条回答 默认 最新

  • doushai4890 2019-04-11 20:35
    关注

    Looks like something changed on AWS Cognito Lambda triggers, since today I tried the following source code and it worked as expected:

    func handler(event events.CognitoEventUserPoolsPreSignup) (events.CognitoEventUserPoolsPreSignup, error) {
        fmt.Println(event)
        return event, fmt.Errorf("TESTING LAMBDA ERRORS WITH GOLANG")
    }
    

    Also, the previous source code that was not working as expected when I posted this question is currently working (with no changes on my side).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容