[node.js] Express 4.0, 이상한 경고 메시지가있는 익스프레스 세션

Express 4.x를 사용하여 nodejs 앱을 설정하는 작업을 시도하고 있습니다. 미들웨어 제거 문제를 겪은 후 마침내 작동하게되었습니다.

그러나 다음 코드 줄에 몇 가지 경고 메시지가 있습니다.

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의 기본값은 true입니다.

그래서, 읽을 코드를 변경

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

경고를 제거했습니다.

따라서 질문의 요점을 얻으려면 :

기본값 인 경우이 값을 전달해야하는 이유와 다른 옵션을 전달하지 않아도되는 이유는 무엇입니까?



답변

경고에서 말했듯이 기본값이 변경되므로 지금 명시 적으로 값을 설정하여 기본값이 변경 될 때 예기치 않은 동작이 발생하지 않도록합니다 (가까운 장래에).


답변

유용한 문제를 발견했습니다.

https://github.com/expressjs/session/issues/56

app.use(session({
    secret: cookie_secret,
    resave: true,
    saveUninitialized: true
}));


답변

댓글로 추가 할 담당자가 충분하지 않습니다. 나는 Ben의 대답의 기본값에 이것을 추가했습니다.

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


답변

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


답변