dynamics crm 365 web api 身份验证,获得了令牌,但我得到了对实体 C# 的未授权调用。网核
dynamics crm 365 web api authentication, got token but i get Unauthorized call to entities C# . net core
我正在尝试使用 .net 核心 (c#) 调用 Dynamics 365 api 并且我能够让它为一个 clientid (app) 工作但是当调用第二个时我得到了不记名令牌但是自从我获得未经授权后无法调用任何实体。
我正在使用Microsoft.IdentityModel.Clients.ActiveDirectory
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //
var result = httpClient.GetAsync("Dynamics URL witl Version and Entity name goes here").Result;
var JSON = await result.Content.ReadAsStringAsync();
我想我必须缺少一些安全设置,因为在相同的代码下使用不同的 clientid 来获取令牌我能够得到结果但不确定是什么原因。
找到解决方案并缺少步骤。
为了将来参考,缺少的步骤是在 Dynamics CRM(不是 azure)上创建一个用户,分配一个角色(来自管理员的 crlone)并将 Azure 目录中的应用程序 ID 分配给该用户,然后 API 工作.
注:请参考这篇文章:
http://phuocle.net/crm/dynamics-365-online-s2s-authentication-full-explain.aspx
我正在尝试使用 .net 核心 (c#) 调用 Dynamics 365 api 并且我能够让它为一个 clientid (app) 工作但是当调用第二个时我得到了不记名令牌但是自从我获得未经授权后无法调用任何实体。
我正在使用Microsoft.IdentityModel.Clients.ActiveDirectory
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //
var result = httpClient.GetAsync("Dynamics URL witl Version and Entity name goes here").Result;
var JSON = await result.Content.ReadAsStringAsync();
我想我必须缺少一些安全设置,因为在相同的代码下使用不同的 clientid 来获取令牌我能够得到结果但不确定是什么原因。
找到解决方案并缺少步骤。
为了将来参考,缺少的步骤是在 Dynamics CRM(不是 azure)上创建一个用户,分配一个角色(来自管理员的 crlone)并将 Azure 目录中的应用程序 ID 分配给该用户,然后 API 工作.
注:请参考这篇文章: http://phuocle.net/crm/dynamics-365-online-s2s-authentication-full-explain.aspx