Я пытаюсь установить cookie в экспресс-фреймворке, но это не проходит, и для жизни меня я не могу понять, почему. Соответствующий код выглядит следующим образом:Cookie не проходит через
module.exports = function(app) {
return function(req, res, next) {
if (req.cookies.user_token) {
req.session.cookie.httpOnly = false
res.cookie('user_token', req.cookies.user_token, { domain: 'www.example.com', httpOnly: false, path: '/', maxAge: 900000 });
}
return res.redirect('https://www.example.com/index.jsp?other_stuff=value');
}
}
Я вижу, как вызывается запрос, и что cookie НЕ устанавливается. Я прошел через отладчик, и я точно знаю, что код получает удар.
Я нашел этот вопрос:
How to set cookie in node js using express framework?
Основываясь на том, что я пытался дозвониться var express = require('express'); app.use(express.cookieParser());
ранее в коде, но это, похоже, не имеет никакого значения.
У кого-нибудь есть идеи, в которых я ошибаюсь?
С 'if (req.cookies.user_token) {' обертывает код, который устанавливает файл cookie, похоже, что вы проверяете, существует ли файл cookie перед его настройкой. Поэтому он никогда не создается. – Trott
@ Тротт: Нет. Я ищу, чтобы увидеть, существует ли этот файл cookie для страницы, на которой я уже включен; если это так, я хочу, чтобы он воссоздан для страницы, на которую я собираюсь. Я на 100% уверен, что res.cookie получает вызов; Я перехожу к нему с помощью отладчика. – BlairHippo
И страница, на которую вы перенаправляетесь, находится в том же домене, что и страница, задающая cookie? – Trott