一、问题:
项目vue+axios开发,打包部署后,能进入登陆页面,输入账号密码点击登陆,页面刷新,还是在登录页面(使用的密信浏览器,一个基于chorm套了个外壳的浏览器)。
二、检查:
根据断点,可以确定是页面重定向了,查看了封装的接口,判断了code码不对就跳转首页。那么可以判断是接口返回出了问题。
登陆界面一共调了两个接口,登陆接口以及登陆成功后获取菜单列表的接口,登陆接口能正常返回用户信息等数据,但是获取菜单的接口没有返回数据。跟后端一起经过一番排查,发现这个接口没有携带cookie。
查找了各种文档,也设置了withCredentials这个属性,后端也配置了跨域cookie,发现没用。
axios.defaults.withCredentials = true;
后来又看到可能是浏览器SameSite的问题,需要修改浏览器设置chrome://flags/?search=SameSite,设置为display。
打开密信浏览器一搜,居然搜不到!!! 好家伙,难道是套壳的时候把某些设置都给干掉了?
后面甲方换了个浏览器,成功进入~
被套壳浏览器摆了一道...