cookie的sameSite

项目场景:

# 项目场景:

由于我的移动端项目是从微信那边获取的openId,在通过拿到openId获取人员信息,拿到openId只能在微信浏览器中打开,这就给我们调试造成了很大的困扰,不过我们PC端有登录接口,通过用户名密码可以拿到用户的信息,然后拿到cookie,在上移动端,通过cookie直接在我们自己服务上拿到信息,这就省略了从微信拿openId的步骤。


问题描述:

跨域cookie没种进去,请求也没携带cookie,如图


原因分析:

  • 这里我们可以看到,响应头里返回了cookie 种在根路径下。

在这里插入图片描述

  • 可以看到并没有202.114.114.70这个domain下的cookie,也就是说cookie没种上,因为我之前通过这种方式拿到cookie,今天突然不好使了我也很奇怪。在这里插入图片描述
  • 由于我之前更新了chrome,发现是chrome实现了cookie的一个SameSite属性的这么个标准,简单说sameSite是用来控制cookie在跨域时候的行为。具体请参考:
  • 阮一峰Cookie的SameSite属性
  • web.dev的SameSite

解决方案:

这回我们知道了是因为我更新了chrome,新版chrome实现了一个sameSite属性的东西,导致跨域的cookie没种上。那么我们怎么解决呢。
其实我的想法很简单,出现这个问题是因为它实现了sameSite和跨域了,那么我不跨域不就解决了么。
所以我在vue.congfig.js配置了个代理,配置的很简单。

devServer: {
    open: false,
    disableHostCheck: true,
    host: 'localhost',
    port: 8080,
    https: false,
    hotOnly: false,
    proxy: {
      "/spp": { target: "http://202.114.144.70:9999" }
    }
  }

主要就是看proxy,匹配到/spp开头的请求,都会通过这个代理发送到202上。有不懂devServer如何配的话可以去看一下webpack的官网。或者点这里proxy基础用法


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值