如何解决Azure AD中AADSTS7000113委托调用权限错误?
解决AADSTS7000113错误:应用未被授权进行On-Behalf-Of调用
AADSTS7000113错误的核心原因是你的应用没有获得代表用户发起On-Behalf-Of(OBO)调用的委派权限,添加用户到“用户和组”或“所有者”列表无法解决这个问题,以下是具体修复步骤:
1. 配置正确的委派权限
- 登录Azure门户,找到目标应用注册,进入API权限页面。
- 点击添加权限,选择你需要调用的下游API(比如Microsoft Graph或自定义API)。
- 选择委派权限,勾选业务所需的具体权限(例如
User.Read、Mail.Read等,根据下游API要求)。 - 若要让租户内所有用户无需手动授权即可使用,点击授予管理员同意(需Azure AD管理员权限);若仅针对单个用户,用户首次使用应用时会触发授权弹窗。
2. 验证身份验证设置
- 进入应用注册的身份验证页面,在对应平台(如Web应用)的配置中,确保已勾选ID令牌和访问令牌(OBO流程需要这两种令牌支持)。
- 确认重定向URI配置正确,与应用实际使用的地址一致。
3. 自定义API额外配置(若调用自定义API)
如果下游是你开发的自定义API,还需要在自定义API的应用注册中:
- 进入公开API页面,点击添加范围,定义API的访问范围。
- 回到中间层应用的API权限页面,添加该自定义API的委派权限并完成同意操作。
关键误区说明
- 添加用户到“用户和组”仅控制用户能否访问该应用,与OBO调用权限无关;添加“所有者”仅赋予应用管理权限,不影响OBO流程。
- OBO流程的核心是中间层应用拥有下游API的委派权限,且该权限已通过管理员或用户完成授权。
内容的提问来源于stack exchange,提问作者Devin
相关产品推荐
相关产品推荐

