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

多租户Azure AD应用添加Dynamics 365 Business Central权限失败排查

问题排查与解决思路

1. 权限范围格式错误

你使用的https://dynamics.microsoft.com/business-central/overview/API.ReadWrite.All并非Dynamics 365 Business Central API的合法权限范围,正确格式分两种场景:

  • 委托权限(用户上下文):格式为https://api.businesscentral.dynamics.com/[具体权限名],例如https://api.businesscentral.dynamics.com/Financials.ReadWrite.All
  • 应用权限(后台服务):必须使用https://api.businesscentral.dynamics.com/.default,且这类权限无法通过用户同意流程申请,需由目标租户管理员手动分配。

2. 权限类型与授权流程不匹配

  • 如果是应用级权限:你当前用的授权码流(通过Authorize端点)不支持申请应用权限,必须让目标租户管理员在Azure门户中找到你的多租户应用,手动添加该权限并授予同意,或通过Graph API调用POST /servicePrincipals/{id}/appRoleAssignments完成权限分配。
  • 如果是委托级权限:先确认该权限是否允许普通用户同意,高敏感委托权限必须由管理员同意,此时你的授权请求必须添加prompt=admin_consent参数,否则不会触发同意提示。

3. 授权请求参数缺失关键项

正确的带管理员同意的授权请求示例如下:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
client_id=123456
&response_type=code
&redirect_uri={你的重定向URI}
&response_mode=query
&scope=openid profile email https://api.businesscentral.dynamics.com/Financials.ReadWrite.All
&prompt=admin_consent

重点:scope需使用正确的权限路径,需要管理员同意时必须携带prompt=admin_consent参数。

4. 源应用注册未配置对应权限

回到你的源租户应用注册页面,确认已在「API权限」模块中添加了Dynamics 365 Business Central的对应权限(委托/应用权限均可),且源租户管理员已点击「授予管理员同意」——多租户应用虽需在目标租户重新同意,但源应用必须先配置好权限,否则目标租户的同意流程无法识别该权限。

5. 权限名称拼写错误

你使用的API.ReadWrite.All并非Business Central的标准权限名称,可在Azure AD应用注册的「添加权限」→「Dynamics 365 Business Central」中查看准确权限名,通常为Financials.ReadWrite.All这类格式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:37:02