javascript - AWS Cognito 用户池、自定义消息 lambda

标签 javascript java amazon-web-services lambda

大家好。

我在使用 AWS Cognito 用户池自定义消息时遇到问题,该消息是在 lambda 函数中作为触发器创建的(自定义消息 lambda)。带有验证链接的消息。特别是我将消息主题设置为“自定义主题”(并且电子邮件有这个主题),并将消息正文设置为“改为使用此{##Custom link##}”(并且消息没有出现在正文中,但是使用来自用户池 Web 界面的那个)。

我的代码是:

public void handleRequest(InputStream input, OutputStream output, Context context) throws IOException {
    JsonNode json = parseJsonFromStream(input);
    ObjectNode jsonWithResponse = (ObjectNode) json;
    jsonWithResponse.with("response").put("emailMessage", "Use this {##Custom link##} instead");
    jsonWithResponse.with("response").put("emailSubject", "Custom subject");
    try (Writer w = new OutputStreamWriter(output, "UTF-8")) {
            w.write(jsonWithResponse.toString());
    }
}

我什至尝试设置 {####} 而不是 {##Link text##} 并且仍然相同。我几乎可以肯定它在一段时间前有效(而且我不记得我改变了什么)。有谁知道我应该去哪里看看(挖掘)。因为我在这上面花了太多时间,既没有遗漏(希望)小的东西,也没有他们有一些变化/问题。

附言lambda 测试成功。 Lambda 输出看起来不错(我在这里删除了记录器)。

更新:(带有响应的记录器输出)

OUTPUT JSON is
{
    "version": "1",
    "region": "eu-west-1",
    "userPoolId": "****",
    "userName": "*****",
    "callerContext": {
        "awsSdkVersion": "aws-sdk-android-2.6.7",
        "clientId": "****"
    },
    "triggerSource": "CustomMessage_SignUp",
    "request": {
        "userAttributes": {
            "sub": "****",
            "email_verified": "false",
            "cognito:user_status": "UNCONFIRMED",
            "nickname": "Yaroslav",
            "email": "****"
        },
        "codeParameter": "{####}",
        "usernameParameter": null
    },
    "response": {
        "emailMessage": "Use this {##Custom link##} instead",
        "emailSubject": "Custom subject"
    }
}

Upd2(JS触发):

我根据 example 在 js(自定义电子邮件的新触发器)上添加了代码当用户需要确认代码时,这适用于自定义电子邮件,但不适用于确认链接。我再次尝试 {##link##} 链接。

最佳答案

所以我最终得到的是使用代码确认。在这种情况下,自定义电子邮件会按预期工作。

为了防止用户在应用程序中输入密码,我发送了带有自定义链接的电子邮件,其中包含代码参数。自定义链接指向 API 网关,它有相应的 lambda 来处理所有事情并完成用户注册。

关于javascript - AWS Cognito 用户池、自定义消息 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47471904/

相关文章:

javascript - 布局中的 Antd 固定标题

java - 抽象方法必须在类或接口(interface)中定义吗?

java - Canvas - 良好的渲染实践?

java - 依赖注入(inject)在javafx谷歌果汁中抛出空指针异常

javascript - node.js 上的 SES 尽管返回 'success' 响应但未发送电子邮件

amazon-web-services - AWS Lambda 函数如何抛出 SubnetIPAddressLimitReachedException?

javascript - 使用 jquery 在后台添加事件

javascript - 想要创建一个简单的图像亮度控制 slider

java - 即使收到响应后,Lambda 函数也会返回超时

javascript - 为什么在此 Javascript 示例中需要 call ?