Моя стратегия на фейсбуке следующая:
passport.use(new facebookStrategy({
clientID: envVars.facebook.clientID,
clientSecret: envVars.facebook.clientSecret,
callbackURL: envVars.facebook.callbackURL,
passReqToCallback : true,
profileFields: ['id', 'emails', 'displayName']
},
function(token, refreshToken, profile, done) {
console.log(profile); //prints out undefined
}
));
А мои маршруты обрабатываются следующим образом:
router.get('/facebook', passport.authenticate('facebook'));
router.get('/auth/facebook/redirect', passport.authenticate('facebook'),
function(req, res){
res.redirect("/profile");
});
Что мой код успешно выполняет, так это перенаправляет пользователя на Facebook, где ему предлагается разрешить моему приложению доступ к их данным. После принятия мой console.log (профиль) запускается, но выводит неопределенное, даже если пользователь принимает разрешение? Я искал документацию и не могу понять, где я ошибся.