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

OAuth2.0授权码流含斜杠Scope生成Token遇资源找不到错误

解决AADSTS500011: invalid_resource错误

问题分析

你遇到的AADSTS500011错误,核心原因是Azure AD错误地将api://6ea427d1-d3f6-479c-8cc8-f4cb73278354/portal识别为资源主体,但实际你的资源是api://6ea427d1-d3f6-479c-8cc8-f4cb73278354,scope是portal/aws。这个问题大概率是scope的编码方式导致Azure AD解析错误。

解决方案

1. 调整Scope的编码方式

encodeURIComponent会将斜杠(/)编码为%2F,而Azure AD的v2端点在解析编码后的scope时,可能错误拆分资源和scope路径。你需要替换编码方式:

将代码中的:

"scope=" + encodeURIComponent(scopeName), //api://6ea427d1-d3f6-479c-8cc8-f4cb73278354/portal/aws

改为:

"scope=" + encodeURI(scopeName),

如果你的scope名称中没有空格、&等特殊字符,直接拼接即可:

"scope=" + scopeName,

encodeURI不会编码斜杠、冒号这类URI路径字符,能让Azure AD正确识别完整的scope结构。

2. 验证资源与Scope的配置

确保Azure门户中的配置正确:

  • 定义scope的API应用,其标识符URI为api://6ea427d1-d3f6-479c-8cc8-f4cb73278354(不要带/portal后缀)。
  • 在该API应用的「公开API」页面,已添加portal/aws这个scope,且状态为「已启用」。
  • 发起授权请求的客户端应用,已被授予该scope的权限(或允许用户在授权时自行同意)。

测试修改

调整编码方式后,生成的授权URL中scope参数应为原始的api://6ea427d1-d3f6-479c-8cc8-f4cb73278354/portal/aws(或仅编码了空格等特殊字符),此时Azure AD能正确识别资源主体和完整scope,不会再返回invalid_resource错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 22:33:16