Я работаю над приложением, где мне нужно продолжать разговор с некоторыми из API Dynamics CRM в фоновых заданиях (каждые несколько минут для загрузки обновленного контента).Приложение демона Dynamics CRM с сертификатом утверждения клиента (Azure AD) дает 401
Поскольку аутентификация ADAL с учетными данными пользователя (разрешениями приложений) безупречно используется с API-интерфейсами CRM, у меня создалось впечатление, что я получу ее работу с учетными данными Certificate Assertion Certificate.
код выглядит примерно так -
var certCred = new ClientAssertionCertificate(clientId, cert);
var result = await authContext.AcquireTokenAsync("https://<tenant_name>.crm4.dynamics.com/", certCred);
Это работает, и я могу получить маркер доступа. Однако, поскольку это полномочия делегата, я не могу выполнить авторизацию для доступа к веб-приложениям CRM.
Возможно, я использую учетную запись service/daemon для выполнения фоновых задач, но я хотел бы сделать это больше в пути подтверждения утверждения клиента. Кто-нибудь нашел решение таких сценариев? Поддерживает ли CRM WebAPI разрешения делегирования?
Есть ли другой способ сделать это?
Правильно, так что будет идеальным способом создания службы демона? –
Чтобы использовать веб-API Dynamics CRM в службе демона, мы можем аутентифицироваться с потоком паролей. Более подробно вы можете обратиться [здесь] (https://msdn.microsoft.com/en-us/library/hh675404.aspx) –
Для службы Deamon, возможно, ответ на мой вопрос может помочь вам: http://stackoverflow.com/вопросы/37454539/с помощью-Adal-с-острый, как конфиденциальный пользователь-демон-сервер-сервер-сервер-401-U – IntegerWolf