Parse platform 在云代码函数中保存对象时使用主密钥而不是用户密钥
我有一个被用户调用的云代码函数。在该函数中,我创建了一个新对象“Invitation”,它在保存时触发before_save处理程序 由于用户正在运行Cloud Code函数,我希望保存之前的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
函数中的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。在这种情况下,这看起来像是解析端的错误,因为这是由用户调用的,并且没有使用主密钥的调用。我创造了一个错误