Аутентификация веб-API Dynamics CRM 365, получил токен, но я получаю несанкционированный вызов объектов C #.чистое ядро - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь вызвать Dynamics 365 API, используя ядро ​​.net (c #), и я могу заставить его работать для одного клиента (приложения), но при вызове второго я получил токен на предъявителя, но не смог вызвать ни одного изсущности с тех пор, как я получил Unauthorized.

Я использую 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();

Я думаю, что мне не хватает некоторых настроек безопасности, так как под одним и тем же кодом используется другой клиент, чтобы получитьЯ могу получить результаты, но не знаю, в чем причина.

1 Ответ

0 голосов
/ 08 марта 2019

Найдены решение и пропущенный шаг.

Для дальнейшего использования отсутствующим шагом было создание пользователя в Dynamics CRM (не Azure), назначив ему роль (клон от Администратора) и назначив идентификатор приложения из каталога Azure дляэтот пользователь, а затем API работает.

Примечание: пожалуйста, обратитесь к этой статье: http://phuocle.net/crm/dynamics-365-online-s2s-authentication-full-explain.aspx

...