Meteor:在社交注册时向用户添加额外数据

时间:2016-04-20 22:04:07

标签: meteor meteor-accounts

在Meteor中,我想向新用户注册添加referrer字段。我可以通过传入与Accounts.onCreateUser(function (options, user)一起使用的额外选项为注册了密码的用户执行此操作。

但这似乎不适用于社交登录。我有什么想法可以让它发挥作用吗?

1 个答案:

答案 0 :(得分:1)

我认为我有类似的问题,并且结束了像

这样的事情
  • 创建没有您希望作为选项传递的字段的用户
  • 向客户询问该字段的值
  • 更新用户

所以:

//server
Accounts.onCreateUser(function(options, user) {
  if (user.services.facebook)
    user.askReferer = true;
  retur user;
});

//client
var userId;
Tracker.autorun(function() {
  var user = Meteor.user();
  if (!user || user.id === userId || !user.askReferer) {return;}
  userId = user.id;
  var referer = ...;
  Users.update({_id: user.id}, {$set: {referer: referer}}, {$unset: {askReferer: 1}});
});

如果有人想出更好的解决方案,我会很高兴!