护照反序列化用户没有在帆中调用

我正在使用Sails版本0.11并尝试使用jwt身份validationconfiguration应用程序。

configuration/ passport.js

var passport = require('passport'); var jwt = require('express-jwt'); module.exports = { http: { customMiddleware: function(app) { console.log('express midleware for passport'); app.use(jwt({ secret: sails.config.session.secret, credentialsRequired: false}).unless({path: ['/login']})); app.use(passport.initialize()); app.use(passport.session()); } } }; 

服务/ passport.js

 /* other code */ passport.serializeUser(function(user, done) { console.log(user); done(null, user.id); }); passport.deserializeUser(function(id, done) { console.log(id); findById(id, function(err, user) { if (err) done(err); else if (!user) { done(null, false); } else done(null, user); }); }); 

AuthController.js

 module.exports = { login: function(req, res) { passport.authenticate('local', function(err, info, user) { if (err) { return res.send(err); } else if (!user) { return res.send(info); } else { var token = jwt.sign(user, sails.config.session.secret, { expiresInMinutes: 5 // expires in 5 minutes }); res.json({ success: true, message: 'Enjoy your token!', token: token }); } })(req, res); }, me: function(req, res) { res.send(req.user); } } 

为什么我的desesializedUser函数从来没有被调用? 我的代码有什么问题?

你configuration护照战略?

在护照文件中 ,提到了以下内容。

在authentication请求之前,必须configuration应用程序使用的策略(或策略)。