Подтвердить что ты не робот

Express 4.0, экспресс-сессия с нечетным предупреждающим сообщением

Я пытаюсь работать с настройкой приложения nodejs с помощью express 4.x. После того, как вы столкнулись с проблемами удаления промежуточного программного обеспечения, я, наконец, начал работать.

однако в следующей строке кода было несколько предупреждающих сообщений:

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

эти предупреждения были:

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

в документации, значения по умолчанию для resave и saveUninitialized являются истинными.

поэтому, изменив код на чтение

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

избавился от предупреждений.

Итак, чтобы подойти к вопросу:

почему мне нужно передавать эти значения, если они являются значениями по умолчанию, и почему мне не нужно передавать другие параметры?

4b9b3361

Ответ 1

Как видно из предупреждений, значения по умолчанию будут меняться, поэтому они хотят убедиться, что, установив значения прямо сейчас, вы не столкнетесь с неожиданным поведением, когда значения по умолчанию меняются (в ближайшем будущем).

Ответ 3

У меня недостаточно комментариев, чтобы добавить это как комментарий. Я добавил это для моего значения по умолчанию для ответа Бена.

secret: process.env.SESSION_SECRET || '<mysecret>',

Ответ 4

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
}));