express 4.0 , expresa la sesión con un extraño mensaje de advertencia

Estoy tratando de trabajar a través de la configuración de una aplicación nodejs el uso de express 4.x. Después de tropiezo a través del middleware-problemas de eliminación, por fin lo conseguí trabajo.

sin embargo, hubo un par de mensajes de advertencia en la siguiente línea de código :

app.use(session({secret: '<mysecret>'})

estas advertencias fueron :

Sun, 29 Jun 2014 12:45:10 GMT express-session deprecated pass resave option; default value will change at lib\config\express.js:55:11

Sun, 29 Jun 2014 12:45:10 GMT express-session deprecated pass saveUninitialized option; default value will change at lib\config\express.js:55:11

en la documentación, los valores por defecto para guardar y saveUninitialized son verdaderas.

así, cambiar el código para leer

app.use(session({secret: '<mysecret>', 
                 saveUninitialized: true,
                 resave: true}));

deshice de las advertencias.

Así, para llegar al punto de la cuestión:

por qué tengo que pasar estos valores en si son los valores por defecto, y ¿por qué no debo pasar en las otras opciones ?

  • debido a que estos valores por defecto va a cambiar y, cuando lo hacen, usted puede evitar los errores que pueden causar explícitamente pasar al middleware
  • Me encanta la forma en que amablemente NO dicen lo que las opciones por defecto son
  • Tanto el resave y saveUnitialized son booleanos que por defecto al true en la 1.7.2: github.com/expressjs/session
  • Debe ser saveUninitialized. He copiado lo que has publicado y desperdicio de 45 minutos tratando de averiguar wh la advertencia no va a desaparecer. Más tarde me di cuenta de que había un error de ortografía. lol 😀
  • Perdón por el tiempo perdido Maverick 🙂 por Desgracia, el comentario es demasiado viejo para mí para editar, de lo contrario me gustaría arreglar mi error tipográfico :/
  • Antes ciegamente la configuración de estos valores true/false, usted debe consultar con el controlador que está utilizando para ver cómo manejan la configuración. Para gente con connect-mongo, ver aquí github.com/kcbanner/connect-mongo#lazy-session-update

InformationsquelleAutor jmls | 2014-06-29

4 Kommentare

  1. 67

    A las advertencias decir, los valores por defecto va a cambiar por lo que desea asegurarse de que mediante el establecimiento de los valores explícitamente ahora, que no se ejecutará en un comportamiento inesperado cuando los valores predeterminados de hacer el cambio (en el futuro).

    • oh, por lo que los valores por defecto para estos dos parámetros se va a cambiar en algún momento ? Que tiene mucho más sentido! gracias.
    • cuenta la leyenda, todavía va a cambiar pronto 🙂
    • Desde el futuro aquí. Todavía va a cambiar pronto 🙂
  2. 4

    No tengo suficiente rep para agregar como comentario. He añadido esto para mi valor predeterminado de Ben respuesta.

    secret: process.env.SESSION_SECRET || '<mysecret>',
  3. 1
    app.use(session({
      cookieName: 'session',
      secret: 'eg[isfd-8yF9-7w2315df{}+Ijsli;;to8',
      duration: 30 * 60 * 1000,
      activeDuration: 5 * 60 * 1000,
      httpOnly: true,
      secure: true,
      ephemeral: true,
      resave: true,
      saveUninitialized: true
    }));
    • A mí me funciona, tal vez la sesión sólo necesitaba algunas configuraciones adicionales. Gracias

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea