嗨,我正在尝试做一个非常简单的后端,管理员可以在其中修改其他用户帐户,但无法正常工作。我了解这种情况的发生是因为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上使用解析服务器。我将非常感谢您提供的任何帮助。预先感谢。
答案 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();
但是,请谨慎使用可公开访问的端点,并且永远不要在客户端应用程序中包含主密钥。