0

我已经有一个快速项目正在运行,我只是想用护照连接它以通过 facebook 进行身份验证,我基本上从这里的 github 页面复制了示例:

https://github.com/jaredhanson/passport-facebook

但是,每当我尝试访问我的应用程序中的“/auth/facebook”URL 时,都会出现以下错误:

TypeError: Object 302 has no method 'indexOf'
    at ServerResponse.res.redirect (/Users/jlawrence/Documents/Websites/Node/Gigster/node_modules/express/lib/response.js:546:13)
    at Strategy.strategy.redirect (/Users/jlawrence/Documents/Websites/Node/Gigster/node_modules/passport/lib/middleware/authenticate.js:294:15)
    at Strategy.OAuth2Strategy.authenticate (/Users/jlawrence/Documents/Websites/Node/Gigster/node_modules/passport-facebook/node_modules/passport-oauth2/lib/strategy.js:227:10)
    at Strategy.authenticate (/Users/jlawrence/Documents/Websites/Node/Gigster/node_modules/passport-facebook/lib/strategy.js:84:41)
    at attempt (/Users/jlawrence/Documents/Websites/Node/Gigster/node_modules/passport/lib/middleware/authenticate.js:337:16)
    at authenticate (/Users/jlawrence/Documents/Websites/Node/Gigster/node_modules/passport/lib/middleware/authenticate.js:338:7)
    at callbacks (/Users/jlawrence/Documents/Websites/Node/Gigster/node_modules/express/lib/router/index.js:171:11)
    at param (/Users/jlawrence/Documents/Websites/Node/Gigster/node_modules/express/lib/router/index.js:145:11)
    at pass (/Users/jlawrence/Documents/Websites/Node/Gigster/node_modules/express/lib/router/index.js:152:5)
    at Router._dispatch (/Users/jlawrence/Documents/Websites/Node/Gigster/node_modules/express/lib/router/index.js:179:5)
4

1 回答 1

1

这可能与旧版本的 express 不兼容;您可以尝试更新到 express@3.5.x;3.6 及以上版本弃用了一些方法,重构可能不值得。

试试看npm install express@3.5.x,或者npm install express@3.5.x -g如果它是一个全局包。确保也更新package.json文件。

于 2014-05-20T16:56:52.927 回答