访问使用社交注册创建的用户文档

时间:2015-07-21 19:04:50

标签: javascript facebook twitter meteor

我有两种不同的方式让用户注册该网站。一种方法是简单的注册,另一种方式是推荐注册,其中路由中有一个令牌,该令牌与引用它们的人的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方法调用来创建引用文档,如果用户被引用然后签名则会出现问题通过社交平台。有没有人对如何在社交注册回调中访问用户有任何想法?

1 个答案:

答案 0 :(得分:1)

我在类似情况下采用的方法是在调用引用路由时(在路由代码本身中)将引用令牌放入会话变量中。创建用户时,我使用会话变量设置引用者信息,然后清除它。这也有助于新访问者在实际注册之前在网站上闲逛一段时间。