Я использую Firebase Cloud Functions и модуль cookie , и одна функция устанавливает cookie «__session» (единственный cookie, доступный в облачных функциях), затем выполняет запрос «GET» для другой функции,Во второй функции, когда я пытаюсь получить cookie, используя cookie.parse(req.headers.cookie).__session
, он говорит, что он не определен.Однако я вижу cookie в браузере, поэтому понятия не имею, почему не могу получить его в своем приложении.Я заметил, что есть несколько других вопросов SO, похожих на эту проблему, которые также остаются без ответа.
Вот соответствующий код из первой функции:
const nonce = require('nonce')();
const state = nonce();
res.cookie('__session', state);
request.get('https://myappurl.firebaseapp.com/myapp/path?state=' + state, { json: true })
.catch((error) => {
console.log(error.message);
});
res.redirect('someurl.com');
Из второй функции:
const cookie = require('cookie');
app.get('/myapp/path', (req, res) => {
console.log(req.headers.cookie); // This is undefined.
const stateCookie = cookie.parse(req.headers.cookie).__session
console.log('stateCookie: ' + stateCookie); // This is undefined.
}
ОБНОВЛЕНИЕ
После добавления кода я понял, что я устанавливаю cookie на res
(экспресс-ответ), но выполняю запрос на получение с помощью request
(модуль запроса-обещания).Я думаю, что это может быть моей проблемой.Я собираюсь выяснить, как установить cookie на request
и посмотреть, решит ли это это.