如何使用其他用户帐户更新解析用户帐户

时间:2018-11-13 19:12:57

标签: javascript parse-server

嗨,我正在尝试做一个非常简单的后端,管理员可以在其中修改其他用户帐户,但无法正常工作。我了解这种情况的发生是因为parse具有某些不允许这样做的默认安全设置。以下是Web应用程序更新路线的代码段:

//UPDATE ROUTE
router.put("/:id", function(req, res){
var Users = Parse.Object.extend("User");
var query = new Parse.Query(Users);

// find and update the correct user
query.get(req.params.id).then(function(user) {
      user.set("name", req.body.name);
      user.save().then(function(doctor) {
            console.log("user has been updated");
            res.redirect("/doctors/"+ req.params.id);
        }, function(error) {
            console.log(error.message);
        });
    }, function(error) {
        console.log("user could not be retrieved!");
    });  
   });

错误消息是:无法修改用户HeFxUOj7q9。 HeFxUOj7q9是我要从另一个帐户(管理员帐户)更新的用户的对象ID

我已经在解析服务器的User类上创建了一个管理员帐户,但是我不知道如何使用该管理员帐户更新其他帐户。我在nodeJs上使用解析服务器。我将非常感谢您提供的任何帮助。预先感谢。

1 个答案:

答案 0 :(得分:0)

初始化解析时,应包括masterKey并像这样调用useMasterKey

Parse.initialize("YOUR_APP_ID", "YOUR_JAVASCRIPT_KEY", "YOUR_MASTERKEY");
Parse.serverURL = 'http://YOUR_PARSE_SERVER:1337/parse';
Parse.Cloud.useMasterKey();

但是,请谨慎使用可公开访问的端点,并且永远不要在客户端应用程序中包含主密钥。