我有简单的请求,我的登录路由有一些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,如果这可以帮助。
任何提示或暗示?
答案 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()。
希望它会有所帮助。