Обойти логин в динамике crm - PullRequest
0 голосов
/ 06 июля 2018

В настоящее время я пытаюсь получить данные из Dynamic CRM (Office 365 - E5) с помощью метода запросов Web API, например (api.crm.dynamics.com/api/data/v8.2/accounts? $ выберите = ACCOUNTID, имя, new_gl_exp, new_autol_exp)

Я включу этот API во внешнее приложение (разработано с использованием HTML и Javascript) и размещено в локальном IIS

Я выполнил базовую настройку в CRM и Azure и получил токен после того, как вошел в систему в login.microsoft.com

Вопросы

  1. Как мы можем пройти аутентификацию без ввода имени пользователя и пароля в login.microsoftonline.com

Есть ли способ обойти этот логин (например, передать клиенту, принципу, секретному идентификатору клиента в качестве параметра login.microsoft.com) или любой REST API?

Мы используем отдельный логин для приложения, поэтому нам придется использовать два логина

  1. Вход в приложение
  2. login.microsoft.com для dunamic crm

Спасибо за любую помощь, которую вы можете оказать,

1 Ответ

0 голосов
/ 19 июля 2018

Шаблоны аутентификации Web API Существует три различных способа управления аутентификацией при использовании веб-API.

С JavaScript в веб-ресурсах Когда вы используете Web API с JavaScript в веб-ресурсах HTML, скриптах форм или командах ленты, вам не нужно включать какой-либо код для аутентификации. В каждом из этих случаев пользователь уже аутентифицирован приложением, а аутентификация управляется приложением.

С локальными развертываниями Когда вы используете Web API для локальных развертываний, вы должны указать сетевые учетные данные пользователя. В следующем примере показана функция C #, которая возвращает HttpClient, настроенный для сетевых учетных данных данного пользователя:

private HttpClient getNewHttpClient(string userName,string password,string domainName, string webAPIBaseAddress)
{
    HttpClient client = new HttpClient(new HttpClientHandler() { Credentials = new NetworkCredential(userName, password, domainName) });
    client.BaseAddress = new Uri(webAPIBaseAddress);
    client.Timeout = new TimeSpan(0, 2, 0);
    return client;
}

При использовании Microsoft Dynamics 365 (в Интернете) или развертываний в Интернете При использовании веб-API для Dynamics 365 (онлайн) или локального развертывания с выходом в Интернет (IFD) необходимо использовать OAuth, как описано в разделе Подключение к веб-службам Microsoft Dynamics 365 с использованием OAuth.

Если вы создаете одностраничное приложение (SPA) с использованием JavaScript, вы можете использовать библиотеку adal.js, как описано в разделе Использование OAuth с перекрестным общим доступом к ресурсам, чтобы подключить одностраничное приложение к Microsoft Dynamics 365.

https://msdn.microsoft.com/en-us/library/mt595798.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...