首页 > 解决方案 > 我收到以下错误“AADSTS90002 未找到租户授权”。

问题描述

我正在开发一个应用程序以通过 Dynamics 365 的 OAuth 获取数据,使用以下示例执行此操作

https://www.youtube.com/watch?v=Td7Bk3IXJ9s

public static async Task Auth()
{
    string URL = "https://grupolg.api.crm.dynamics.com/api/data/v9.1/";

    AuthenticationParameters API = AuthenticationParameters.CreateFromResourceUrlAsync(new Uri(URL)).Result;

                                                  //APP KEY, SECRET KEY
    ClientCredential Creds = new ClientCredential("hidden for security", "hidden for security"); 


    AuthenticationContext authContext = new AuthenticationContext(API.Authority);
    string token = authContext.AcquireTokenAsync(API.Resource, Creds).Result.AccessToken;

    using (HttpClient httpClient = new HttpClient())
    {
        httpClient.Timeout = new TimeSpan(0,2,0);
        httpClient.DefaultRequestHeaders.Authorization =
                new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer",token);

        HttpResponseMessage res = await httpClient.GetAsync(URL+"/contacts$top=1");
    }
}

但我收到以下错误:

在此处输入图像描述

标签: c#dynamics-crmazure-active-directoryopeniddynamics-365

解决方案


该错误是由您使用的 ADAL 版本以及授权 URL 的生成方式引起的。

如果您将Microsoft.IdentityModel.Clients.ActiveDirectory库版本降级到 3.9.18,您将能够毫无问题地连接。GitHub中有一个未解决的错误,您可以在其中跟踪其进度或评论以添加更多信息以获得最终修复。


推荐阅读