Tôi đã đọc chủ đề này Node.js + express.js + passport.js : stay authenticated between server restart và tôi cần chính xác những điều tương tự, nhưng đối với Redis. Tôi đã sử dụng mã như vậy:Nodejs + Passport.js + Redis: làm thế nào để lưu trữ các phiên trong Redis
var RedisStore = require('connect-redis')(express);
app.use(express.session({
secret: "my secret",
store: new RedisStore,
cookie: { secure: true, maxAge:86400000 }
}));
Và nó không hoạt động. Để kết nối Redis, tôi sử dụng mô-đun kết nối-redis. Tôi đang làm gì sai? Cảm ơn!
UPD: Tôi không gặp bất kỳ lỗi nào. Để đảm bảo quá trình xác thực thành công, tôi đã thêm dòng nhật ký và thực thi.
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);
})
});
}));
Đăng nhập với express.logger() được kích hoạt là:
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
tôi làm giả sử rằng không có gì sai với auth/người dùng/chứng chỉ/serializing/deserializing chính nó là. Vấn đề là hộ chiếu không thể đặt cookie thành Redis và đọc nó.
Điều gì không hiệu quả? lỗi gì bạn nhận được? – Max
Tôi đã cập nhật bài đăng của mình. – f1nn
"hộ chiếu không thể thiết lập cookie cho Redis và đọc nó." Điều đó không có ý nghĩa. – Ben