将url查询参数传递给Accounts.onCreateUser

时间:2016-04-19 09:12:13

标签: meteor facebook-login server-side meteor-accounts twitter-login

我有简单的请求,我的登录路由有一些URL查询,如下所示:

www.example.com/login?id=xxxyyyzzz

根据id我需要在用户文档中添加字段。所以我在Accounts.onCreateUser中需要这个id。

这对于电子邮件/密码注册很容易

Accounts.createUser({email: 'john.doe@example.com', password: 'xxx', 'extra_param': 'xxxyyyzzz'}, function(err, res){});

但事实证明这对“loginWithService”来说是不可能的。我真的需要登录Facebook和Twitter。

有没有其他方法可以在服务器端获取此ID?我使用IronRouter,如果这可以帮助。

任何提示或暗示?

1 个答案:

答案 0 :(得分:0)

我建议你看一下the official MeteorJS documentation about Accounts.createUser

除了电子邮件'和密码'字段,您可以添加'个人资料'宾语。 您可以在其中放置任何对象或属性。

如果您需要在模板中使用Iron Router获取查询参数,可以使用:

     Router.current().params.query.your_query_key

     // in your case
     Router.current().params.query.id

编辑: 在服务器端,您也可以有路由,下面是铁路由器指南中的一个示例:

 Router.route('/item', function () {
  var req = this.request;
  var res = this.response;
  res.end('hello from the server\n');
  }, {where: 'server'});

但是我不认为你可以在服务器端使用Router.current()。

希望它会有所帮助。