2012-05-03 19 views
16

私はいくつかのバリエーションを見てきました。私のクッキーが1秒後に失効することを希望するとします。私はExpress.jsでmaxAgeを使用する正しい方法は何ですか?

app.use(express.session({ secret: 'mysecret', maxAge: new Date(Date.now() + 1000)})); 

または

app.use(express.session({ secret: 'mysecret', maxAge: 1000})); 

または

app.use(express.session({ secret: 'mysecret', cookie: {maxAge: new Date(Date.now() + 1000)}})); 

または

app.use(express.session({ secret: 'mysecret', cookie: {maxAge: 1000}})); 

を使用する必要があります。また、私は正しく期限切れ私のクッキーを設定して、それが期限切れになったとします。ユーザーがブラウザを再起動しない場合でも、Cookie情報は保持されるまで保持されますか?

答えて

21

ソースを直接見る方が良いと思います。 Expressの

それはあなたが

app.use(express.session({ secret: 'mysecret', cookie: {expires: new Date(Date.now() + 1000)}})); 

または

を行うことができますミドルウェアを接続して使用し、ここでセッション https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L67

ためのコードだとconnectサイト http://www.senchalabs.org/connect/session.html

でより多くのドキュメントをtheresの

app.use(express.session({ secret: 'mysecret', cookie: {maxAge: 1000}})); 
+4

私はf irstメソッド "expires"オプションの使い方が正しくありません!ここでのミドルウェア構成は1回だけ評価され、すべてのユーザーは同じ有効期限を持つためです。 –

+0

[ソースコードのリンク](https://github.com/expressjs/session/blob/8e57b21bef0d53010c4d37f4beee3f0341f3eaa6/session/cookie.js)が変更されました。 –

関連する問題