2.9.8.20201110
当前版本发布安卓应用后,请求接口set-cokie无法保存。
- 发布:2020-11-19 12:50
- 更新:2020-12-07 17:55
- 阅读:1608
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 最新版
HBuilderX类型: 正式
HBuilderX版本号: 2.9.10
手机系统: Android
手机系统版本号: Android 9.0
手机厂商: 华为
手机机型: 木木模拟器
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
2.9.8.20201110
当前版本发布安卓应用后,请求接口set-cokie正常保存。
2.9.8.20201110
当前版本发布安卓应用后,请求接口set-cokie正常保存。
实际结果:
2.9.8.20201110
当前版本发布安卓应用后,请求接口set-cokie没有保存。
2.9.8.20201110
当前版本发布安卓应用后,请求接口set-cokie没有保存。
bug描述:
本身运行到旧版本应用正常请求接口,更新到这个版本后,开发后,请求接口Set-Cookie没有携带cookie。导致session丢失。postmain测试接口正常
最佳回复
问题已确认, 因为楼主的服务器返回cookie字段中使用了 SameSite=lax 字段。
该字段是chrome 最近推广的标准用来 解决第三方跨域攻击问题。 所以在不同的手机设备上支持情况不一致。不支持的手机就不会有跨域问题。
具体参看:http://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html
如果遇到类似问题,先检查一下这个字段是否合理使用。
你提供一下 复现问题的代码。 我测试一下
-
x***@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
x***@163.com (作者)
是的,该问题已处理。
2020-11-19 16:18
元谷
我也使用了SameSite=lax,可以提交或者保存cookie,但是,退出重登陆,然后杀进程,又没有保存cookie。这是怎么回事?android app 3.3.13.20220314版本
2022-04-18 15:43
DCloud_Android_DQQ
回复 元谷: 单独提个ask ,提供可以说明问题的代码
2022-04-22 17:49