Parse platform 在云代码函数中保存对象时使用主密钥而不是用户密钥

Parse platform 在云代码函数中保存对象时使用主密钥而不是用户密钥,parse-platform,Parse Platform,我有一个被用户调用的云代码函数。在该函数中,我创建了一个新对象“Invitation”,它在保存时触发before_save处理程序 由于用户正在运行Cloud Code函数,我希望保存之前的函数中的request.user是相同的,但它似乎将邀请对象保存为master,从而导致request.user为空 Parse.Cloud.define("sendInvite", function(request, response) { var invitation = new Invitatio

我有一个被用户调用的云代码函数。在该函数中,我创建了一个新对象“Invitation”,它在保存时触发before_save处理程序

由于用户正在运行Cloud Code函数,我希望保存之前的函数中的request.user是相同的,但它似乎将邀请对象保存为master,从而导致request.user为空

Parse.Cloud.define("sendInvite", function(request, response) {
  var invitation = new Invitation();
  invitation.save().then(function(invitation){
    response.success();
  }, function(error){
    response.error(error);
  });
});

Parse.Cloud.beforeSave("Invitation", function(request, response) {

  var sender = request.user;
  // sender is null, since master key is being used...

});
这似乎不是正确的行为——云代码函数不应该默认使用主密钥执行,除非明确要求这样做


有什么想法吗?

当CloudCode使用主密钥时,有两种情况是当CloudCode调用Parse.Cloud.useMasterKey()时,或者当CloudCode被使用主密钥的调用方调用时。检查是否正在使用主密钥的环境中调用SendInvests。

问题是,
Parse.Cloud.useMasterKey()
是在解析宿主的一个require(
require(Cloud/app.js)
)函数之外使用的。

谢谢,Thomas。在这种情况下,这看起来像是解析端的错误,因为这是由用户调用的,并且没有使用主密钥的调用。我创造了一个错误