gpt4 book ai didi

node.js - Passport-Facebook 不提供电子邮件,即使它在范围内

转载 作者:IT老高 更新时间:2023-10-28 22:08:56 26 4
gpt4 key购买 nike

在我的应用程序中,我注册了 facebook-strategie,如下所示:但是返回的配置文件不包含电子邮件字段....

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 the following colsole.log
console.log(JSON.stringify(profile));
}));

get如下:

app.get('/oauth/facebook', passport.authenticate('facebook', {
failureRedirect: '/login',
scope:['email']
}));

(所以我使用这里所说的范围:Passport-facebook doesn't get email)

在 FB 登录页面上,我什至要求提供电子邮件,我确实提供了它: enter image description here

非常感谢任何帮助!

最佳答案

从 Facebook graph APIv2.4 开始,我们需要明确指定要获取的字段。

Introducing Graph API v2.4

所以,我们可以这样写:

  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'],
},

关于node.js - Passport-Facebook 不提供电子邮件,即使它在范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31279066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com