axios 配置Authorization,获取不到

548 阅读1分钟

配置Authorization

// request 拦截器
service.interceptors.request.use(
  (config) => {
    // 在这里写一些request之前的操作
    const token = umbrella.getLocalStorage('authorization');
    if (token) {
      config.headers.Authorization = token;
    }
    return config;
  },
  (error) => {
    console.log("请求失败:", error);
    Promise.reject(error);
  }
);
// response 拦截器
service.interceptors.response.use(
  (response) => {
   
    const authorization = umbrella.getLocalStorage('authorization');
    
    if (!authorization) {
      umbrella.setLocalStorage('authorization', response.headers.authorization);
    }
    return response;
  },
  (error) => {
    console.log("响应失败", error, error.config);
    Promise.reject(error);
  }
);

发现问题

前端获取不到authorization,但是后端添加了

原因

浏览器有限制,如果想让浏览器能访问到其他的 响应头的话 需要在服务器上设置 Access-Control-Expose-Headers Access-Control-Expose-Headers : 'Authorization'

Java 如下

image.png