我有两种不同的方式让用户注册到该站点。一种是简单的注册,另一种是推荐注册,其中路由中有一个令牌,它与推荐他们的人的userId有关,如下所示:
Router.route('referral-signup', { path: '/referral-signup/:userId'});
在这个推荐路由中,我使用Meteor方法调用在引荐表中创建一个文档,该文档的结构类似:{refereeId: String, referrerId: String, verified: false},它保存有关推荐人和推荐人的所有相关信息,以及推荐人的电子邮件是否已经过验证。
这两个注册流程都允许用户使用Twitter或Facebook (常规注册和推荐注册)。问题是,在这些社交平台上注册的用户的Meteor方法看起来像这样:
Meteor.loginWithTwitter({}, function(error) {
if (error) {
throw new Meteor.Error("Twitter login failed.");
} else {
Router.go('home');
return;
}
}); 在这个函数回调中,我似乎无法访问创建的用户,因此无法进行meteor方法调用来创建引用文档,这是一个问题,如果一个用户被推荐,然后通过社交平台注册。有谁对如何在社交注册回调中访问用户有什么想法吗?
发布于 2015-07-22 03:16:45
在类似的情况下,我采用的方法是在调用引用路由时(在路由代码本身中)将引用令牌放入会话变量中。当创建用户时,我使用会话变量来设置引用信息,然后将其清除。这也有助于新访问者在实际注册之前浏览网站一段时间。
https://stackoverflow.com/questions/31547541
复制相似问题