Perché non ho definito un maxAge quando si chiama expressServer.use(express.session({params}))
la scadenza del cookie è impostata come "Sessione".Cambia scadenza cookie in Express
Vorrei aggiungere una funzionalità "ricordami" al momento del login. Se "ricordami" è selezionato, la scadenza verrà estesa a un mese.
Come faccio a fare questo? Ho provato semplicemente estendendo il MaxAge, ma che non sembrava di fare nulla ...
expressServer.get '/blah', (request, response) =>
request.session.cookie.maxAge = 2592000
response.end 'hello there'
Grazie per l'aiuto!
** EDIT **
Ho provato a fare un server semplice per testare l'aggiornamento dei cookie di un utente. Sto usando espresso 3.0.4
Quando visito 127.0.0.1:9000/blah, del cookie del browser "scade" il campo è ancora "sessione" ...
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 ....
Tuttavia, se posso eliminare i miei cookie del browser e visitare "/ bla", il "scade" campo è impostato correttamente. Il che ha senso, dal momento che il cookie deve essere impostato per la prima volta :) – user1161657
Ok ... sembra funzionare SOLO se aggiorno la sessione ... Così ho appena aggiunto 'request.session.blah = Date()' e le cose funzionano magicamente? – user1161657
Si potrebbe provare a [impostare maxAge con un valore predefinito] (http://www.senchalabs.org/connect/middleware-session.html) e quindi scadere il cookie se la casella di controllo non è selezionata (req.session.cookie .expires = false). – Frank