Da ich ein maxAge beim Aufruf expressServer.use(express.session({params}))
nicht definieren, ist der Ablauf des Cookies als "Sitzung" festgelegt.Ändern Sie Cookie-Ablauf in Express
Ich möchte eine "merken mich" -Funktion bei der Anmeldung hinzufügen. Wenn "mich erinnern" ausgewählt ist, wird das Ablaufdatum auf einen Monat verlängert.
Wie würde ich das machen? Ich habe versucht, erstreckt einfach die maxAge, aber das scheint nichts zu tun ...
expressServer.get '/blah', (request, response) =>
request.session.cookie.maxAge = 2592000
response.end 'hello there'
Danke für die Hilfe!
** EDIT **
Ich habe versucht, einen einfachen Server macht ein Benutzer Cookie zu testen, zu aktualisieren. Ich verwende Express 3.0.4
Als ich 127.0.0.1:9000/blah besuchen, den Browser-Cookie "gültig bis" Feld noch "Session" ist ...
express = require 'express'
expressServer = express()
expressServer.use express.cookieParser()
expressServer.use express.session
secret: 'supersecret'
cookie:
path: '/'
httpOnly: true
expressServer.get '/', (request, response) =>
response.end 'hello'
expressServer.get '/blah', (request, response) =>
request.session.cookie.maxAge = 3600000
response.end 'hello again'
expressServer.listen 9000
console.log 'server running'
Grrrrrrr ....
Allerdings, wenn ich meine Browser-Cookies löschen und besuchen „/ blah“, die „gültig bis“ Feld richtig eingestellt ist. Das macht Sinn, da das Cookie zum ersten Mal gesetzt werden muss :) – user1161657
Ok ... es scheint nur zu funktionieren, wenn ich die Sitzung aktualisiere ... Also habe ich gerade 'request.session.blah = Date()' hinzugefügt und Dinge arbeiten magisch? – user1161657
Sie könnten versuchen, [maxAge mit einem Standardwert zu setzen] (http://www.senchalabs.org/connect/middleware-session.html) und dann das Cookie ablaufen lassen, wenn das Kontrollkästchen nicht aktiviert ist (req.session.cookie .expires = false). – Frank