Set-Cookie的domain设置的是服务器的域名。
在 Koa 中使用 session我这里使用的是Koa-session中间件。
Koa-session会根据请求的后端接口域名给cookie设定domain。
两种情况下的跨域
1. 域名相同,端口不同
此时可以使用http,客户端设置axios的withCredentials为true,服务端设置Access-Control-Allow-Credentials为true就好。
2. 域名不同,端口不同
此时除了情况1需要的配置外,还需要将Set-Cookie设置SameSite=None; Secure;Secure就必须是https。
webpack配置https
koa配置https
- 首先通过openssl生成证书(
ssl.key和ssl.crt)
openssl生成ssl证书可参考如下文档: juejin.cn/post/705640…
- koa配置https服务
3. 修改koa-session的配置