I am using Passport-Facebook authentication.
passport.use(new FacebookStrategy({ clientID: \'CLIENT_ID\', clientSecret: \'CLIENT_SECRET\
I would like to add more information here.
While adding profileFields: ['emails']
while creating FacebookStrategy and passport.authorize('facebook', { scope : ['email'] })
solves issue for most of the users.
There are other possible reasons where you will not get user's email after authentication.
you need to make sure that your user does not have any of the issues listed above. more information can be found https://developers.facebook.com/bugs/1802930019968631/