1. 问题背景:前后端分离,后端需要将token放在响应头的Authorization中,然后前端vue去响应头里面拿这个属性,并保存在浏览器
1. 对于django后端,在将token(Authorization)放在响应头里面之后,还要在响应头设置另外一个头,前端才能拿到token(Authorization) # 设置此响应头是为了前端能够拿到token这个字段,不设置前端浏览器根本拿不到 response.headers['Access-Control-Expose-Headers'] = 'Authorization'
2. 对于前端,在每一次拿到token的时候,更新当前token,没拿到就不做更新即可
axios.interceptors.response.use(response => { // 将后端返回的token保存,没有返回token时,不修改本地token if (response.headers.authorization) { window.sessionStorage.setItem('token', response.headers.authorization) } return response })