passport-facebook-token 返回 InternalOAuthError:验证令牌时无法获取用户配置文件
Posted
技术标签:
【中文标题】passport-facebook-token 返回 InternalOAuthError:验证令牌时无法获取用户配置文件【英文标题】:passport-facebook-token returns InternalOAuthError: Failed to fetch user profile when verifying the token 【发布时间】:2016-06-04 21:47:55 【问题描述】:我有一个 ios 应用程序,在该应用程序中我使用 Facebook API 登录,并获得一个访问令牌作为响应。现在我想使用这个令牌在我的后端服务器上对用户进行身份验证。
我正在为 Passport.js 使用 passport-facebook-token 策略。
var FacebookTokenStrategy = require('passport-facebook-token');
module.exports = function(app)
app.use(passport.initialize());
app.use(passport.session());
passport.use(new FacebookTokenStrategy(
clientID: '32424222424024',
clientSecret: '3292e42148264c2817523232446187',
callbackURL: "http://localhost:3000/auth/facebook/callback"
,
function(accessToken, refreshToken, profile, done)
User.findOne( facebookId: profile.id , function (err, user)
console.log("facebook");
return done(err, user);
);
));
app.get('/auth/facebook',
passport.authenticate('facebook-token'),
function (req, res)
res.send(req.user? 200 : 401);
);
;
但是当我打电话给http://localhost:3000/auth/facebook?access_token=my_token_here 时,我收到以下错误:
InternalOAuthError:无法获取用户配置文件 在 C:\app\www\app\node_modules\passport-facebook-token\lib\index.js:152:32 在 passBackControl (C:\app\www\app\node_modules\oauth\lib\oauth2.js:123:9) 在传入消息。 (C:\app\www\app\node_modules\oauth\lib\oauth2.js:143:7) 在 emitNone (events.js:72:20) 在 IncomingMessage.emit (events.js:166:7) 在 endReadableNT (_stream_readable.js:905:12) 在 nextTickCallbackWith2Args (node.js:474:9) 在 process._tickCallback (node.js:388:17)
我缺少应用配置和/或身份验证实施中的哪些步骤?
【问题讨论】:
【参考方案1】:首先,检查您的 ClientId 和 Client Secret,然后检查您是否选择了正确的应用程序来test Postman(或类似人员)与 Facebook 的连接。 就我而言,问题在于生成另一个应用程序的令牌
【讨论】:
以上是关于passport-facebook-token 返回 InternalOAuthError:验证令牌时无法获取用户配置文件的主要内容,如果未能解决你的问题,请参考以下文章