AWS Cognito adminCreateUser可以发送临时密码吗?

时间:2017-03-30 18:52:02

标签: node.js amazon-cognito aws-cognito

TemporaryPassword上的Amazon Cognito adminCreateUser documentation声明:

  

此参数不是必需的。如果您未指定值,则亚马逊   Cognito会为您生成一个。

用户如何获得它?起初我以为它会通过电子邮件发送给用户,但情况似乎并非如此。然后我想也许它会在回复中回来。不。

这是我在节点JS Lambda函数中调用的代码:

var currentState = $(this).prop("checked") ? "checked" : "";

这是我得到的回应:

adminCreateUser(
{
    "UserPoolId": "us-east-1_XXXXXXXX",
    "Username": "roger__mailinator.com",
    "DesiredDeliveryMediums": [
        "EMAIL"
    ],
    "ForceAliasCreation": false,
    "MessageAction": "SUPPRESS",
    "UserAttributes": [
        {
            "Name": "given_name",
            "Value": "Rodger"
        },
        {
            "Name": "family_name",
            "Value": "Ribbit"
        },
        {
            "Name": "name",
            "Value": "Rodger Ribbit"
        },
        {
            "Name": "email",
            "Value": "roger@mailinator.com"
        },
        {
            "Name": "custom:title",
            "Value": "Animation Designer"
        },
        {
            "Name": "custom:company",
            "Value": "76"
        }
    ]
}, function(error, data) {
    if (error) {
      console.log("Error adding user to cognito: " + error, error.stack);
      //...
    } else {
      console.log("Received back from cognito: " + JSON.stringify(data));
      //...
    }
  });

密码在哪里?我们应该猜吗? : - )

2 个答案:

答案 0 :(得分:1)

我认为这是因为你传递的是“MessageAction”:“SUPPRESS”。这会抑制电子邮件的发送。

临时密码通过电子邮件发送给用户,他需要在首次登录时重置密码。

答案 1 :(得分:0)

答案是用户电子邮件需要在收到之前进行验证。因此,您需要修改要验证的电子邮件的用户属性。请参阅:https://stackoverflow.com/a/43033722/491553