2013-01-05 25 views
6

kullanarak tanımlama bilgisi' expires 'veya' maxAge 'ayarlanamaz. Çerezin son kullanma tarihini, Express 3.0 kullanarak Node.js'de ayarlamaya çalışıyorum, ancak hiçbir şey çalışmıyor.Node.js 'de Express 3.0

Benim ilk girişimi:

res.cookie('user', user, { maxAge: 9000, httpOnly: true }); 

Chrome'a ​​göre geçersiz bitiş süresine sahip bir çerez son bulur.

res.cookie('user', user, { expires: new Date(new Date().getTime()+5*60*1000), httpOnly: true }); 

Ve şimdi kurabiye aynen oturum çerez: Sonra ayarlamak için çalıştı yerine, şöyle 'sona eriyor'.

Bunu nasıl düzelteceğini bilen var mı?

+0

teşekkür olduğuna dikkat etmeyin. Bu bağlantı ile birlikte sorunuz bana aradığım çözümü getirdi: http://stackoverflow.com/questions/16209145/how-to-set-cookie-in-node-js-using-express-framework – jmunsch

cevap

3

Sen req.session.cookie kullanmak zorunda:

req.session.cookie.expires = false; 

req.session.cookie.maxAge = 5 * 60 * 1000; 

da connect docs bakınız.

+0

: Aslında çalışıyordu. Chrome, sadece zaman biçiminin yanlış olduğunu söylüyor, ancak yine de onurlandırıyor. – skerit

+0

Res.session diyelim, sonra req.ession ile bir örnek ver ... Sonra cevabı kabul ettikten sonra orijinal bir soru sordu '' zaten işe yaradı '' .... Nasıl aynı soruyu cevaplandıran Google çalışanlarının herhangi bir yardım alması gerekiyor bundan? – Spork

2

Kabul edilen yanıt benim için işe yaramaz .. ama asıl soru çalışmakta olan sürüme sahip. Örneğin

var language = 'en'; 
//10 * 365 * 24 * 60 * 60 * 1000 === 315360000000, or 10 years in milliseconds 
var expiryDate = new Date(Number(new Date()) + 315360000000); 
this.__res.cookie('lang', language, { expires: expiryDate, httpOnly: true }); 
0

maxAge bu soruyu sorduğunuz için milliseconds-

res.cookie('jwtToken', token, { maxAge: 2 * 60 * 60 * 1000, httpOnly: true }); // maxAge: 2 hours 
İlgili konular