2017-09-08 18 views
0

私が実装しようとしているpassport.jsの戦略は、Facebookのプロバイダです。テキストブックの例(https://github.com/passport/express-4.x-facebook-example)でテストしたところ、リダイレクトは呼び出されないようです。passport.js facebook authentication next not working

リダイレクトシーケンスは、ユーザーがログインしている場合を除き、コールバックに別のURLを明示的に設定していても、ホームページにリダイレクトされます。

最後のリダイレクトを除いてすべてが機能しますので、決して起こらないhttps://xx.com/testingになります。

nodejs 6、間違って起こっているパスポート3.2

、4+表現?

戦略

passport.use(new FacebookStrategy({ 
    clientID: xx, 
    clientSecret: 'xx', 
    callbackURL: 'https://xx.com/auth/facebook/callback/', 
    profileFields: ['id', 'email', 'name', 'displayName'] 
}, 
    function (accessToken, refreshToken, profile, done) { 
     return done(null, profile) 
    } 
)) 

ルート

router.get('/auth/facebook', passport.authenticate('facebook', {scope: ['public_profile', 'email']})) 
router.get('/auth/facebook/callback', 
    passport.authenticate('facebook', { failureRedirect: '/login' }), 
    function(req, res) { 
    // never gets called 
    console.log('I don't get called!!!') 
    res.redirect('/testing') 
    }) 

答えて

1

/testingsuccessRedirect

passport.authenticate('facebook', { 
    successRedirect: '/testing', 
    failureRedirect: '/login' 
})); 

UPDATEに行く:使用passport.authorize

router.get('/auth/facebook/callback', 
    passport.authorize('facebook', { failureRedirect: '/login' }), 
    function(req, res) { 
     res.redirect('/testing') 
    }); 
+0

期待どおりに動作しますが、コードを実行してリダイレクトしたいと思います。 – Astuanax