SameSite 问题求解
我现在有个需求,将前后端不分离的项目做成前后端分离的,但是在会话管理有个问题,我不想引用 Redis 之类的组件,所以像验证码获取与验证的部分就需要存储验证码,我想用 session 来存储,但是由于前端分离了,后端 SameSite=Lax 会无法设置 set-cookie,前端获取不到 sessionid,然后验证码就无法验证,ai 让我设置 vite 代理,我设置后还是不行。
复制
export default defineConfig({ server: { proxy: { '/api_server': { target: 'http://127.0.0.1:8000', changeOrigin: true, // 这样就不存在跨域问题,浏览器会自动处理 cookie } } } })
前端:localhost:5173,后端 127.0.0.1:8000
前后端分离的情况下使用 session 来管理会话,就是这么个问题。

前后端都用 localhost 呢?前端用什么发出请求的?设置 withCredentials 了吗