华为手机无法获取cookie (uniapp) SameSite

背景

去年开发的一款应用,在pc和移动端除了华为的手机都能正常的获取cookie, 只有华为手机无法获取cookie. 由于已经到项目尾期,在更换成token很麻烦, 所以选择寻找问题所在.

如何解决

在chrome 80版本中, 默认策略把 SameSite 的值设置为了Lax, 这导致跨域直接失效. 所以需要在后端Cookie 的SameSite的值改为None.
但是当 SameSite =None时, 必须同时启用Secure的属性. 启用Secure,则必须开启HTTPS, 所以解决方法就很简答了.
将 SameSite 改为None, 启用Secure, 并且开启HTTPS. 即可解决该问题.
参考图, 使用的 shiro

解决方法

  1. 上述所说, SameSite =None; Secure 并启用 HTTPS
  2. 放弃Session 改用 Token.


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部