目前网站是http的,并且存在多域名,因此受到了samesite的影响。
根据建议考虑设置samesite:none secure 但是secure仅在https下可用,并且设置后的cookie在http下无法使用。
所以大家有什么解决方案吗?是不是必须升https+samesite:none secure才是唯一出路了。。。
目前网站是http的,并且存在多域名,因此受到了samesite的影响。
根据建议考虑设置samesite:none secure 但是secure仅在https下可用,并且设置后的cookie在http下无法使用。
所以大家有什么解决方案吗?是不是必须升https+samesite:none secure才是唯一出路了。。。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
我们也遇到了这个问题,说一下我这边的解决方式,给你参考一下:
首先线上环境 确实在setCookie的时候 通过设置 samesite: none 和 secure: true,并且运维侧配置https,解决了这个问题
开发环境,因为没有https的支持,所以通过关闭 chrome 的 samesite 默认设置,来实现http下的正常开发,具体的设置如下:
1.打开chrome设置:chrome://flags/#same-site-by-default-cookies
2.将 SameSite by default cookies 这一项设置修改成disabled,重启浏览器,就可以正常 在http下使用cookie了。
最后,我在考虑是否用token或者先存到localstorage里的方式来替代原来cookie的解决方式,不得不说chrome这一突然改动对开发来说太不友好了。