开发环境localhost怎么解决 cookie 认证问题?

发布于 2022-09-12 04:11:23 字数 257 浏览 27 评论 0

问题描述:在登录之后,我怎么在 localhost 中获取登录页面(登录页面地址为 39.xxx)的 cookie 呢?

目前我所了解到的方法

  1. 利用NGINX 进行反向代理
  2. 利用 webpack 中的 proxy—pass代理

上面两种都是进行了反向代理, cookie 只允许同一域名读取,但是这么操作后,它们是否就同源呢(domain 是否相同)?目前我测试出并不相同,并没有正确读取到 cookie。请各位指点。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

滴情不沾 2022-09-19 04:11:23

如果登陆页面地址主域名和当前页面不同的话,怎么样都拿不到 cookie, 题主放弃吧

安稳善良 2022-09-19 04:11:23

开发环境下,webpack的代理是一个比较好的解决方案

诗化ㄋ丶相逢 2022-09-19 04:11:23

nginx的话,应该可以做到的,domianpath均保持一致,就可以共用cookie的,是不是哪里配错了

静谧 2022-09-19 04:11:23

直接使用 webpack-dev-server 的代理,cookie 会被自动转写,可以被正常传递。如果因为 sameSite 的原因导致 cookie 失效,可以这样改写一下:

config.devServer = {
  proxy: {
    '/': {
      onProxyRes(proxyRes) {
        const key = 'set-cookie';
        if (proxyRes.headers[key]) {
          const cookies = proxyRes.headers[key].join('').split(' ');
          proxyRes.headers[key] = [cookies[0], 'Path=/'].join(' ');
        }
      },
    }
  },
};
深陷 2022-09-19 04:11:23

如果登陆页面地址主域名和当前页面不同的话,怎么样都拿不到 cookie

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文