node.js - Passport-Facebook not providing email even if it is in scope -
in application register facebook-strategie follows: returned profile not contain email-field....
passport.use(new facebookstrategy({ clientid: config.facebook.clientid, clientsecret: config.facebook.clientsecret, callbackurl: config.facebook.callbackurl, passreqtocallback: true }, function(req, accesstoken, refreshtoken, profile, done) { // no email in following colsole.log console.log(json.stringify(profile)); })); the follows:
app.get('/oauth/facebook', passport.authenticate('facebook', { failureredirect: '/login', scope:['email'] })); (so using scope said here: passport-facebook doesn't email)
on fb-login page iam asked email , provide it: 
any appriciated!
from facebook graph apiv2.4, need explicitly specify fields get.
so, can write like:
passport.use(new facebookstrategy({ clientid: config.facebook.clientid, clientsecret: config.facebook.clientsecret, callbackurl: config.facebook.callbackurl, profilefields: ['id', 'email', 'gender', 'link', 'locale', 'name', 'timezone', 'updated_time', 'verified'], },
Comments
Post a Comment