【问题标题】:Setting a cookie with a webpack-dev-server client and hapi API使用 webpack-dev-server 客户端和 hapi API 设置 cookie
【发布时间】:2018-05-09 21:43:42
【问题描述】:

我有一个在 localhost:3000 上运行 webpack-dev-server 的 ReactJS 客户端。它连接到 localhost:8080 上的 Hapi API 服务器,我正在尝试使用 hapi-auth-jwt2 提供基本 cookie(我也尝试过 hapi-auth-cookie 并获得相同的结果)。

我可以看到响应标头提供了一个有效的 set-cookie 标头,一切看起来都不错,但是我所有的浏览器测试都忽略了它,并且从未设置过 cookie(通过检查 document.cookie 并使用 Chrome 的应用程序选项卡等浏览器工具进行验证)。当我使用 Postman 直接连接到 API 服务器时,它会正确获取 set-cookie 标头并将其存储,因此我认为这只是某种域/端口/主机配置问题。

作为一个简单的测试,我尝试部署到我们的 ec2 环境,但这没有帮助。 ec2 环境类似,一个实例为客户端提供服务,另一个实例为 API 提供服务。我还尝试修改我的本地 hosts 文件以重定向像 127.0.0.1 example.com 这样的域并在 cookie 中提供 domain=.example.com 字段,但这也没有帮助。

我想我只是缺少一些基本的东西,但我不知道它是什么。有关登录时的响应/请求标头,请参见下文。

请求标头

POST /login HTTP/1.1 Host: localhost:8080 Connection: keep-alive Content-Length: 47 Accept: application/json, text/plain, */* Origin: http://localhost:3000 Authorization: undefined User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36 Content-Type: application/json Referer: http://localhost:3000/ Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9

响应标头

HTTP/1.1 200 OK authorization: <jwt token> vary: origin,accept-encoding access-control-allow-origin: http://localhost:3000 access-control-allow-credentials: true access-control-expose-headers: WWW-Authenticate,Server-Authorization content-type: application/json; charset=utf-8 set-cookie: cookie=token; Max-Age=604800; Expires=Wed, 16 May 2018 21:11:23 GMT; SameSite=Lax; Path=/ cache-control: no-cache content-encoding: gzip Date: Wed, 09 May 2018 21:11:23 GMT Connection: keep-alive Transfer-Encoding: chunked

【问题讨论】:

    标签: javascript node.js cookies webpack webpack-dev-server


    【解决方案1】:

    http-proxy-middleware,webpack-dev-server 使用,options 用于 cookie 域/路径重写。

    您应该看看这些是否满足您的需求。否则,您也可以在onProxyRes 回调中手动解析和重置cookie。 Here 就是一个例子。

    【讨论】:

      猜你喜欢
      • 2016-11-27
      • 2019-10-16
      • 2020-03-24
      • 2017-10-17
      • 1970-01-01
      • 1970-01-01
      • 2017-08-09
      • 2016-06-02
      • 1970-01-01
      相关资源
      最近更新 更多