2016-08-29 4 views
0

나는 문서화 된 익스프레스와 같은 세션 maxAge를 설정했다.브라우저를 종료 할 때마다 세션이 만료되는 이유는 무엇입니까?

여기 내 코드입니다 :

app.use(session({ 
    secret: process.env.SESSION_SECRET, 
    saveUninitialized: true, 
    resave: true, 
    maxAge: 1000* 60 * 60 *24 * 365, 
    store: new MongoStore({mongooseConnection:mongoose.connection}) 
})); 

하지만 브라우저를 닫을 때마다, 나는 나 자신 로그 아웃 찾을 수 있습니다.

또한 Passport local, facebook 및 google 인증을 사용 중입니다.

모두 만료됩니다. 콘솔에서

, 나는 내가 뭘 잘못 ... 다른 쿠키 날짜가 동안의 connect.sid가/MAXAGE의 절에서는 "세션"만료

를 볼 수 있습니까?

+0

세션에 maxAge을 설정합니다. 브라우저가 닫힐 때 세션이 사라지면 세션 쿠키가 브라우저에서 사라지기 때문일 수 있습니다. 이는 비 영구 세션을 지정한 여권 설정 때문이거나 브라우저가 닫힐 때 쿠키가 유지되지 않도록 브라우저가 설정되어 있기 때문입니다. 브라우저에서 원래 쿠키가 아직 있는지 확인할 수 있습니다. – jfriend00

+0

"콘솔에서 expires/maxAge 섹션에있는 connect.sid에 다른 쿠키가 날짜가있는 동안"세션 "이 나열되는 것을 볼 수 있습니다 ..."- 그래서 브라우저 설정이 아닙니다. –

답변

3

당신은 당신의 특급 세션을 구성해야하고, 쿠키를 기반으로 session-cookie

app.use(express.session({ 
    cookie : { 
     maxAge: 1000* 60 * 60 *24 * 365 
    }, 
    store : new MongoStore({mongooseConnection:mongoose.connection}) 
}); 
//..... 
app.use(passport.session()); 
+0

그게 다야! 고맙습니다! –