由于“AuthorizationError”,未能从passport-facebook发现服务器错误

我遇到了一些与passport-facebook和nodejs / express有关的问题。

成功login处理得很好。 但是,由于某种原因,当一个FB连接login失败时,我的应用程序会抛出一个服务器错误,这个错误不会被捕获,并返回状态500.我相信我使用了一个相当标准的护照configuration,所以我有点卡住了成为问题。

在这种情况下,为了创build一个错误,我从另一个应用程序的testing用户login到我的沙盒应用程序。

错误/堆栈跟踪表示错误是在我没有触及的模块代码中:

在Strategy.OAut2(/用户/用户名/Sites/node_projects/applicationname/node_modules/passport-facebook/lib/strategy.js:84:41)(/Users/username/Sites/node_projects/applicationname/node_modules/passport/lib/passport/middleware/authenticate.js (/ Users / username / Sites / node_projects)上的Passport.authenticate(/Users/username/Sites/node_projects/applicationname/node_modules/passport/lib/passport/middleware/authenticate.js:244:7) /applicationname/node_modules/express/lib/router/index.js:164:37)param(/Users/username/Sites/node_projects/applicationname/node_modules/express/lib/router/index.js:138:11)at在Router._dispatch(/ Users / username / Sites / node_projects)传递(/Users/username/Sites/node_projects/applicationname/node_modules/express/lib/router/index.js:145:5) /applicationname/node_modules/express/lib/router/index.js:173:5)在Object.router(/Users/username/Sites/node_projects/applicationname/node_modules/express/lib/router/index.js:33:10 )(/Users/username/Sites/node_projects/applicationname/node_modules/express/node_modules/connect/lib/proto.js:193:15)

这是非常标准的路线:

app.get('/auth/facebook/callback', passport.authenticate('facebook', { successRedirect: '/#', failureRedirect: '/#login' })); 

req.query是

 {"error_code":"2102","error_message":"User is not a test user owned by the application"} 

在阅读了这个固定的问题之后( https://github.com/jaredhanson/passport-oauth/issues/16 ),我添加了中间件,以便req.query是:

 {"error_code":"2102","error_message":"User is not a test user owned by the application","error":true} 

这里是我添加的中间件(因为它不起作用,我将它删除):

 app.use(function(req, res, next){ if (req.query && !req.query.error && req.query.error_code) { req.query.error = true; } next(); }); 

我应该更新我的包&试图卸载/重新安装一切:

 "dependencies": { "express": "3.x", "mongodb": "1.3.x", "socket.io": "0.9.x", "mongoose": "3.6.x", "passport": "0.1.x", "passport-facebook": "1.0.x", "passport-local": "0.1.x", "bcrypt": "0.7.x", "handlebars": "1.0.x", "consolidate": "0.9.x", "imagemagick": "0.1.x", "aws-sdk": "1.12.x" }, 

目前为止没有运气,没有足够的想法,没有直接黑客模块,这似乎是不必要的。

有什么想法吗?

首先十分感谢。

尝试将您的应用程序从沙盒更改为非沙盒,并尝试重新创build该错误。