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

如何为Azure API生成Bearer Token?OAuth2获取的Token调用API报错401

解决Azure DevOps API 401 TF401444错误问题

问题背景

你已通过Az CLI获取到可用的Bearer Token,但使用Microsoft OAuth2 API POST请求获取的Token调用Azure DevOps仓库接口 https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=7.0 时,返回401 Unauthorized错误,错误信息:

TF401444: 请至少以 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 身份在网页浏览器中登录一次,以启用对服务的访问权限。

原因分析

这个错误的核心是:你用来获取Token的身份(通常是服务主体)尚未在目标Azure DevOps组织中完成首次交互式验证,或者该身份未被分配访问该组织/项目的必要权限。

解决步骤

  • 完成首次交互式登录
    用错误信息中指定的身份,在浏览器中访问你的Azure DevOps组织地址 https://dev.azure.com/{你的组织},按照页面提示完成登录授权。这一步会在Azure DevOps系统中注册该身份,激活其服务访问权限。

  • 确认Token的权限范围
    检查你请求OAuth2 Token时的scope参数:

    • 如果使用客户端凭证流(Client Credentials Flow),需指定scope=https://dev.azure.com/.default;
    • 如果使用授权码流(Authorization Code Flow),需包含vso.code_read等对应接口所需的权限(比如读取仓库需要vso.code_read)。错误的权限范围会导致Token无法通过接口校验。
  • 检查Azure DevOps权限配置
    登录Azure DevOps组织,进入对应项目的「项目设置」→「权限」,确认该身份(服务主体)已被添加到项目或组织的权限组中,并且拥有「读取仓库」等必要操作权限。

  • 验证Token有效性
    可以将获取到的Token复制到https://jwt.ms解析,检查:

    • aud字段是否为https://dev.azure.com(确保Token受众正确);
    • scp(委托权限)或roles(应用权限)字段是否包含所需的权限标识。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:41:17