我正在使用Sean.js处理项目,最近我尝试添加中间件来保护我的api路由。我按照"文章"使用server.policy.js的示例,当我尝试使用req.user变量时,它表示未定义。我开始研究这个问题,它与passport.js有关。我工作的时间不超过2个月,而且我对这一切并不十分熟悉。
在user.server.config.js
上是Serelize和反序列化会话的地方:
module.exports = function(app, db) {
// Serialize sessions
passport.serializeUser(function(user, done) {
var userData = {
id: user.id,
firstName: user.firstName,
lastName: user.lastName,
displayName: user.displayName,
username: user.username,
email: user.email,
profileImageURL: user.profileImageURL,
roles: user.roles,
additionalProvidersData: user.additionalProvidersData
};
done(null, userData);
});
// Deserialize sessions
passport.deserializeUser(function(user, done) {
done(null, user);
});
// Initialize strategies
config.utils.getGlobbedPaths(path.join(__dirname, './strategies/**/*.js')).forEach(function(strategy) {
require(path.resolve(strategy))(config);
});
// Add passport's middleware
app.use(passport.initialize());
app.use(passport.session());
};
这是问题还是应该修改别的东西?我相信这对此有所帮助,因为我还有一个问题,当我重新加载会话结束时,我必须再次登录。