x8188088@163.com
x8188088@163.com
  • 发布:2020-11-19 12:50
  • 更新:2020-12-07 17:55
  • 阅读:199

【报Bug】Set-Cookie又无法存储问题。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 最新版

HBuilderX类型: 正式

HBuilderX版本号: 2.9.10

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: 华为

手机机型: 木木模拟器

页面类型: vue

nvue编译模式: fast

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

2.9.8.20201110
当前版本发布安卓应用后,请求接口set-cokie无法保存。

预期结果:

2.9.8.20201110
当前版本发布安卓应用后,请求接口set-cokie正常保存。

实际结果:

2.9.8.20201110
当前版本发布安卓应用后,请求接口set-cokie没有保存。

bug描述:

本身运行到旧版本应用正常请求接口,更新到这个版本后,开发后,请求接口Set-Cookie没有携带cookie。导致session丢失。postmain测试接口正常

2020-11-19 12:50 负责人:DCloud_Android_DQQ 分享
已邀请:

最佳回复

DCloud_Android_DQQ

DCloud_Android_DQQ

问题已确认, 因为楼主的服务器返回cookie字段中使用了 SameSite=lax 字段。

该字段是chrome 最近推广的标准用来 解决第三方跨域攻击问题。 所以在不同的手机设备上支持情况不一致。不支持的手机就不会有跨域问题。
具体参看:http://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html

如果遇到类似问题,先检查一下这个字段是否合理使用。

DCloud_Android_DQQ

DCloud_Android_DQQ

你提供一下 复现问题的代码。 我测试一下

  • x8188088@163.com (作者)

    我刚刚用另外一台旧版本的从新打包,都是正常。

    这是请求代码。

    const server = (url, data, header) => {

    console.log("请求地址:" + GlobalData.BasicUrl + url)

    console.log("请求参数:" + JSON.stringify(data));

    return uni.request({

    method: 'POST',

    url: GlobalData.BasicUrl + url,

    data:data,

    header: {

    'Content-Type':header?'text/html;charset=UTF-8':'application/x-www-form-urlencoded'

    // 'Authorization': uni.getStorageSync("key") //自定义请求头信息

    }

    });

    }

    2020-11-19 12:54

  • x8188088@163.com (作者)

    已确定是这个版本的问题。因为要更新需求,修改后就无法使用了。

    2020-11-19 12:55

  • DCloud_Android_DQQ

    回复 x8188088@163.com: 哪个版本可以正常使用 你qq多少。 沟通方便些。

    2020-11-19 12:58

  • x8188088@163.com (作者)

    回复 DCloud_Android_DQQ: 1005733119

    2020-11-19 12:59

  • x8188088@163.com (作者)

    回复 DCloud_Android_DQQ: 刚刚另外一台电脑没更新,版本号是2.8.13.20200927

    2020-11-19 13:01

DCloud_Android_DQQ

DCloud_Android_DQQ

更新描述:

同反馈者确认状况: 2.8.13.20200927 版本同样存在问题

DCloud_Android_DQQ

DCloud_Android_DQQ

更新描述:
大部分华为最新系统手机都出现这个问题。小米测试了一个,小米max正常。

小农

小农

再提供一个线索,webview访问hybrid打包的网页,服务器设置了 SameSite=none,对于nvue页面里面内嵌的webview是有问题的,调试webview显示set-cookie was blocked;对于vue页面里面内嵌的webview没有这个问题

要回复问题请先登录注册