我正在尝试设置Facebook身份验证,每当调用回调函数时,我都会收到一个错误,它在/node_modules/passport-facebook/lib/strategy.js:196:12抛出一个Strategy.parseErrorResponse
没有消息告诉我哪里出了问题。我检查以确保我的clientID和secret是正确的(正如我所看到的,如果它们是错误的,可能会发生这种情况)。
passport.use(new FacebookStrategy({
clientID: myId,
clientSecret: mySeceret,
callbackURL: callBackUrl,
passReqToCallback : true
}, (req, accessToken, refreshToken, profile, done) => {
process.nextTick(() => {
if (req.user) {
done(null, req.user);
if (!req.user.facebookId) {
req.user.facebookId = profile.id;
req.user.save().then(() => {
done(null, req.user);
});
} else {
done(null, req.user);
}
} else {
User.find({where: {facebookId: profile.id}}, function (err,user) {
return done(err, user);
});
}
});
}));我的路线
app.get('/auth/facebook', passport.authenticate('facebook', { scope: 'email' }));
app.get('/auth/facebook/callback',
passport.authenticate('facebook', { failureRedirect: '/login' }),
function (req, res) {
res.redirect('/');
});全栈
Error
at Strategy.parseErrorResponse (/node_modules/passport-facebook/lib/strategy.js:196:12)
at Strategy.OAuth2Strategy._createOAuthError (/node_modules/passport-oauth2/lib/strategy.js:376:16)
at /node_modules/passport-oauth2/lib/strategy.js:166:45
at /node_modules/oauth/lib/oauth2.js:191:18
at passBackControl (/node_modules/oauth/lib/oauth2.js:132:9)
at IncomingMessage.<anonymous> (/node_modules/oauth/lib/oauth2.js:157:7)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:188:7)
at endReadableNT (_stream_readable.js:975:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickDomainCallback (internal/process/next_tick.js:128:9)此外,它看起来像是传递了密钥,因为它包含了我可以看到的名为/auth/facebook/callback?code="someReallyLongKey“的路由
发布于 2018-09-02 18:28:21
今天我遇到了完全相同的问题。它的发生是因为我的服务器无法连接到Mongo数据库。我重新启动了mongod服务,一切都按预期开始工作。
https://stackoverflow.com/questions/46327209
复制相似问题