2

我有一个简单的请求,我有一些 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,如果这有帮助的话。

有什么提示或建议吗?

4

1 回答 1

0

我建议您查看有关 Accounts.createUser 的官方 MeteorJS 文档

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

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

     Router.current().params.query.your_query_key

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

编辑:在服务器端,你也可以有路由,下面是 Iron Router 指南中的一个例子:

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

但是我认为您不能在服务器端使用 Router.current() 。

希望它会有所帮助。

于 2016-04-19T12:11:44.467 回答