amazon-web-services - 本地存储缺少 ID token ,请在更改密码时验证错误 Cognito AWS

标签 amazon-web-services aws-sdk amazon-cognito aws-cognito

我正在构建一个应用程序。在那Sign up , Signin和其他操作工作正常。但是,当我尝试使用以下代码更改密码时,它说

"Local storage is missing an ID Token, Please authenticate"

代码是:
changePassword(mail: any) {
    var that = this;
    var userPool = new CognitoUserPool(this.poolData);
    var userData: any = {
        Username: mail,
        Pool: userPool
    };
    var cognitoUser = new CognitoUser(userData);
    // To get the session
    cognitoUser.getSession(function (err, session) {
        if (err) {
            alert(err);
            return;
        }
        var userPool = new CognitoUserPool(that.poolData);
        var userData: any = {
            Username: mail,
            Pool: userPool
        };
        var cognitoUser = new CognitoUser(userData);
        var oldp = prompt('Please input old password ', '');
        var newp = prompt('Please input new password ', '');
        cognitoUser.changePassword(oldp, newp, function (err, result) {
            if (err) {
                alert(err.message || JSON.stringify(err));
                return;
            }
            alert("Password successfully changed...");
        });
    });
}

我不确定这有什么问题。请帮我解决这个问题。

谢谢...

最佳答案

经过如此多的努力,我发现每次使用时我都在创建新的 Cognito 用户

poolData = {
    UserPoolId: "XXXXXXXXXXXXXXXXX",
    ClientId: "XXXXXXXXXXXXXXXXXXXXXXXX"
};
userPool: CognitoUserPool = new CognitoUserPool(this.poolData);

因此,每当我调用它时,都会创建一个新的认知用户。因此,对此更改密码不起作用。

当我创建了一个通用函数来访问 cognitoUser并在任何地方使用相同的方法对我有用。

谢谢...

关于amazon-web-services - 本地存储缺少 ID token ,请在更改密码时验证错误 Cognito AWS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51656963/

相关文章:

amazon-web-services - AWS 胶水连接到 RDS Mysql

linux - AWS : C compiler on EC2 not working when using Elastic Beanstalk container_commands

java - 当返回类型为项目的PaginatedList时,如何模拟mapper.query方法

node.js - Node aws-sdk s3 文件上传大小

amazon-web-services - 自定义资源cloudformation的堆栈策略

amazon-web-services - 如何使用 CloudFormation 仅允许电子邮件作为用户名别名?

python - 我在 AWS Lambda 服务中使用 Python SQLAlchemy 时遇到问题

amazon-web-services - 如何在查询 cloudtrail 事件时提供多个查找属性

amazon-dynamodb - 每个项目的 DynamoDB 生存时间

c# - 如何在.NET Core 3.1中使用用户名和密码获取AWS Cognito访问 token ?