Проверка подлинности Azure Ad B2B для получения данных из CRM внешнего пользователя

Мы хотим создать веб-приложение, через которое клиенты Dynamics crm смогут входить в систему. Как только они войдут в систему, мы хотели бы показать им список контактов их экземпляра CRM. Мы внедрили аутентификацию Azure B2B и размещенное приложение, но я не знаю, как получить данные из клиентской crm, вошедшей в систему.

https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/blob/master/2-WebApp-graph-user/2-3-Multi-Tenant/README.md#about-this-sample

Любая помощь приветствуется.


person Anupam Khasia    schedule 24.07.2020    source источник


Ответы (1)


Взгляните на Примеры строки подключения CRM. Вы можете запросить авторизованного пользователя для аутентификации. Он создает новое соединение с Common Data Service с использованием текущего вошедшего в систему пользователя через OAuth.

Я хотел подключиться к CRM для работы с решениями для проекта, поэтому использовал для этого CRM SDK, обратившись к Примеры PowerApps. Мой проект аутентифицирует пользователя с помощью Azure B2B, и я хотел, чтобы тот же пользователь подключился к CRM. Поэтому я использовал на -Из-за потока. Я впервые получил токен доступа после аутентификации пользователя для приложения AD. Затем я использовал этот токен, чтобы получить другой токен с помощью UserAssertion для целевой организации (например, https://org12345.crm.dynamics.com/). Вам нужно будет добавить разрешение Dynamics CRM, подобное этому Регистрация приложения AD. Теперь, когда у меня есть токен для моей целевой организации, я использую его для подключения к CRM следующим образом:

 Uri serviceUrlDestination = new Uri(orgUrl + @"/xrmservices/2011/organization.svc/web?SdkClientVersion=8.2");

 OrganizationWebProxyClient sdkServiceDestination = new OrganizationWebProxyClient(serviceUrlDestination, false);

 sdkServiceDestination.HeaderToken = AccessToken;
            CrmServiceClient serviceClient = new CrmServiceClient(sdkServiceDestination);

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

person Rohan Nevrikar    schedule 25.07.2020