我读过这个主题Node.js + express.js + passport.js : stay authenticated between server restart我需要完全一样的东西,但是对于Redis。我用这样的代码:Nodejs + Passport.js + Redis:如何在Redis中存储会话
var RedisStore = require('connect-redis')(express);
app.use(express.session({
secret: "my secret",
store: new RedisStore,
cookie: { secure: true, maxAge:86400000 }
}));
而且它不起作用。要连接Redis,我使用connect-redis模块。我做错了什么?谢谢!
UPD:我没有得到任何错误。为了确保auth进程成功,我添加了日志行,并执行。
function(email, password, done) {
// asynchronous verification, for effect...
process.nextTick(function() {
findByEmail(email, function(err, user) {
if (!user) {
return done(null, false, {
message: 'Unknown user ' + email
});
}
if (user.password != password) {
return done(null, false, {
message: 'Invalid password'
});
}
//just logging that eveything seems fine
console.log("STATUS: User " + email + " authentificated succesfully");
return done(null, user);
})
});
}));
日志与express.logger()功能是:
127.0.0.1 - - [Fri, 19 Oct 2012 05:49:09 GMT] "GET /ico/favicon.ico HTTP/1.1" 404 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4"
STATUS: User admin authentificated succesfully
我做假设有什么不对的身份验证/用户/凭证/串行/解串本身。问题是护照不能将Cookie设置为Redis并将其读取。
什么不行?你遇到了什么错误? – Max
我更新了我的帖子。 – f1nn
“护照无法将Cookie设置为Redis并将其读取。”这没有意义。 – Ben