Вход в API Nodejs Rest с использованием cookie-файла сеанса - PullRequest
0 голосов
/ 24 февраля 2019

Я новичок в node.js и экспресс.Я хочу войти в API отдыха.API предоставляет конечную точку входа в систему, и когда я вхожу туда, я получаю ответ, а в заголовке ответа находится массив с несколькими полями, такими как:

[0]: "JSESSIONID=<id>;path=<path>;HttpOnly"  
[1]: ... 
[2]: "userId=<userid>;Max-Age=1000000000;path=/;Secure;HttpOnly" ...

Промежуточному программному обеспечению для файла cookie сеанса требуются имя сеанса и ключи(Являются ли ключи в массиве? Это то, что хранится в ключах var session ниже. Я не уверен, что использую это правильно.)

Я хотел использовать экспресс-и cookie-сессию промежуточного программного обеспечения (https://github.com/expressjs/cookie-session):

app.get('/showorders', function(req, res){

request({
    uri: "...",
    body: postBody,
    method: 'POST',
    headers: {
        'Content-Type': 'application/xml'
    }
}, function (error, response, body) {
    var sessionkeys = response.headers["set-cookie"];

    app.use(cookieSession({
        name: "testsession",
        keys: sessionkeys
    }));
    res.send(response);
});

request({
    uri: "...",
    body: postBody,
    method: 'GET',
    headers: {
        'cookie': req.session
    }

}, function (error, response, body) {
    res.send(body);
  });    
});

(в этом примере я удалил URL и некоторые другие данные)

Я получаю сообщение об ошибке «Нет входа в систему».

Первый(вход в систему) конечная точка дает мне «успех», поэтому первый запрос кажется нормальным. Но как он работает в node.js с сеансами? Как я могу создать рабочий сеанс и получить с него данные из остальных API?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...