登录
首页 >  Golang >  Go问答

Cognito自定义消息触发器未生效

来源:stackoverflow

时间:2024-03-22 11:10:19 495浏览 收藏

在使用 Cognito 自定义消息触发器时,发现自定义的预验证消息未生效。经检查,发现 AWS 文档中未提供明确解决方案。最终发现,问题出在 Cognito 面板中未正确设置验证类型代码,导致触发器无法修改消息。正确设置后,触发器生效,不仅可以更改验证消息内容,还可以更改验证链接。

问题内容

我正在尝试使用自定义消息触发器自定义发送给用户预验证的消息,我验证了从 lambda 返回的数据是有效的,并且修改是我想要的,但是看起来当我在电子邮件中收到标准验证详细信息时,这些更改不会生效

我未能在 aws 文档中找到任何解决方案,有人遇到同样的问题吗?

package main

import (
    "fmt"

    "github.com/aws/aws-lambda-go/events"
    "github.com/aws/aws-lambda-go/lambda"
)

// Handler will handle our request comming from the API gateway
func Handler(event events.CognitoEventUserPoolsCustomMessage) (events.CognitoEventUserPoolsCustomMessage, error) {

    if event.TriggerSource == "CustomMessage_SignUp" {
        event.Response.EmailMessage = "Welcome to myapp, please click the following link to verify your email, this is a custom message"
        event.Response.EmailMessage = fmt.Sprintf(`Please click the link below to verify your email address. https://apigateway.myapp.com/auth/validate?client_id=%s&user_name=%s&confirmation_code=%s`, event.CallerContext.ClientID, event.UserName, event.Request.CodeParameter)
    }

    return event, nil
}

func main() {
    lambda.Start(Handler)
}

解决方案


似乎在消息自定义下的认知面板中需要检查验证类型代码(而不是链接),在我这样做之后,触发器确实更改了消息

它也适用于验证链接,但是您必须在用户池 - 消息自定义设置中将代码参数用作 {##Verify email##} 而不是 {####}。然后还在您的 html 模板中使用 {##Verify email##} 关键字。

终于介绍完啦!小伙伴们,这篇关于《Cognito自定义消息触发器未生效》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>