2016-08-29 106 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ローカル、Facebook、およびGoogleの認証を使用しています。

これらはすべて期限切れです。コンソールで

は、私は私が間違っているのは何...他のクッキーは、日付を持っていながら、中connect.sidは/ MAXAGEセクションリスト「セッション」を満了すること

を見ることができますか?

+0

maxAgeを設定します。ブラウザが終了したときにセッションが終了すると、セッションCookieがブラウザから離れたためです。これは、耐久性のないセッションを指定したパスポート設定か、ブラウザが閉じられたときにCookieを保持しないように設定されているためです。文字通り、元のクッキーがまだ存在するかどうかをブラウザで調べることができます。 – jfriend00

+0

"コンソールでは、期限切れ/ 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

それはそれでした!ありがとうございました! –

関連する問題