使用vue写项目,一直都是好好的,突然有一天上班写代码的时候发现谷歌无法登录,登录接口成功,但是登录接口之后的下一个接口就会报错没有登录,请重新登录,各种百度,终于找到了解决办法,先把解决办法记录下来
目前多次测试发现除了谷歌浏览器,其他浏览器都登录正常,不会有此问题
1、谷歌浏览器地址栏打开 chrome://flags/
2、设置SameSite by default cookies
和Cookies without SameSite must be secure
这两个属性为Disabled
(挺多配置项的,复制搜索页面关键字)
本人的谷歌版本是版本 84.0.4147.125(正式版本) (64 位),之前也出现类似问题,把谷歌浏览器卸载,升级新版本后该问题就自动消失了,然而过几天又重新出现了该问题,期间曾怀疑是不是公司后端框架某些功能不兼容谷歌,后来一想,一前一后,公司后端啥都没有改,用了该方法成功解决了此问题,目前推测原因可能是谷歌浏览器默认的安全策略对于某些站点可能禁用了cookie,导致登录成功后再调第二个接口附带把cookie带给后端却被谷歌浏览器拦截了,导致请求接口显示未登录,所以后端返回登录接口