Каковы последствия установки регистрации приложения на «Учетные записи в любом организационном каталоге» - PullRequest
0 голосов
/ 09 мая 2019

Как часть документации по развертыванию Virtual Assistant , он просит установить регистрацию приложения, чтобы разрешить Accounts in any organizational directory.

Однако, это не описывает последствия этого упущенногонастройка.

  • Например, допустим, мы хотим, чтобы это приложение было доступно только сотрудникам определенной организации.Должны ли мы по-прежнему устанавливать регистрацию приложения на Accounts in any organizational directory, а затем встраивать аутентификацию в бота в другом месте?
  • Что если нам потребуется установить его на Accounts in this organizational directory only.Например, допустим, что вы развертываете это для клиента, а их методы безопасности не позволяют нам вносить это изменение.Как мы можем обойти это?
  • Как это влияет на тестирование с помощью эмулятора бота?Как насчет интерфейса портала Azure?

1 Ответ

1 голос
/ 16 мая 2019

Это было на самом деле предметом обсуждения, который возник на прошлой неделе внутри страны. Размещение ответа здесь, чтобы сообщество могло видеть раньше, прежде чем мы сможем получить официальную документацию MSFT там



Вопрос пользователя

Пользователь создал бота с ручной регистрацией приложения и продолжил получать «Внутренняя ошибка сервера»

"Мы попробовали несколько вещей, чтобы обойти это, и через испытание и Ошибка, которую мы обнаружили, как только мы изменили настройку регистрации приложения для Поддерживаемые типы учетных записей из «Счета в этой организации только каталог »в« Аккаунты в любом каталоге организации », перезапущен приложение, и бот снова начал работать. Я повторил это в моем суб, а также. "



«Счета в любом организационном каталоге» Пояснение

Это необходимо для того, чтобы мы (в боте framework.com) могли запросить токен для бота. Вытащено из связанной темы:

Выпуск

Боты не работают с самого начала из-за ошибки ниже:

[Error] Microsoft.BotBuilderSamples.EchoWithCounterBot: Exception caught : Microsoft.Bot.Connector.Authentication.MicrosoftAppCredentials+OAuthException: Bad Request --->System.Net.Http.HttpRequestException: Response status code does not indicate success: 400 (Bad Request).

at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()

at Microsoft.Bot.Connector.Authentication.MicrosoftAppCredentials.<RefreshTokenAsync>d__36.MoveNext()

Это исключение возникло из-за того, что SDK Bot Framework пытался позвонить клиенту AAD botframework.com для получения токена, и AAD отвечал с ошибкой HTTP 400, указывая на проблему с приложением. учетные данные Дальнейшее устранение неполадок обнаружило приведенную ниже конкретную ошибку от AAD: Приложение с идентификатором «[appID]» не найдено в каталоге «botframework.com».


Context

У регистрации приложения есть три параметра / области действия для того, какие учетные записи могут использовать его:

  1. Учетные записи в текущем организационном каталоге (для вас это будет каталог xxx)
  2. Счета в любом организационном каталоге
  3. Учетные записи в любом каталоге организации и личные учетные записи Microsoft (например, Skype, Outlook.com, Xbox и т. Д.)

Я ссылаюсь на цифры, приведенные выше множество раз ниже.

По умолчанию, позволяя порталу Azure создавать собственную регистрацию приложения во время создания ресурса бота, он делает это с опцией 3 выше. Это верно, если вы выбираете автоматическое создание или нажимаете ссылку во время создания, чтобы вручную создать регистрацию - оба из них создают регистрацию с опцией 3.

Например, при создании бота веб-приложения на портале по умолчанию (внизу) используется следующий параметр:

enter image description here

Вы можете расширить эту часть, чтобы получить это: enter image description here

Если щелкнуть ссылку «Создать идентификатор приложения…», вы попадете на текущий портал регистрации приложений с предварительно заполненным идентификатором и именем приложения.

Оба метода выше создают регистрацию приложения с областью # 3 выше.

Причина

На основании обсуждений с командой AAD и тестирования, которое я провел на ботах и ​​регистрации на прошлой неделе, проблема была вызвана слишком узкой областью регистрации. В вашем случае для регистрации приложений была настроена область # 1, описанная выше, которая ограничивает регистрацию, поэтому ее может использовать только xxx. Поскольку для использования этой регистрации для Bot Framework SDK требуется клиент AAD botframework.com, ему не удалось получить токен.


Разрешение

В качестве теста мы изменили существующую регистрацию с варианта № 1 на вариант № 2, используя блейд регистрации приложений (предварительный просмотр) на портале Azure (в разделе Azure Active Directory). Поскольку этот параметр открывает регистрацию, которая будет использоваться любой организацией AAD, в том числе botframework.com, у Bot SDK не возникло проблем с получением токена, и он сразу же начал работать.


Идем вперед

Так как вашорганизация использует отдельную систему управления / приложение для регистрации приложений, вам нужно убедиться, что регистрации, созданные для использования ботами, создаются с помощью параметра № 2 или № 3 или впоследствии изменяются, если создаются с помощью № 1.Бот не будет работать, гарантированно, если регистрацию может использовать только арендатор xxx, который является вариантом # 1.Существующие регистрации можно изменить на портале Azure:

Портал -> Azure Active Directory -> Регистрации приложений (предварительный просмотр) -> [выберите один] -> Блейд аутентификации

Если вы видите это, тогда регистрация уже ограничена для # 3 и должна быть в порядке: enter image description here

Если вы видите это, то убедитесь, что выбран № 2: * 1097 1098 ** *

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