1. 客户端需要发起一次带有 Credentials 请求头的 信息的请求,在 axios 里是这么一个配置项:
// `withCredentials` indicates whether or not cross-site Access-Control requests
// should be made using credentials
withCredentials: false // default
2. 服务端,需要在响应头里 带有 Credentials 的显示申明,允许浏览器保存:
'Access-Control-Allow-Credentials'
:
true
在egg里需要在引入egg-cros 插件,同时在配置文件里,把这一项配置开启:
cors: {
/**
* 客户端请求如果需要保存本地凭条(cookie),则会带有特别的请求字段 withCredentials
* 服务端需要同样开启这个字段才能响应这些请求
* 本质上应该是在响应头里增加了这个字段: Access-Control-Allow-Credentials: true
* 这里应该是全局设置,单独在响应头里加这个字段好像不行。应该是这个框架问题
*/
credentials:
true,
},