2011-12-10 4 views

Trả lời

10

Dựa trên documentation, hãy thử này:

res.cookie('rememberme', 'yes', { expires: new Date(Date.now() + 900000), httpOnly: true, secure: true }); 

Sử dụng res.cookie(name, val[, options]) đặt tên cookie cho val, với các tùy chọn httpOnly, secure, expires, vv path mặc định tùy chọn để thiết lập basepath của ứng dụng, mà thường là "/".

Xem docs for res.cookie để biết thêm chi tiết.

+0

tôi cũng đã thử đặt nó trong đối tượng cài đặt phiên như trong tài liệu kết nối. Giống như 'khóa:' session_cookie ', cookie: {maxAge: bl bla, secure: true} 'Nhưng nó không hoạt động:/Tôi có thể thay đổi tên và vân vân, nhưng không đặt nó thành an toàn. Không thể tìm thấy bất cứ điều gì về điều này ... – georgesamper

+0

hiện optoin httpOnly làm việc cho bạn? – dchrastil

+0

Có tùy chọn đó cũng hoạt động! người duy nhất không hoạt động là tùy chọn an toàn. Không thể tìm ra cái này haha ​​ – georgesamper

19

Nếu bạn là sau một proxy, bạn cũng phải đảm bảo nó được gửi X-Forwarded-Proto header và rằng bạn thiết lập các tùy chọn proxy:

app.use(express.session({ 
    proxy: true, 
    secret: 'test', 
    cookie: { 
    secure: true 
    }    
})); 

Ngoài ra, bạn có thể nói Express để tin tưởng proxy trên toàn cầu:

app.set('trust proxy', 1) 
+1

'proxy: true' là thủ phạm đối với tôi trên nodejitsu, cảm ơn! –

+0

Vấn đề tương tự trên Heroku và Modulus. Câu trả lời được chấp nhận không được chấp nhận, đây là cách để đi. –