繁体   English   中英

AWS cognito 在 node.js 中注册时出现序列化异常(结构开始或地图未在预期位置找到)如何解决此问题?

[英]AWS cognito is giving serializationException(Start of structure or map found where not expected) while doing sign up in node.js How to fix this issue?

我正在尝试使用 AWS cognito 添加注册功能,但在注册时出现SerializationException如何解决此问题?

我的注册功能是这样的

const AmazonCognitoIdentity = require("amazon-cognito-identity-js");
const AWS = require("aws-sdk");
global.fetch = require("node-fetch");

const keys = require("../../config/keys");

AWS.config.update({
    accessKeyId: keys.awsKeys.key,
    secretAccessKey: keys.awsKeys.secret,
    region: keys.region.awsRegionId
});

const poolConfig = {
    UserPoolId: keys.cognito.userPoolId,
    ClientId: keys.cognito.clientId
};

// create a new user pool
const userPool = new AmazonCognitoIdentity.CognitoUserPool(poolConfig);

async function signupFunc(userData) {
    console.log('JSON string received : ' + JSON.stringify(userData));

    const emailData = {
        Name: "email",
        Value: userData.email
    };

    const name = {
        Name: "name",
        Value: userData.name
    }

    const password = userData.password;

    const familyname = {
        Name: 'family_name',
        Value: userData.familyname
    }

    return new Promise((resolve, reject) => {
        try {
            var attributeList = [];

            attributeList.push(new AmazonCognitoIdentity.CognitoUserAttribute(name));
            attributeList.push(new AmazonCognitoIdentity.CognitoUserAttribute(familyname));

            userPool.signUp(emailData, password, attributeList, null, (err, result) => {
                if (err) {
                    console.error(`ERROR : ${JSON.stringify(err)}`);
                    return reject({ status: 0, error: "Error!!!" });
                }

                return resolve({
                    status: "200",
                    message: "Check email and verify!"
                });

            });
        } catch (error) {
            console.log(`ERROR : ${JSON.stringify(error)}`);
            return reject({error: error});
        }
    });
}

module.exports = signupFunc;

在执行此方法时,我遇到了异常。

{
   "code":"SerializationException",
   "name":"SerializationException",
   "message":"Start of structure or map found where not expected."
}

任何帮助将不胜感激。

我遇到了同样的问题,因为我错误地将密码作为Object而不是String传递。 确保你的密码是一个String

Auth.completeNewPassword(user, password, {} ).then(data=> console.log(data)})

这里的用户是一个Object ,密码是一个String

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM