Parse(.com) php SDK "master key" 而不是用户查询密码
Parse(.com) php SDK "master key" instead of password for user query
我似乎找不到关于此的任何文档。我只想在我的 table 中更新用户信息,而无需用户密码。我只想查找用户的电子邮件并更新该用户的信息。不更改密码,而是更改与该用户关联的 table 中的其他列。
示例查询:
$query = new ParseQuery("_User");
$query->equalTo("username", "user001");
foreach ($result as $doc) {
$doc->set('name', "new info");
$doc->save();
}
通过Parse的php SDK,如何只知道用户的email/username就可以更改用户信息?没有登录?
我听说您可以使用 "master key" 而不是密码或通过云作业来做到这一点,但我不知道从哪里开始。
我在 API 参考中看到:save(boolean $useMasterKey = true) : null
有人有什么想法吗?
P.S:我找到了这个回复,但我仍然不知道如何执行它 (https://www.parse.com/questions/users-editing-other-users-in-javascript-sdk)。
修改用户可能应该使用云功能在服务器端完成。您可以通过编辑 cloud/main.js 文件在解析服务器上的 javascript 中创建一个云函数。更多文档 here。
基本上,您可以创建这样的函数:
Parse.Cloud.define("modifyuser", function(request, response){
var query = new Parse.Query(Parse.User);
query.equalTo('objectId', request.params.objectId);
query.find({
useMasterKey: true,
success: function(results){
if(results.length>0){
var user = results[0];
user.set("SOMEPARAMETER",true);
user.save().then(
function(result){
},
function(error){
console.log("Error: " + error.code + " " + error.message);
});
}
}
},
error: function(error){
response.error('query error: '+ error.code + " : " + error.message);
}
});
});
并从您的客户端调用此函数。
$ParseCloud::run("modifyuser", ["objectId" => "THEUSEROBJECTID"]);
我似乎找不到关于此的任何文档。我只想在我的 table 中更新用户信息,而无需用户密码。我只想查找用户的电子邮件并更新该用户的信息。不更改密码,而是更改与该用户关联的 table 中的其他列。
示例查询:
$query = new ParseQuery("_User");
$query->equalTo("username", "user001");
foreach ($result as $doc) {
$doc->set('name', "new info");
$doc->save();
}
通过Parse的php SDK,如何只知道用户的email/username就可以更改用户信息?没有登录?
我听说您可以使用 "master key" 而不是密码或通过云作业来做到这一点,但我不知道从哪里开始。
我在 API 参考中看到:save(boolean $useMasterKey = true) : null
有人有什么想法吗?
P.S:我找到了这个回复,但我仍然不知道如何执行它 (https://www.parse.com/questions/users-editing-other-users-in-javascript-sdk)。
修改用户可能应该使用云功能在服务器端完成。您可以通过编辑 cloud/main.js 文件在解析服务器上的 javascript 中创建一个云函数。更多文档 here。
基本上,您可以创建这样的函数:
Parse.Cloud.define("modifyuser", function(request, response){
var query = new Parse.Query(Parse.User);
query.equalTo('objectId', request.params.objectId);
query.find({
useMasterKey: true,
success: function(results){
if(results.length>0){
var user = results[0];
user.set("SOMEPARAMETER",true);
user.save().then(
function(result){
},
function(error){
console.log("Error: " + error.code + " " + error.message);
});
}
}
},
error: function(error){
response.error('query error: '+ error.code + " : " + error.message);
}
});
});
并从您的客户端调用此函数。
$ParseCloud::run("modifyuser", ["objectId" => "THEUSEROBJECTID"]);