5

だから私は次のようにmongoストアでexpress-sessionを使用しています:

app.use(session({
  secret: 'some secret here',
  saveUninitialized: false,
  resave: false,
  store: new MongoStore({
    url: 'http://someurlhere'
  })
}));

ログインに成功した後、セッション Cookie の有効期限を設定したいログイン ミドルウェアがいくつかあります。

だから私は現在10秒の有効期限でテストしています

req.session.cookie.expires = new Date(Date.now() + 10000);

後続のリクエストごとにセッションの有効期限をリセットしたい。現在、ログイン後何度リクエストしても10秒経過するとセッションが切れてしまいます。

ここで何かを誤解したような気がします!

編集

わかりましたので、ドキュメントの構成オプションを見逃しましたrollingが、セッション構成オプションでこれを true に設定しても、同じ動作が発生します。

app.use(session({
  secret: 'some secret here',
  saveUninitialized: false,
  resave: false,
  store: new MongoStore({
    url: 'http://someurlhere'
  }),
    rolling: true,
    cookie: {
        maxAge: 10000
    }
}));

現在、コンソールでルート全体の Cookie maxAge の値をログに記録しており、ログイン後に後続のリクエストが行われるたびに値が減少していることがわかります。10000 にリセットされることはありません。

私は何を間違っていますか?

解決した

わかりましたので、この問題に関するコメントに出くわしました

resavetrueに変更したところ、期待どおりに動作するようになりました。

4

0 に答える 0