2017-11-25 16 views
1

이상한 문제가 발생했습니다. 내 앱이 사용자의 FB 자격 증명을 사용하여 로그인되었지만 전자 메일, 이름 또는 아이디 등을 볼 수 없습니다. 내 users.js 경로 : - 패스포트를 사용하는 익스프레스에서 사용자의 자격 증명을 찾을 수 없습니다.

router.get('/auth/facebook',passport.authenticate('facebook', {scope: ['email', 'user_friends']})); 

router.get('/auth/facebook/callback', 

passport.authenticate('facebook',{ successRedirect:'/profile',failureRedirect:'/'},function(req,res){ 
console.log("in passport req");  //doesn't get printed 
console.log(req); 
})); 

그리고 내 설정/passport.js에서

내가 뭐하는 거지 : -

var configAuth=require('./auth'); //holds all appID, secret and successurl 
var FacebookStrategy=require('passport-facebook').Strategy; 

var passport=require('passport'); 

module.exports=function(passport){ 

passport.use(new FacebookStrategy({ 
clientID: configAuth.facebookAuth.clientID, 
clientSecret: configAuth.facebookAuth.clientSecret, 
callbackURL: configAuth.facebookAuth.callbackURL, 
profileFields: ['id', 'displayName', 'photos', 'email'] 
}, 
function(accessToken, refreshToken, profile, cb) { 
console.log("the user's credentials are: "); //doesn't get printed 
console.log(profile.user); 
} 
)); 

}; 

그리고 모든 것이 잘 작동 난을 successURL로 리디렉션하고 있지만 방법을 얻을 수 있습니다 그것없이 사용자 정보 원인은 헛되지 않습니다, 어떤 도움을 주시면 감사하겠습니다. 콘솔에 오류가 없습니다.

답변

4

체크 여전히 req.user

app.get('login', 
    passport.authenticate('facebook', { 
    failureRedirect:'/' 
    }), 
function(req, res, next){ 
    //check req.user 
    console.log('user should be',req.user); 
    res.redirect('/profile') 
}); 
+0

행운 .. – Asim

+0

내가 코드 pls는 실제로 일을 다시 – shivshankar

+0

을 확인 업데이트, 왜 아직 나도 몰라. – Asim