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

Insomnia配置OAuth 2.0 password授权模式自动获取AccessToken调用其他API报错

解决Insomnia OAuth 2.0密码模式自动获取token报错问题

你遇到的Failed to fetch token url= state us=0报错,90%以上是内置OAuth配置时多填了冗余参数、或者参数格式不符合Keycloak要求导致,可通过以下两种方案实现自动绑定token,无需手动复制:


方案1:直接使用Insomnia内置OAuth 2.0认证(推荐)

操作步骤如下:

  • 打开需要自动携带token的业务请求,切换到「Auth」标签,认证类型选择OAuth 2.0
  • 授权类型(Grant Type)选择Resource Owner Password Credentials
  • 严格按照以下规则填参数,不要多填非必填项:
    • Access Token URL:填写curl请求里的地址 https://mydomain/auth/realms/my-app/protocol/openid-connect/token
    • Client ID:填写myclientid,Client Secret字段必须留空(你的应用是公开非保密客户端,传了client secret反而会被Keycloak拦截)
    • Username、Password分别填写对应账号app.admin、密码password!
    • 展开「Advanced」高级设置,确认Content Type选择application/x-www-form-urlencoded,不要选JSON格式
  • 点击「Get New Access Token」,正常获取token后选择「Use Token」,后续token过期时Insomnia会自动刷新,无需手动操作

方案2:环境变量+脚本实现(和Postman pre-request逻辑一致)

如果有自定义的token获取逻辑,可以用这套方案:

  • 先在当前工作区的环境配置中,新增两个变量:access_token、token_expire_at,初始值留空即可
  • 找到你之前导入的、能正常返回token的POST请求,切换到「Scripts」标签,在「After Response」区域填入以下脚本:
// 解析token接口返回结果
const tokenRes = await response.json();
// 保存token到环境变量
await insomnia.environment.set('access_token', tokenRes.access_token);
// 计算过期时间,提前1分钟刷新避免请求时token刚好过期
const expireTime = Date.now() + (tokenRes.expires_in - 60) * 1000;
await insomnia.environment.set('token_expire_at', expireTime);
  • 给所有需要携带token的业务请求,切换到「Pre-request Script」区域,填入以下逻辑:
// 读取当前环境存储的token和过期时间
const currentToken = await insomnia.environment.get('access_token');
const expireAt = await insomnia.environment.get('token_expire_at');
// 无token或者token即将过期时,自动调用获取token的接口
if (!currentToken || Date.now() > expireAt) {
  // 引号里的内容替换为你自己的token请求ID:在token请求的地址栏右侧点三个点,选择「Copy Request ID」即可获取
  await insomnia.sendRequest('req_替换为你的token请求ID');
}
  • 最后给业务请求添加请求头:Authorization,值为Bearer {{access_token}}即可实现自动携带token

内容的提问来源于stack exchange,提问作者user1184777

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:45:01