在更改密码之前,根据保存在解析服务器上的用户密码验证用户输入的密码

Validate user inputted password against user password saved on parse server before changing password

我正在开发一个使用 Parse.com 作为后端的应用程序 support.I 已使用此代码实施更改密码

if (pwdController!.text == newpwdController!.text)     {
user.password = pwdController!.text;
await user.save();  

我希望用户在允许他们将其更改为新密码之前输入当前密码,但是当我尝试从 parseuser 对象获取当前密码时,它 returns null,所有其他类似的问题我我见过这样的 没有验证用户是否拥有正确的当前密码。在允许用户更改密码之前,如何验证用户输入的密码是他们的当前密码?

您可以通过使用用户名和输入的密码调用 ParseUser.login 方法来验证用户是否输入了正确的当前密码。然后检查它是否 returns 成功响应。

ParseUser user = await ParseUser.currentUser();// this gets the current user object
var nuser = (user.username, oldpwdController!.text,     user.username);


var resp = await nuser.login();
if (resp.success) {
user.password = pwdController!.text;
await user.save();

上面的代码片段假定您有两个文本控制器(当前密码为 oldpwdController,新密码为 pwdController)。