express-session은 인수로 세션에 대한 설정을 받습니다. resave는 요청이 올 때 세션에 수정 사항이 생기지 않더라도 세션을 다시 저장할지 설정하는 것이고, saveUninitialized는 세션에 저장할 내역이 없더라도 처음부터 세션을 생성할지 설정하는 것입니다. 현재는 둘 다 필요 없으므로 false로 했습니다.
express-session은 세션 관리 시 클라이언트에 쿠키를 보냅니다. 3.3절에서 배운 세션 쿠키가 이것입니다. 안전하게 쿠키를 전송하려면 쿠키에 서명을 추가해야 하고, 쿠키를 서명하는 데 secret의 값이 필요합니다. cookie-parser의 secret과 같게 설정하는 것이 좋습니다. 세션 쿠키의 이름은 name 옵션으로 설정합니다. 기본 이름은 connect.sid이지만 session-cookie로 직접 변경했습니다.
cookie 옵션은 세션 쿠키에 대한 설정입니다. maxAge, domain, path, expires, sameSite, httpOnly, secure 등 일반적인 쿠키 옵션이 모두 제공됩니다. 현재 httpOnly를 true로 설정해 클라이언트에서 쿠키를 확인하지 못하도록 했고, secure는 false로 해서 https가 아닌 환경에서도 사용할 수 있게 했습니다. 배포 시에는 https를 적용하고 secure도 true로 설정하는 것이 좋습니다.