Мультитенантная межсерверная аутентификация - вопрос согласия пользователя - PullRequest
0 голосов
/ 20 ноября 2018

Я выполнил это пошаговое руководство по созданию многопользовательского веб-приложения, которое может подключаться к Dynamics 365 CE Online. Пошаговое руководство: мультитенантная межсерверная аутентификация .

Когда я впервые запустил приложение и попытался войти в Dynamics CRM, оно попросило меня дать согласие, которое я принял.И затем он вернул следующую ошибку:

Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException HResult = 0x80131500 Сообщение = AADSTS65001: Пользователь или администратор не дал согласие на использование приложения с идентификатором «XXX» с именем «MvcCrmStsWalkthrough».Отправьте интерактивный запрос авторизации для этого пользователя и ресурса.

Для последующих попыток он не запрашивал согласия.Однако продолжал возвращать вышеупомянутую ошибку.

Что я использовал для этого POC

  • Онлайн-версия Dynamics CRM
  • Служба Azure Active Directory, которая была включена по умолчанию спробной версии CRM и было достаточно для регистрации приложения в Azure AD
  • выпуск сообщества Visual Studio 2017

Что я пробовал до сих пор

  • В AzureAD Я уже предоставил разрешение с помощью кнопки «Предоставить разрешение» в зарегистрированном приложении. Параметры> Требуемые разрешения (похоже, принятие согласия пользователя через мое настраиваемое приложение делает то же самое)
  • Установка для oauth2AllowImplicitFlow значения true в манифесте приложения Azure AD
  • Я проверил, что учетная запись O365, которую я использую для входа в приложение, имеет роль каталога глобального администратора в AD

Пример кода

Точно так жекак упомянуто в пошаговом руководстве

...