前提:
公司要做一个项目嵌入保证某路由不走登陆直接登陆,于是走的假的登陆,也就是会有token的存在,token保存在cookie中请求请求的时候放请求头中带过去,但是发现token不起作用了
解决办法:
有两种
1.不用cookie保存token
2.使用cookie中的一个属性SameSite(但是要https请求)
3.换个浏览器
具体讲SameSite
1.内嵌页面最好采用同站(SameSite)策略。
2.接口请求参数直接带上token请求。
3.设置sameSite: ‘none’,( 需https协议,且不同浏览器版本有兼容性问题,需要 UA 检测)(参考:https://github.com/mqyqingfeng/Blog/issues/157)
原因
浏览器的 Cookie 新增加了一个SameSite属性,用来防止 CSRF 攻击和用户追踪。并将未声明 SameSite 值的 Cookie 默认设置为SameSite=Lax Cookie。