【发布时间】:2014-05-17 20:01:15
【问题描述】:
我正在使用Passport-Facebook 身份验证。
护照.使用(新FacebookStrategy({ clientID: 'CLIENT_ID', clientSecret: 'CLIENT_SECRET', 回调URL:“http://www.example.com/auth/facebook/callback” }, 函数(accessToken、refreshToken、profile、done){ process.nextTick(函数(){ 控制台日志(配置文件) }); } ));对于某些 Facebook 帐户,我没有得到 email_id,我什至尝试使用如下范围变量,但仍然无法得到 email_id。
profileUrl : " " 和 ProfileFields : ['','']
【问题讨论】:
-
并非每个 FB 帐户都设置了电子邮件地址……(人们也可以使用他们的手机号码注册 FB。)
-
但我没有收到来自有电子邮件的帐户的电子邮件,要注册到 fb,我们需要有电子邮件 ID 对吗??
-
我没有看到您在任何地方请求
email许可……您说您尝试使用范围,但是在哪里?不,正如我已经说过的,人们不必提供电子邮件地址来注册 FB。 -
确保在此处登录
accessToken并尝试使用Graph API Explorer。确保左侧的“电子邮件”权限未灰显。如果是,则您没有在正确的时间要求范围。请参阅 passport-facebook 项目中的this comment。 -
stackoverflow.com/questions/21775198/… 这解决了我的问题。试试这个。
标签: javascript node.js passport.js passport-facebook