Parse platform 解析Javascript平台更改密码错误

Parse platform 解析Javascript平台更改密码错误,parse-platform,Parse Platform,我定义了一个云代码: Parse.Cloud.define("updateUser", async (request) => { const query = new Parse.Query("User"); query.get(request.params.id, {useMasterKey:true}) .then(function(user) { user.set("username", request.params.usern

我定义了一个云代码:

Parse.Cloud.define("updateUser", async (request) => {

    const query = new Parse.Query("User");
    query.get(request.params.id, {useMasterKey:true})
        .then(function(user) {
            user.set("username", request.params.username);
            user.set("password", request.params.password);
            user.set("gender", request.params.gender);
            return user.save(null, {useMasterKey:true});
        }).catch(function(error) {
            console.error("Got an error " + error.code + " : " + error.message);
        });
});

已成功更改退货。 但是,使用新密码登录移动应用程序时,密码不正确。
{“code”:101,“stack”:“Error”:无效用户名/密码}

我认为您需要返回第一个承诺。还可以尝试使用
setUsername
setPassword
。应该是这样的:

Parse.Cloud.define("updateUser", async (request) => {

    const query = new Parse.Query("User");
    return query.get(request.params.id, {useMasterKey:true})
        .then(function(user) {
            user.setUsername(request.params.username);
            user.setPassword(request.params.password);
            user.set("gender", request.params.gender);
            return user.save(null, {useMasterKey:true});
        }).catch(function(error) {
            console.error("Got an error " + error.code + " : " + error.message);
        });
});

您计划如何保护此功能?目前,任何人都可以更改任何用户的用户名和密码?内部使用,权限无关紧要。--\u-这是Javascript API:
setPassword(密码,选项)→ {Boolean}
调用set(“密码”、密码、选项)并返回结果。