Получить значение cookie до того, как экспресс отправит его клиенту / Сохранение значения cookie в хранилище сессии - PullRequest
0 голосов
/ 09 января 2019

Я использую passportjs и express-session для создания сеанса на основе файлов cookie. Я хочу сохранить значение отправляемого куки в хранилище сессии. Но так как это только cookie HTTP, к нему нельзя получить доступ через javascript. Я попытался прочитать заголовок set-cookie из javascript, но не работает только с HTTP-файлами cookie.

Чтобы преодолеть это, я пытался отправить файл cookie клиенту, но в отдельном заголовке или, возможно, в ответе JSON. Но я потерпел неудачу здесь. Непосредственно перед отправкой ответа клиенту я попытался получить заголовки, используя request.getHeaders(), но у него нет заголовков cookie (и, следовательно, я не получаю значение cookie)

Ниже приведен фрагмент, который использует passportjs для установления сеанса.

app.get('/login', function(req, res, next) {
    passport.authenticate('local', function(err, user, info) {
    if (err) { return next(err); }
    if (!user) { return res.redirect('/login'); }
    req.logIn(user, function(err) {
        if (err) { return next(err); }
        return res.redirect('/users/' + user.username);
    });
    })(req, res, next);
});

Есть ли способ получить доступ к значению cookie с помощью Express до отправки клиенту?

Я также пытался найти значение cookie внутри request.session.cookie, но у этого объекта нет значения cookie, отправленного клиенту.

...