지금까지 Express 세션에 기본 MemoryStore를 사용했습니다. 재시작 사이에 모든 세션 데이터가 손실된다는 것을 제외하면 모든 것이 잘 작동했습니다. 그래서 내 세션을 Redis & Connect-Redis로 작업하려고합니다. 나는이 응용 프로그램을 실행할 때Express + Passport + Redis 세션?
var express = require("express"),
app = module.exports = express(),
passport = require("./passport"),
http = require("http"),
RedisStore = require("connect-redis")(express),
redis = require("redis").createClient();
app.configure(function(){
app.set("passport", passport);
app.use(express.cookieParser());
app.use(express.session({
secret: "I can haz working sessions?",
store: new RedisStore({ client: redis })
}));
app.use(passport.initialize());
app.use(passport.session());
...
, 오류가없는 : 여기
은 레디 스와 세션 설정에 관한 내 코드의 일부이다. 그러나 로그인을 시도 할 때 초기 로그인을 수행하지만 로그인 화면으로 되돌아 간다. 그것은 마치 여권이 쿠키를 설정할 수 없거나 설정된 후에 쿠키를 읽을 수없는 것과 같습니다.passport.serializeUser(function(user, done) {
done(null, {
id : user.id,
type : user.type,
firstname: user.firstname,
lastname: user.lastname
});
});
passport.deserializeUser(function(user, done) {
done(null, user);
});
내가 잘못 가고 위치에 대한 조언 :
참고로, 여기에 내가 직렬화 여권에 사용하는 기능은/세션을 역 직렬화? redis로 작업하려면 여권 serializeUser/deserializeUser를 수정해야합니까? 아니면 다른 것을 놓치고 있습니까?
귀하의 도움에 미리 감사드립니다.
브라우저의 개발 도구를 확인하여 쿠키가 실제로 설정되었는지 확인하고 브라우저에서 서버로 다시 전송하는지 확인하십시오. 귀하의 코드는 괜찮아 보인다. – robertklep
쿠키 세션과 동일한 문제가 발생합니다. http://stackoverflow.com/questions/19011531/using-cookiesession-with-passport –
@ user1031947 : 문제를 해결할 수 있었습니까? 업데이트하십시오. – moaglee