image

在前端开发和接口调试中,最烦人的事莫过于:Token 过期了,得重新登录 -> 复制新 Token -> 手动粘贴到各个接口请求头里。

今天带大家彻底解决这个痛点!通过 Apifox 的脚本功能,实现登录即同步,让所有接口自动带上最新的 Token。

🛠️ 第一步:登录接口设置变量

首先,我们需要在“登录接口”跑完后,把返回的 Token 存起来。

  1. 打开登录接口的编辑页面。
  2. 点击 「后置操作」 -> 「添加后置操作」 -> ​ 「公共脚本/自定义脚本」

PixPin_2026-02-04_15-18-07

📝 第二步:编写自动化脚本

在脚本框中粘贴以下代码。这段脚本会自动解析响应体,提取 Token 并写入​环境变量

// 1. 校验响应体是否能正常解析为JSON(基础前置校验)
pm.test("响应体为合法JSON格式", function () {
    pm.response.to.be.json;
});

// 2. 解析响应JSON数据
const responseData = pm.response.json();

// 3. 分步校验响应数据是否包含有效token,并提取设置环境变量
pm.test("登录成功且提取到有效Token", function () {
    // 校验接口返回状态正常(status === 1)
    pm.expect(responseData.status).to.equal(1, "接口返回状态异常,status不为1");
    
    // 校验data字段存在且不为空
    pm.expect(responseData.data).to.exist.and.not.be.empty, "响应中缺少有效data字段";
    
    // 校验data中包含非空的token
    pm.expect(responseData.data.token).to.exist.and.not.be.empty, "data中缺少有效token字段";
    
    // 4. 所有校验通过,提取token并设置到环境变量ACCESS_TOKEN
    const validToken = responseData.data.token;
    pm.environment.set("ACCESS_TOKEN", validToken);
    console.log("✅ Token已成功提取并设置到环境变量:", validToken);
});

// (可选)若需要清空无效Token的兜底逻辑:当上述测试失败时,清空环境变量中的ACCESS_TOKEN
pm.test("Token提取失败时清空环境变量", function () {
    try {
        // 若前面的校验通过,这里不执行;若失败,捕获异常并清空Token
        if (!responseData.status || !responseData.data || !responseData.data.token) {
            pm.environment.set("ACCESS_TOKEN", "");
            console.log("⚠️ 未提取到有效Token,已清空环境变量中的ACCESS_TOKEN");
        }
    } catch (e) {
        pm.environment.set("ACCESS_TOKEN", "");
        console.log("⚠️ 解析响应失败,已清空环境变量中的ACCESS_TOKEN:", e.message);
    }
});

⚙️ 第三步:设置全局自动鉴权

提取到 Token 后,我们需要让整个项目的所有接口都自动引用它。

  1. 点击项目左侧根目录(或点击 ​ 「项目设置」 )。
  2. 找到 「Auth」 选项卡。
  3. 选择 ​ 「API Key」 (或 Bearer Token,取决于后端要求)。

PixPin_2026-02-04_15-18-29

🔗 第四步:配置变量映射

  1. Key 设置为:Authorization (或后端要求的 Header 名称)。
  2. Value 设置为:{{ACCESS_TOKEN}}

💡 小贴士: 使用 {{ }} 包裹变量名,是 Apifox 读取环境变量的标准写法。

PixPin_2026-02-04_15-19-01

PixPin_2026-02-04_15-20-00

PixPin_2026-02-04_15-19-26

PixPin_2026-02-04_15-21-05

✅ 第五步:实测验证

大功告成!现在我们可以测试一下效果:

  1. 运行登录接口​:查看下方控制台,是否提示 ✅ Token已成功提取

PixPin_2026-02-04_15-23-01

  1. 访问其他业务接口:点击「发送」,查看请求头(Headers),你会发现 Authorization 已经自动带上了刚才生成的 Token!

PixPin_2026-02-04_15-31-12

欢迎关注我的公众号【zxb的博客】!