NodeJS Passport - Twitter信息

时间:2014-08-15 11:12:19

标签: node.js twitter passport-twitter

我的twitter身份验证工作正常,但我需要的不仅仅是用户名和显示名称,这只是Passport的限制。

我正在尝试这样做:

var newUser =  new User();
newUser.uid = profile.id;
newUser.token = token;
newUser.username = profile.username;
newUser.displayName = profile.displayName;
newUser.profile_image_url = profile.profile_image_url;

如果查看护照文档,它会限制您可以使用的数据。如果您使用多种身份验证方法,我猜测它是一致的,但我只需要使用twitter。

passport.use(new TwitterStrategy({ ... },
  function(token, tokenSecret, profile, done) {
    console.log(profile);
    ....
  }
);

如果我只记录个人资料,那么它会提供所有数据,所以我很困惑如何绕过它。我需要来自Twitter的完整数据,而不仅仅是护照为我挑选的一些数据,我怎么能得到这个?

1 个答案:

答案 0 :(得分:1)

我有一个简单的解决方案,对我来说很好用:

var image_url = profile._json.profile_image_url.replace('_normal','');

我知道从字符串中删除_normal可能不是逻辑上最好的方法,但它可以工作并将原始图像url存储在数据库中。