在对接layui-vue-admin的时候,登录后,访问接口居然返回的是未授权,通过排查发现请求响应的setCookie居然有个警告“此Set-Cookie标头未指定"SameSite’ '属性,默认为SameSite= Lax,",并且已被屏蔽,因为它来自一个跨网站响应, 而该响应并不是对顶级导航操作的响应。此Set-Cookie必须在设置时指定“SameSite= None”,才能跨网站使用。”,正因为这个警告,导致浏览器缓存cookie失败,浏览器与服务端处于“无状态”的请求方式。
既然知道问题所在,解决就按这个方向走就好,配置如下即可:
server.servlet.session.cookie.http-only=false
server.servlet.session.cookie.same-site=none
server.servlet.session.cookie.secure=true
smaeSite有三种取值