浏览器未设置Cookie

时间:2017-07-12 14:30:16

标签: node.js http express cookies

在我的NodeJS Express应用程序中(使用羽毛构建);我正在尝试使用来自客户端javascript的客户端fetch使用Cookie。我使用cooke-parser中间件进行了Express。

我已尝试将credentials标题设置为same-origin,但已停止工作(昨天工作正常,今天几次......但我一直试图建立我需要的cookie,它似乎无法可靠地工作)。

这是我的测试快车路线:

app.post('/setjwt', (req, res, next) => {
 res.cookie('acokie', 'lol');
 res.status(200);
 res.send();
});

我在chrome dev工具控制台中使用fetch来测试发送请求,如下所示:

fetch('/setjwt', { method: 'POST', headers: { credentials: 'same-origin' } } );

这些是标题: enter image description here

但是,“应用程序”选项卡中没有列出cookie,document.cookie中也没有。

我有这条路线的原因有两个:

  1. 了解Cookie如何工作以及与Express互操作。
  2. 完全摆脱这条hacky路线并正确设置标头/环境,以便浏览器尊重我的羽毛认证服务的Set-Cookie响应标头。
  3. 登录页面上的feat客户端设置为fetch作为其余实现,我可以设置

1 个答案:

答案 0 :(得分:0)

fetch( '/setjwt', { method: 'POST', credentials: 'same-origin', headers: { whatever: 'somevalue' } }); 无法工作。

凭据属性cannot be specified like that with fetch。正确的代码是:

df.max(axis=1)

至于设置它以便羽毛身份验证服务可以工作,再次,它不是正常的标题,所以brushing up on the documentation希望可能产生一些有用的东西,但我不认为羽毛-rest包装器提取supports passing non header options