问题原因可能是在Cognito用户池中设置了标识符属性(如邮箱)并且在Lambda函数中未设置。可以在Lambda函数中添加以下代码段来解决此问题:
cognitoISP.adminCreateUser({
UserPoolId: 'YOUR_USER_POOL_ID',
Username: userInfo.username,
UserAttributes: [
{
Name: 'email',
Value: userInfo.email
}
],
TemporaryPassword: 'abcd$1234!',
MessageAction: 'SUPPRESS'
}, (err, data) => {
if (err) {
console.log(err);
reject(err);
} else {
resolve(data);
}
});
将 Name 的值设置为你在Cognito用户池中设置的标识符属性名称,将 Value 的值设置为从Lambda函数收到的用户信息中提取出的标识符属性的值(例如,如果你的标识符属性是电子邮件,则将UserInfo中的email作为Value的值)。