Node.JS使用Sails.JS框架 – 护照:没有战略注册名称:Facebook

我正在使用Node.JS的Sails.JS框架。 我写了一个config / middleware.js,它有一个validation处理程序并进行初始连接。 该页面当前正在由config / routes.js推送的AuthController上出错。

控制台日志:

Fired Facebook error: Error: no strategy registered under name: facebook at attempt (/project/node_modules/passport/lib/passport/middleware/authenticate.js:237:37) at Passport.authenticate (/project/node_modules/passport/lib/passport/middleware/authenticate.js:244:7) at AuthController.facebook (/project/api/controllers/AuthController.js:35:4) 

Authcontroller.js函数

  'facebook': function(req, res, next) { console.log("Fired Facebook"); passport.authenticate('facebook', { failureRedirect: '/auth', scope: 'email' }, function(err, user) { console.log("Fired Login Attempt"); req.logIn(user, function(err) { if (err) { console.log(err); res.view('500'); return; } res.redirect('home/index'); return; }); })(req, res, next); 

护照-Facebook和护照都在节点模块中。

的package.json

  "dependencies": { "sails": "0.9.4", "grunt": "0.4.1", "sails-disk": "~0.9.0", "ejs": "0.8.4", "optimist": "0.3.4", "passport": "latest", "passport-local": "latest", "passport-facebook":"latest", "sails-mongo":"latest", "bcrypt": "0.7.6" }, 

已解决的问题 – 安装了冲突的护照node_modules。