【问题标题】:Parse change user password解析更改用户密码
【发布时间】:2015-07-28 12:05:56
【问题描述】:

我是 Parse 的新手,我正在为我的 webapp 使用 Parse Js JDK。 我想更改用户的密码。场景是: 用户输入旧密码、新密码和确认密码。在提交表单时,如果正确,我想验证旧密码,然后继续设置新密码。 通过使用 masterKey 我尝试重置用户密码。 这是代码。

Parse.Cloud.define("changePassword", function(request, response)
{
  Parse.Cloud.useMasterKey();
  var userId = request.params.userId;
  var newPassword = request.params.password;
  var oldPassword = request.params.oldPassword;
  getUser(userId,oldPassword,newPassword,response);
});

function handleError(error,response)
{
  response.error(error);
}

function handleSuccess(notification,response)
{
    var result = {notification:notification};
    response.success(result);
}

function getUser(userId,oldPassword,newPassword,response)
{
  var User = Parse.Object.extend("User");
  var query = new Parse.Query(User);
  query.get(userId, 
  {
    success: function(user) 
    {
        checkOldPassword(user,oldPassword,newPassword,response); 
    },
    error: function(user, error) 
    {
      handleError(error,response);
    }
  });
}

function checkOldPassword(user,oldPassword,newPassword,response)
{
    var username = user.get("username");
    Parse.User.logIn(username, oldPassword,
    {
        success: function(logedIn)
        {
            changePassword(user,newPassword,response);
        },
        error:function(logedIn,error)
        {
            handleError(error,response);
        }
    });
}

function changePassword(user,newPassword,response)
{
    Parse.User.logOut();
    user.set("password",newPassword);
    user.save(null,
    {
        success: function(userObj)
        {
            handleSuccess("User logged out",response);
        },
        error: function(userObj, error) 
        {
            handleError(error,response);
        }
    });
}

【问题讨论】:

  • 什么不起作用?您(可能)看到哪些错误消息?请为您的问题添加更多细节
  • 我从解析中得到会话令牌错误。
  • 嗨,Kaiser,这个问题的任何解决方案。我搜索了很多,没有得到任何具体的答案。
  • 我认为您不应该在更改密码之前注销用户:如果您需要注销用户,请在成功分支中进行。{}让我知道这是否有帮助...

标签: javascript parse-platform sdk change-password


【解决方案1】:

您必须使用user.setPassword,而不是使用user.set

http://parseplatform.org/Parse-SDK-JS/api/2.7.1/Parse.User.html#setPassword

【讨论】:

    猜你喜欢
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-13
    • 2016-10-02
    • 2012-05-03
    • 2017-05-06
    • 1970-01-01
    相关资源
    最近更新 更多