认知认证后无法更改用户密码

时间:2018-01-08 19:03:56

标签: node.js amazon-web-services authentication passwords aws-cognito

我使用adminCreateUser创建了用户。尝试使用adminInitiateAuth进行身份验证时,会返回质询NEW_PASSWORD_REQUIRED。如何更改密码?

我正在尝试使用以下代码段重置状态为FORCE_CHANGE_PASSWORD的用户的用户密码:

cognitoidentityserviceprovider.respondToAuthChallenge({
        ChallengeName: 'NEW_PASSWORD_REQUIRED',
        ClientId:'XXXXXXXXXXXXXXXXXXXX',
        ChallengeResponses: {
                NEW_PASSWORD: 'T.YpkKu487',
                USERNAME: 'XXXXX'
        },
        Session: "cMcKC5ymFvZG2D10lJMRArpfmLZvnQE25P1XjwkHtl47g4kW-LAjOgB4CAjIgv1CurDmfRHpxzvYgYE61BBrp5-TNyVQcXXX"
}, (err, data) => {
        if(err) console.log(err);
        else console.log(data);
});

当我运行上面的代码时,我收到以下错误:

InvalidParameterException: Invalid attributes given, name is missing

我不明白这一点。为什么我收到此错误? Reference doc

另外,有没有办法可以完全禁用这个挑战?

1 个答案:

答案 0 :(得分:0)

找到了一个解决方案:创建用户池时,我添加了名称和电子邮件作为必需属性,无需属性名称即可解决创建该问题。