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

Azure DevOps OAuth2遇Invalid scope错误,如何正确设置Scope?

解决Azure DevOps OAuth访问权限invalid_scope错误方案

核心问题

你使用的Scope格式不符合Azure DevOps OAuth授权的规范,https://app.vssps.visualstudio.com/.work这种写法是错误的,需要根据你采用的授权流程调整为正确格式。

正确的Scope配置方案

1. 使用Azure DevOps原生OAuth 2.0流程

如果直接走Azure DevOps自己的授权体系,Scope需用短权限名称,不需要添加完整URL前缀:

  • 单个权限:vso.work、vso.profile
  • 多个权限:用空格分隔,URL编码后转为%20,例如vso.work%20vso.profile

示例授权请求URL:

https://app.vssps.visualstudio.com/oauth2/authorize?
client_id={你的客户端ID}
&response_type=code
&redirect_uri={你的回调地址}
&scope=vso.work%20vso.profile
&state={随机状态值}

2. 使用Microsoft Entra ID OAuth 2.0流程

如果通过Entra ID应用注册来访问Azure DevOps,需对应以下规则:

  • Scope格式为https://dev.azure.com/{你的组织名称}/_apis/.default(该格式会自动包含你在应用注册中配置的所有Azure DevOps委托权限)
  • 确保在Entra ID应用注册中,已添加Azure DevOps的委托权限(vso.work、vso.profile),且已完成「授予管理员同意」(若需跳过用户授权环节)

示例授权请求URL:

https://login.microsoftonline.com/{你的租户ID}/oauth2/v2.0/authorize?
client_id={你的客户端ID}
&response_type=code
&redirect_uri={你的回调地址}
&scope=https://dev.azure.com/{你的组织名称}/_apis/.default
&state={随机状态值}

额外检查项

  • 不要在Scope中添加多余后缀(比如.work),这类写法不属于Azure DevOps的权限命名规范
  • 确保URL编码正确,多个Scope间的空格必须编码为%20
  • 若使用Entra ID流程,确认授权端点是对应租户的login.microsoftonline.com地址,而非Azure DevOps原生端点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 16:39:53