Sai*_*que 5 amazon-web-services amazon-cognito aws-sdk
我正在构建一个应用程序。在那方面Sign up, Signin其他操作都运行良好。但是,当我尝试使用以下代码更改密码时,它说
"Local storage is missing an ID Token, Please authenticate"
Run Code Online (Sandbox Code Playgroud)
代码是:
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...");
});
});
}
Run Code Online (Sandbox Code Playgroud)
我不确定这有什么问题。请帮我解决这个问题。
谢谢...
经过如此多的努力,我发现我每次使用时都会创建新的 Cognito 用户
poolData = {
UserPoolId: "XXXXXXXXXXXXXXXXX",
ClientId: "XXXXXXXXXXXXXXXXXXXXXXXX"
};
userPool: CognitoUserPool = new CognitoUserPool(this.poolData);
Run Code Online (Sandbox Code Playgroud)
因此,每当我调用它时,就会创建一个新的认知用户。因此,更改密码对此不起作用。
当我创建一个通用函数来访问cognitoUser和使用相同的到处都对我有用时。
谢谢...
| 归档时间: |
|
| 查看次数: |
5370 次 |
| 最近记录: |