使用会话cookie登录Nodejs Rest API

时间:2019-02-24 17:34:46

标签: node.js express

我是node.js的新手并表示。 我想登录REST API。 该api提供了一个登录端点,当我登录该端点时,我得到一个响应,并且响应的标题中是一个包含多个字段的数组,例如:

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

session-cookie中间件需要一个会话名和密钥(数组中的密钥是吗?这就是下面的var sessionkeys中存储的内容。我不确定我使用的是正确的方式。)

我想使用express和中间件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);
  });    
});

(在此示例中,我删除了网址和其他一些数据)

我收到“没有用户登录”错误。

第一个(登录)端点给我一个“成功”,因此第一个请求似乎还可以。 但是它如何在带有会话的node.js中工作?如何创建工作会话并使用其从其余api检索数据?

0 个答案:

没有答案