Безопасный сеансовый файл Expressjs

Кажется, я не могу найти способ установить безопасный файл cookie в фреймворке expressjs. Есть ли возможность сделать это где-нибудь?

Ответ 1

На основе документации попробуйте следующее:

res.cookie('rememberme', 'yes', { expires: new Date(Date.now() + 900000), httpOnly: true, secure: true });

Использование res.cookie(name, val[, options]) устанавливает заданное имя куков на val, с возможностью httpOnly, secure, expires, и т.д. path опционных по умолчанию в приложениях basepath настройку, которые, как правило, "/".

Дополнительную информацию см. В документации для res.cookie.

Ответ 2

Если вы находитесь за прокси-сервером, вам также необходимо убедиться, что он отправляет заголовок X-Forwarded-Proto и вы задаете опцию прокси-сервера:

app.use(express.session({
  proxy: true,
  secret: 'test',
  cookie: {
    secure: true
  }            
}));

Кроме того, вы можете сказать, что Express доверяет доверенному серверу по всему миру:

app.set('trust proxy', 1)