我有两种不同的方式供用户注册该网站。一种方法是简单注册,另一种方法是推荐注册,其中路由中有一个 token ,该 token 与推荐他们的人的 userId 相关,如下所示:
Router.route('referral-signup', { path: '/referral-signup/:userId'});
在此引用路由中,我使用 Meteor 方法调用在引用表中创建一个文档,其结构如下:{refereeId: String,referrerId: String, verify: false}
,其中包含所有相关的有关推荐人和推荐人的信息以及推荐人的电子邮件是否已验证。
两种注册流程都允许用户使用 Twitter 或 Facebook(常规注册和推荐注册)。问题是用户在这些社交平台上注册的 Meteor 方法如下所示:
Meteor.loginWithTwitter({}, function(error) {
if (error) {
throw new Meteor.Error("Twitter login failed.");
} else {
Router.go('home');
return;
}
});
在此函数回调中,我似乎无法访问创建的用户,因此无法调用meteor方法来创建推荐文档,如果用户被推荐然后签名,这就是一个问题通过社交平台。有人对如何在社交注册回调中访问用户有任何想法吗?
最佳答案
我在类似情况下采取的方法是在调用引用路由时(在路由代码本身中)将引用 token 放入 session 变量中。创建用户时,我使用 session 变量来设置引荐来源网址信息,然后清除它。如果新访问者在实际注册之前在网站上浏览了一段时间,这也很有帮助。
关于javascript - 访问通过社交注册创建的用户文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31547541/