Я пытаюсь пройти аутентификацию в нашей онлайн-версии Dynamics CRM, чтобы использовать доступные API.
Единственная официальная документация по выполнению этого, которую я могу найти, это: https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/connect-customer-engagement-web-services-using-oauth при этом используется 'AquireToken', которого больше нет в ADAL V3, с заменой на 'AcquireTokenAsync'.
Это мой первый раз, когда я имею дело с ADAL и пытаюсь пройти аутентификацию, ранее только имея дело с пользовательскими API HttpWebRequest.
В настоящее время я просто пытаюсь запустить код без каких-либо ошибок, используя то, что находится на docs.microsoft.com. Я попытался изменить 'AcquireToken' на 'AcquireTokenAsync'.
public void authenticateToCRM()
{
// TODO Substitute your correct CRM root service address,
string resource = "https://qqqqqqqqq.crm4.dynamics.com";
// TODO Substitute your app registration values that can be obtained after you
// register the app in Active Directory on the Microsoft Azure portal.
string clientId = "******-****-*******-*****-****";
string redirectUrl = "https://qqqqqqqqq.azurewebsites.net";
// Authenticate the registered application with Azure Active Directory.
AuthenticationContext authContext = new AuthenticationContext("https://login.windows.net/common", false);
AuthenticationResult result = authContext.AcquireTokenAsync(resource, clientId, new Uri(redirectUrl));
}
Это приводит к ошибке для строковой переменной 'clientId' в 'AcquireToken', ошибка заключается в ...
"Аргумент 2: невозможно преобразовать из" строки "в" Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredentials "
и ошибка 3-й переменной 'new Uri (redirectUrl)', из ...
" Аргумент 3: невозможно преобразовать из 'System.Uri 'to' Microsoft.IdentityModel.Clients.ActiveDirectory.UserAssertion "
При просмотре документации для класса 'AuthenticationContext' и использовании 'AcquireTokenAsync' многие имеют строку в качестве второго аргумента: https://docs.microsoft.com/en-us/dotnet/api/microsoft.identitymodel.clients.activedirectory.authenticationcontext?view=azure-dotnet
Я не знаю, как перевести использование для аутентификации с помощью 'AcquireToken', показанного в документах MS, для использования с 'AcquireTokenAsync'