passportjs获取用户的twitter凭据

时间:2014-10-09 22:51:31

标签: node.js express mongoose passport.js

我想通过护照的推特策略对用户进行身份验证,但不要在用户身上签名。我想要做的就是存储他们的凭据,以便我可以在以后推特到他们的帐户,但我&#39我没有看到这是怎么可能的。

看起来您必须调用done回调,然后将用户ID存储在会话中。我的用户已经通过我的应用程序进行了身份验证,但是想要附加一个或多个Twitter帐户,他们可以选择在以后发送推文。

这是我的推特策略

passport.use(new TwitterStrategy({

        consumerKey: '...',
        consumerSecret: '...',
        callbackURL: '/add/twitter/callback',
        passReqToCallback: true

    },
    function(req, token, tokenSecret, profile, done) {
        process.nextTick(function() {
          //save the users twitter credentials for use later on and call 
          //my custom callback here ...
        });

    });

 }));

我也使用express.js所以这里是我的路线

router
   .get('/auth/twitter', passport.authenticate('twitter'))
   .get('/auth/twitter/callback',
        passport.authenticate('twitter'), function(req, res) {
            console.log('made it here');
            // Successful authentication
            res.render('manager/add-twitter', {});
        });

是否有可能无论如何都会触发自定义回调?

1 个答案:

答案 0 :(得分:1)

事实证明,您可以使用授权而不是身份验证来执行此操作。这是所有感兴趣的人的文档:http://passportjs.org/guide/authorize/