使用az rest访问部分Azure DevOps组织返回203,AAD认证异常求助
Azure CLI az rest访问特定Azure DevOps组织返回203重定向的解决方案
问题描述
- 通过Azure CLI的AAD/Entra认证登录Azure DevOps后,针对多数组织执行以下
az rest命令可正常获取结果:
az rest --resource '499b84ac-1321-427f-aa17-267ca6975798' --url https://dev.azure.com/myorganization/_apis/myproject?api-version=7.1
- 但针对某一个组织执行该命令时,返回203重定向及Azure DevOps登录页面HTML内容,附带提示:
Not a json response, outputting to stdout. For binary data suggest use "--output-file" to write to file - 已添加
--debug参数排查未定位原因,但执行az repos list命令针对该组织可正常运行
解决方法
1. 修正API URL路径
示例中的_apis/myproject存在路径错误,Azure DevOps项目列表的正确API路径为复数形式_apis/projects,修正后的命令:
az rest --resource '499b84ac-1321-427f-aa17-267ca6975798' --url https://dev.azure.com/[目标组织名]/_apis/projects?api-version=7.1
2. 重置DevOps组织上下文
az rest与az repos list可能使用不同的上下文配置,重新指定目标组织的默认上下文:
az devops configure --defaults organization=https://dev.azure.com/[目标组织名]
设置完成后重新执行az rest命令。
3. 验证并刷新AAD访问令牌
检查当前AAD令牌是否有权限访问目标组织:
az account get-access-token --resource '499b84ac-1321-427f-aa17-267ca6975798'
将返回的accessToken用于手动调用API(如curl),若仍返回重定向,重新登录Azure CLI刷新令牌:
az login
4. 检查组织安全策略
确认当前机器IP在目标组织的允许访问列表内,且满足组织的AAD条件访问要求(如MFA已验证、设备合规等)。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

