护照回叫500服务器错误

我一直在努力尝试护照工作。 我正在使用passport-github2,但是在尝试解决这个问题时,我尝试了passport-facebook和twitter,而且现在他们都没有工作。

我有一个简单的应用程序正在与Facebook / Twitter的签署,现在他们不再工作,所以这似乎与新版本的护照有关。

这里是我在我的github.js文件,它是通过url api/auth/github

 var express = require('express'), router = express.Router(), config = require('config'), githubAuth = config.get('github'), githubStrategy = require('passport-github2').Strategy, flash = require('connect-flash'), GITHUB_CLIENT_ID = githubAuth.githubClientID, GITHUB_CLIENT_SECRET = githubAuth.githubClientSecret, app = express(); //passport vars var passport = require('passport'), session = require('express-session'), methodOverride = require('method-override'), bodyParser = require("body-parser"), cookieParser = require("cookie-parser"); passport.serializeUser(function (user, done) { done(null, user); }); passport.deserializeUser(function (obj, done) { done(null, obj); }); passport.use(new githubStrategy({ clientID: GITHUB_CLIENT_ID, clientSecret: GITHUB_CLIENT_SECRET, callbackURL: 'http://localhost:3000/api/auth/github/callback' }, function (token, tokenSecret, profile, done) { // asynchronous verification, for effect... return done(null, profile); } )); app.use(cookieParser()); app.use(bodyParser()); app.use(methodOverride()); app.use(session({ secret: 'keyboard cat', resave: true, saveUninitialized: true })); app.use(passport.initialize()); app.use(passport.session()); // persistent login sessions app.use(flash()) router.get('/', passport.authenticate('github', { scope: ['user'] })); router.get('/callback', passport.authenticate('github', { failureRedirect: '/', successRedirect: '/' }), function (req, res) { res.send('Hello World!!'); } ); module.exports = router; 

当我去http://localhost:3000/api/auth/github github允许我进行身份validation,然后单击绿色button,将我带回到callbackURL,并且有一切爆炸的地方,并且我看到以下消息:

 Error at /Users/cynt005/Documents/Code/UXUIteamwebsite/node_modules/passport-github2/lib/strategy.js:96:19 at passBackControl (/Users/cynt005/Documents/Code/UXUIteamwebsite/node_modules/oauth/lib/oauth2.js:132:9) at IncomingMessage.<anonymous> (/Users/cynt005/Documents/Code/UXUIteamwebsite/node_modules/oauth/lib/oauth2.js:157:7) at emitNone (events.js:110:20) at IncomingMessage.emit (events.js:207:7) at endReadableNT (_stream_readable.js:1059:12) at _combinedTickCallback (internal/process/next_tick.js:138:11) at process._tickCallback (internal/process/next_tick.js:180:9) 

安慰:

GET http://localhost:3000/api/auth/github/callback?code=60a130c5c54a6fc30266 500 (Internal Server Error)

我已经搜遍了整个networking,我没有find一个适合我的解决scheme。 github中有一个线程,但是还没有正式提供解决scheme:

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

任何帮助将不胜感激 !!

解决了。 问题是我不得不把所有的东西都保存在app.js文件中

我仍然想知道是否有一个更好的/整洁的方式来分离这个文件,而不会破坏代码。