tp8跨域cookie填坑

190 阅读1分钟

今天在开发中遇到一个问题,axios在请求的时候跨域导致cookie没有被携带

翻遍了所有教程,总结如下: 1.首先你的axios必须设置withCredentials为true

const instance = axios.create({
    timeout: 10000,
    baseURL: baseURL,
    withCredentials: true,
});

2.在tp8全局中间件启用

\think\middleware\AllowCrossDomain::class

3.重点!在config中设置 'samesite' => 'None', 以及 'secure' => true,

如果之前完成了以上操作仍然无效,主要是在安全这个地方,因为是本地开发环境,所以并没有 配置ssl,而且使用的是本地host域名,这里有个更好的解决方法

不要用localhost,请用127.0.0.1! 设置后方可解决无需ssl即可安全请求

最后感谢一下某个群里的大佬无偿的帮助,QQ738565127,希望网上的技术氛围越来越好。