如何在不使用ExpressJS的情况下指定PassportJS在回调后执行的操作?

时间:2012-10-10 06:17:48

标签: node.js facebook passport.js

PassportJS网站有以下代码示例,有人可以在回调通过后指定自己的逻辑流程:

app.get('/auth/facebook/callback',
  passport.authenticate('facebook', { failureRedirect: '/login' }),
  function(req, res) {
    // Successful authentication, redirect home.
    res.redirect('/');
  });

但是,我没有使用Express,并且发现很难复制上述行为。

以下是我目前处理facebook身份验证回调的代码:

if(path == '/auth/facebook/callback'){
        passport.authenticate('facebook', {failureRedirect: '/failbook', 'successRedirect':'/success'})(req, res, next);
        return;
}

我不知道如何更改它以便我可以改变回调后的逻辑流程。我希望能够检查一些我已保存的变量并相应地重定向到不同的位置。关于如何做到这一点的任何想法?

另外 - 在一个相关的说明 - 如果我只是刷新facebook访问令牌(AKA,如果它已过期,我正在获得一个新的),是否有可能不将用户重定向到任何地方,所以他们的浏览器在刷新过程中的任何时间点都没有进入不同的页面(涉及到facebook的重新认证)?

1 个答案:

答案 0 :(得分:0)

检查https://groups.google.com/forum/#!topic/passportjs/HTG13e2pb74 它是一个使用护照与节点"香草"

的小组