3

ノードにはhttpsサーバーがあり、maxage値でセッションを使用しています。コードは次のとおりです。

app.use(express.cookieParser());
app.use(express.session({ 
  secret: 'secret stuff',
  store: sessionStore,
  cookie: { 
    secure: true,
    maxAge: 60 * 1000 //1 minute
  } 
}));

ユーザーが maxAge 期間 (この場合は 1 分) 内にサイトにアクセスすると、Cookie タイマーが最初からやり直し、残り 1 分でセッション ID を失うような機能が必要です。

req.session._expires(セッション ミドルウェアによって) が更新されていることがわかりますが、Cookie はそのままです。Cookie の有効期限が切れると、新しいセッション IDconnect.sidが生成されます。

どうすればこれを達成できますか?セッションミドルウェアによって自動的に行われると思っていましたが、Cookie の有効期限とセッションの有効期限は、何の session._expires とは異なり、2 つの異なるものであるようです。

編集

ここで、DanielBaulig は私の問題をよりよく言います。Marc B がコメントに書いたように、Cookie の有効期限が切れるため、セッションは孤立しました。それは私が避けたいことです。セッションに触れたときに、Cookie を更新したいと思います。

4

1 に答える 1

2

試す

 cookie: { 
    secure: true,
    expires: new Date(Date.now() + 60 * 1000), // plus 1 minute
    maxAge: 60 * 1000 //1 minute
 }

有効期限が正しくリセットされていないと思います。

于 2012-10-11T16:32:23.630 に答える