You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否为全局所有fetch请求统一自动添加Authorization公共请求头?

全局拦截fetch自动添加Authorization请求头方案

可以通过重写原生fetch方法实现全局请求拦截,无需手动给每个fetch请求单独配置,所有请求类型(GET/PUT/PATCH/DELETE等)都会自动携带指定的Authorization头。

具体实现代码如下:

// 先缓存原生的fetch方法
const rawFetch = window.fetch;

// 重写fetch逻辑
window.fetch = function(resource, options = {}) {
  // 合并原有配置和默认头
  options.headers = {
    ...options.headers,
    // 仅在token存在时添加Authorization头,避免传入无效值
    ...(localStorage.id_token ? { Authorization: localStorage.id_token } : {})
  };
  // 调用原生fetch发起请求
  return rawFetch.apply(this, arguments);
};

注意事项

  • 上述代码需要在项目所有fetch请求触发前执行,建议放到项目入口文件的最顶部引入
  • 如果存在不需要携带Authorization头的请求(比如第三方公共接口),可以自行添加白名单判断逻辑,匹配到对应url时跳过加头步骤即可
  • 建议补充token过期判断逻辑,避免携带无效的过期token发起请求

内容的提问来源于stack exchange,提问作者Stupid.Fat.Cat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 11:45:03