2014-02-25 20 views
2

我試圖使用sailsjs來實現護照本地,並且在嘗試進行身份驗證時我沒有收到任何響應。下面是代碼:使用Sailsjs使用本地護照時沒有響應

//config/passport.js 

var passport = require('passport') 
    , LocalStrategy = require('passport-local').Strategy; 

module.exports = { 
    express: { 
     customMiddleware: function(app){ 
      console.log('Express midleware for passport'); 
      app.use(passport.initialize()); 
      app.use(passport.session()); 
     } 
    } 
}; 

passport.serializeUser(function(user, done) { 
    done(null, {omar: "omar"}); 
}); 

passport.deserializeUser(function(id, done) { 

     done(null, {omar: "omar"}); 

}); 

passport.use(new LocalStrategy(
    function(username, password, done) { 
     // asynchronous verification, for effect... 
     process.nextTick(function() { 

       return done(null, {user: "omar"}); 

     }); 
    } 
)); 

_

//LoginController.js 
var passport = require('passport'); 
var loginController = { 


    login: function(req, res){ 
     //res.json(req.param('username')); 
     console.log('loginctrl'); 

     passport.authenticate('local', { failureRedirect: '/login', failureFlash: true }), 
      function(req, res) { 
       console.log('passport auth'); 
       res.send("success"); 
      } 


    }, 

    /** 
    * Overrides for the settings in `config/controllers.js` 
    * (specific to LoginController) 
    */ 
    _config: {} 


}; 


module.exports = loginController; 

我試圖張貼到/登錄,但唯一的控制檯消息,我得到的是:

快遞中間件護照
loginctrl

含義它不是愈傷組織ng LocalStrategy回調,我得到「0 NO RESPONSE」錯誤。
這是爲什麼?

+1

有在'LoginController'你'login'方法的錯字:'passport.authenticate ('local',...),function(){}'應該是'passport.authenticate('local',...,function(){})''。另外,我會將護照調用移至[政策](http://sailsjs.org/#!documentation/policies) – marionebl

+0

您的評論也很有幫助,謝謝! – Omar

回答