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」錯誤。
這是爲什麼?
有在'LoginController'你'login'方法的錯字:'passport.authenticate ('local',...),function(){}'應該是'passport.authenticate('local',...,function(){})''。另外,我會將護照調用移至[政策](http://sailsjs.org/#!documentation/policies) – marionebl
您的評論也很有幫助,謝謝! – Omar