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

Laravel Sanctum:如何在Insomnia中自动获取XSRF令牌解决CSRF不匹配

在Insomnia中自动提取Laravel Sanctum的XSRF Token并存储为本地变量

Laravel Sanctum的XSRF Token通过响应头的Set-Cookie字段返回,我们可以通过Insomnia的请求钩子自动提取并存储,避免手动复制粘贴的麻烦。具体步骤如下:

  • 打开Insomnia,定位到你的/sanctum/csrf-cookie请求或登录请求(两者都会返回XSRF Token的Cookie),点击请求右上角的「Hooks」图标。
  • 切换到「After Response」标签页,添加以下处理脚本:
// 从响应头的Set-Cookie中提取XSRF-TOKEN
const setCookieHeader = response.headers.get('Set-Cookie');
if (setCookieHeader) {
  // 匹配XSRF-TOKEN的取值
  const xsrfMatch = setCookieHeader.match(/XSRF-TOKEN=([^;]+)/);
  if (xsrfMatch && xsrfMatch[1]) {
    // 解码URL编码的Token
    const decodedXsrfToken = decodeURIComponent(xsrfMatch[1]);
    // 存储为Insomnia本地变量
    await insomnia.store.setLocalVariable('xsrf_token', decodedXsrfToken);
  }
}
  • 保存钩子配置后,发送该请求,Insomnia会自动提取并存储XSRF Token到本地变量xsrf_token中。
  • 在需要验证CSRF Token的API请求中,添加X-XSRF-TOKEN请求头,将其值设置为{{xsrf_token}},Insomnia会自动替换为存储的Token值。

补充说明

  • 若需按环境区分变量,可将脚本中的insomnia.store.setLocalVariable替换为insomnia.store.setEnvironmentVariable('xsrf_token', decodedXsrfToken),将Token存储到当前环境变量中。
  • 确保Insomnia的请求设置中开启了「Send Cookies」,默认会自动管理Cookie,保证Token的上下文有效性。

内容的提问来源于stack exchange,提问作者Dênio Clécio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:22:44