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

Azure DevOps中System.AccessToken缺失kid字段,如何添加?

关于Azure DevOps System.AccessToken包含kid字段的问题

无法直接让Azure DevOps自动生成的System.AccessToken包含kid字段。

Azure DevOps管道默认提供的System.AccessToken是平台预先生成的JWT令牌,其头部结构由Azure DevOps服务端控制,用户或管道配置无法直接修改令牌的头部字段(包括添加kid)。

你提供的令牌头部示例:

{
  "typ": "JWT",
  "alg": "RS256",
  "x5t": "oOvcz5M_7p-HjIKlFXz93u_V0Zo"
}

其中的x5t字段是证书的SHA-1指纹,在部分JWT验证场景中,它可以替代kid(密钥ID)完成密钥匹配。如果你的场景必须要求kid字段,可参考两种替代方案:

  • 自定义生成令牌:在管道中使用Azure AD应用注册,通过OAuth 2.0流程获取包含kid字段的JWT令牌,以此替代System.AccessToken调用Azure DevOps REST API。这种方式需要你管理应用注册的权限,确保令牌拥有足够的API访问权限。

  • 令牌转换:在管道中添加自定义脚本步骤,将System.AccessToken作为输入,生成一个包含kid字段的新JWT令牌(可复用原令牌的声明内容,仅添加头部的kid字段)。不过这种方式需要额外的密钥管理,且新令牌的有效性需自行保证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 03:06:29