【发布时间】:2023-03-08 06:21:01
【问题描述】:
我使用 passportjs facebook 策略来获取用户信息。但是passportjs返回的用户ID与实际的facebook用户ID不匹配,并且facebook用户名未定义。如何获取实际的 Facebook 用户 ID 和用户名?
passport.use(new FacebookStrategy({
clientID: config.get('facebook.clientID'),
clientSecret: config.get('facebook.clientSecret'),
callbackURL: config.get('facebook.callbackURL'),
passReqToCallback: true,
// profileFields: ['id', 'email', 'first_name', 'last_name']
},
function(req, accessToken, refreshToken, profile, done) {
console.log(profile);...........
........................................
//console.log(profile)的输出
_json:对象{名称:“Tareq Ahamed”,ID:“1720360918026935”} _raw:"{"name":"Tareq Ahamed","id":"1720360918026935"}" 显示名称:“塔雷克·艾哈迈德” 性别:未定义 编号:“1720360918026935” 名称:对象 {familyName:未定义,givenName:未定义,middleName:未定义} profileUrl:未定义 提供者:“脸书” 用户名:未定义
// 但实际的 facebook 用户 id 是 100001591295237
【问题讨论】:
标签: node.js express facebook-graph-api passport.js passport-facebook