You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

能否使用用户名和密码而非PAT调用Azure DevOps Services的RestAPI?及替代方案咨询

能否使用用户名和密码组合调用Azure DevOps Services的REST API?

简短回答:不能

Azure DevOps Services早已不再支持通过「用户名+密码」的组合,以Basic Auth方式调用其REST API,这就是你代码执行后返回401未授权错误的核心原因。官方目前仅认可个人访问令牌(PAT)、Azure AD OAuth令牌这类身份验证方式,用户名密码的验证逻辑已经被废弃。

关于你提供的代码问题

你尝试将用户名和密码编码后添加Authorization: Basic请求头的方式,现在完全无法通过Azure DevOps的身份校验,自然会返回401错误。

无需注册应用的替代方案

如果你不想在租户中注册应用,这里有两个可行的方向:

  • 使用PAT(最推荐):你可以直接在Azure DevOps门户生成一个权限匹配需求的PAT,然后将PAT作为用户名、密码留空进行Base64编码,或者直接构造请求头:Authorization: Basic <Base64编码的"PAT:">(注意PAT后面必须跟冒号)
  • 利用当前登录会话的令牌:如果你的运行环境已经登录了Azure DevOps(比如本地机器登录了Azure DevOps CLI、Visual Studio等),可以尝试获取当前会话的令牌来调用API,但这种方式依赖特定环境,通用性不如PAT。

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

火山引擎 最新活动