1

我们开始使用 DYN365O Update 3 后不久就开始遇到这个问题。我们的代码工作了一段时间,然后在一月中旬的一天停止工作。我们有一张进入微软的票,但希望有人找到解决方法。当我们的代码尝试连接时会发生以下错误:

响应代码 (1004) {"error":"AADSTS65001: 用户或管理员未同意使用 ID 为 '' 的应用程序。为此用户和资源发送交互式授权请求。\r\n跟踪 ID: d1775f71-ac60- 4d12-ace5-39b52452a5c7\r\n相关 ID:38e3b5c6-52c2-4ea9-9ad1-67230e246b40\r\n时间戳:2017-01-29 21:42:43Z"}

我能够使用此处的代码 ( https://github.com/Microsoft/Dynamics-AX-Integration ) 来重现问题。以下是相关部分:

    string aadTenant = ClientConfiguration.Default.ActiveDirectoryTenant;
    string aadClientAppId = ClientConfiguration.Default.ActiveDirectoryClientAppId;
    string aadResource = ClientConfiguration.Default.ActiveDirectoryResource;

    AuthenticationContext authenticationContext = new AuthenticationContext(aadTenant);

    // OAuth through username and password.
    string username = ClientConfiguration.Default.UserName;
    string password = ClientConfiguration.Default.Password;

    // Get token object
    var userCredential = new UserPasswordCredential(username, password);
    AuthenticationResult authenticationResult = authenticationContext.AcquireTokenAsync(
    aadResource,
    aadClientAppId,
    userCredential).Result;
  1. 当指向我们的更新 2(8 月更新)DYN365O 实例时,一切正常。
  2. 将 URI 更改为指向 Update3 我们开始看到这些错误。

我已经搜索了互联网,我已经完成了所有建议,包括:

  1. 在 Azure 应用程序的清单中设置 oauth2AllowImplicitFlow = true。
  2. 在 AAD 中应用程序的权限下,我使用了授予权限来“授予目录中所有帐户的权限”。
  3. 更改对 AcquireTokenAsync 的调用以包含“prompt=admin_consent”。我看到了提示屏幕,但即使在输入 AAD 管理员用户名/密码后,我也会收到同样的错误。
  4. 尝试其他用户 3。
  5. 验证 DYN365O 中的用户(在系统管理 >> 用户下)在我们的 Update2 和 Update3 实例中是相同的,并且是系统管理员。
4

0 回答 0