我有两种不同的方式让用户注册该网站。一种方法是简单的注册,另一种方式是推荐注册,其中路由中有一个令牌,该令牌与引用它们的人的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方法调用来创建引用文档,如果用户被引用然后签名则会出现问题通过社交平台。有没有人对如何在社交注册回调中访问用户有任何想法?
答案 0 :(得分:1)
我在类似情况下采用的方法是在调用引用路由时(在路由代码本身中)将引用令牌放入会话变量中。创建用户时,我使用会话变量设置引用者信息,然后清除它。这也有助于新访问者在实际注册之前在网站上闲逛一段时间。