मैंने एक्सप्रेस जेएस और पासपोर्ट-फेसबुक के साथ अपनी वेबसाइट में फेसबुक-लॉगइन पहले ही लागू कर दिया है। यह अच्छी तरह से काम करता है (मुझे फील्ड प्रोफाइल मिलता है), लेकिन समस्या यह है कि मुझे ईमेल नहीं मिलता है।पासपोर्ट-फेसबुक ईमेल नहीं मिला
email : profile.emails[0].value,
लेखन त्रुटि:: मैं कोई त्रुटि मिलती है की संपत्ति पढ़ा नहीं जा सकता '0' अपरिभाषित
मेरे कोड:
passport.use('facebook',new FacebookStrategy({
clientID : config.facebook.id,
clientSecret : config.facebook.secret,
callbackURL : '/auth/facebook/callback',
profileFields : ['id', 'displayName', 'emails','photos']
}, function(accessToken, refreshToken, profile, done) {
User.findOne({provider_id: profile.id}, function(err, user) {
if(err) throw(err);
if(!err && user!= null) return done(null, user);
var user = new User({
provider_id : profile.id,
name : profile.displayName,
email : profile.emails[0].value,
photo : profile.photos[0].value,
});
user.save(function(err) {
if(err) throw err;
return done(null, user);
});
});
}));
यह अगर किसी ने मुझे समाधान के साथ मदद कर सकता है बहुत अच्छा होगा मेरी समस्या :)
में एक नए क्षेत्र
profileFields: [ 'email' , 'name' ]
जोड़ने आप प्रोफ़ाइल ऑब्जेक्ट प्रवेश करने को देखने के लिए इसमें क्या है की कोशिश की है का प्रयास करें? – soulcheckमैंने अभी कोशिश की। प्रोफाइल में कोई ईमेल नहीं है ... – jcabello
यदि आप प्रोफ़ाइल फ़ील्ड पैरामीटर का उपयोग नहीं करते हैं तो क्या होता है? – soulcheck