首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node Facebook Passport只返回某些字段,而不考虑发送范围

Node Facebook Passport只返回某些字段,而不考虑发送范围
EN

Stack Overflow用户
提问于 2016-05-06 15:26:01
回答 1查看 93关注 0票数 2

我目前正在尝试使用Koa-PassportKoajs 2实现Facebooks

一切正常,我可以登录,但无论我在作用域中发送什么,我都只能得到:

代码语言:javascript
复制
{ passport:
   { user:
      { id: '1015401',
        username: undefined,
        displayName: 'John Doe',
        name: [Object],
        gender: undefined,
        profileUrl: undefined,
        provider: 'facebook',
        _raw: '{"name":"John Doe","id":"1015401"}',
        _json: [Object] } } }

我试着添加了

scope: ['email', 'public_profile']似乎可以在Facebook上工作,因为我可以看到我的应用程序请求的信息,所有的东西都在那里。

但是当我点击ok并被重定向回我的应用程序时,我又一次错过了像profile_pic字段和email字段这样的东西。任何关于如何找回这些字段的信息都将非常感谢。我会在github页面上打开一个问题,但有些问题可以追溯到2013年,它似乎没有得到太多维护。

EN

回答 1

Stack Overflow用户

发布于 2016-05-12 17:39:29

我也遇到了同样的问题,通过执行以下操作解决了这个问题:

passport.js中,使用profileFields添加行

代码语言:javascript
复制
passport.use(new FacebookStrategy({
        clientID: clientID,
        clientSecret: clientSecret,
        callbackURL: callbackURL,
        profileFields: ['id', 'name', 'emails']
      },

'emails'将返回一个电子邮件数组,因此获取第一个值:

代码语言:javascript
复制
newUser.facebook.email = profile.emails[0].value;

让我们知道这是否对你有效,也许对其他人也会有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37066678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档