打电话给客服结果401 Unauthorized

Calling customer service results in 401 Unauthorized

我们正在尝试连接到自定义 Dynamics 365 Finance 服务操作,但正在努力授权。

我们已经设置了应用程序注册

我们在 Dynamics 365 环境中添加了具有系统管理员角色的用户的应用程序(客户端 ID) 我们可以通过 Postman 和 .NET 成功检索访问令牌 (Microsoft.IdentityModel.Clients.ActiveDirectory) 我们试图达到 https://xxxxxxdevaossoap.cloudax.dynamics.com &https://xxxxxxdevaos.cloudax.dynamics.com

然而,当我们调用自定义服务时,我们得到一个 401 UnAuthorized 出于同样的原因,对 Odata 的调用也会失败。

在您的 OAuth 令牌请求中验证 resource(并在 https://jwt.ioaud(受众)字段验证令牌)。 它应该与您的主要 url 相同,末尾没有 /(如 https://d365fo-10-12345678baef10230aos.cloudax.dynamics.com)。

同时验证 Azure Active Directory 应用程序 (mi=SysAADClientTable) Client Id 等于 appid 字段在令牌中(并且没有任何特殊字符)。

您可以随时检查 Windows 事件日志 Microsoft-Dynamics-AX-WebApi/Operational 有这样的好资料:

Source:      Microsoft-Dynamics-AX-WebApi
Category:    WebApiOwinConfigurationMissingError
Level:       Error
Description: Web API Owin Authentication Configuration Missing Error
infoMessage: Can read the token but failed validating token with exception 
'IDX10214: Audience validation failed. 
Audiences: 'https://d365fo-10-12345678baef10230aos.cloudax.dynamics.com/'. 
Did not match:  validationParameters.
ValidAudience: 'null' or validationParameters.ValidAudiences:
 'https://d365fo-10-12345678baef10230aos.cloudax.dynamics.com,
 00000015-0000-0000-c000-000000000000,
 Microsoft.ERP''