我设法创建了自己的自定义端点,以基本上实现用户合并。
如果用户存在 kinvey 帐户,然后尝试使用与 kinvey 用户匹配的电子邮件地址使用 facebook 登录,我使用以下端点代码向现有用户添加社交身份,然后尝试使用该用户登录(此功能之所以有效,是因为我们为未登录系统的用户维护了一个访客登录)。
希望这对某人有所帮助。
function onRequest(request, response, modules) {
var users = modules.collectionAccess.collection('user');
var social = request.body.social;
users.findAndModify({"username":request.body.email},{$set:{"_socialIdentity":social}},
function(err,result){
if(err){
response.error(err);
response.complete();
}else{
if(!result._id){
response.body = {message:"No User Found Matching This Email"};
response.complete();
}else{
response.body = {message:"User Was Hopefully Updated"};
response.complete();
}
}
});
}