Не удается подготовить приложение для команд из-за конфликта доменов хранения

#microsoft-teams #teams-toolkit

Вопрос:

Мы создали вкладку «Команды», используя набор инструментов «Команды». При попытке предоставления услуг в облаке я вижу следующую ошибку:

[Error] - Failed to update Application ID URI in Azure Active Directory. Please refer to the help link for further steps., Request failed with status code 500 Detailed error: Request failed with status code 500. Reason: Values of identifierUris property must use a verified domain of the organization or its subdomain: '{storageName}.z13.web.core.windows.net

Я устанавливаю URI идентификатора приложения в https://{tenant}.onmicrosoft.com/{appId}

В azure есть хранилище с {storageName}.z13.web.core.windows.net .

Когда я нажимаю «Подготовка в облаке», процесс пытается изменить URI идентификатора приложения на api://{storageName}.z13.web.core.window.net/{appId} .

Попытка изменить URI идентификатора приложения на портале azure api://{storageName}.z13.web.core.window.net/{appId} приводит к той же ошибке, что и в процессе подготовки.

Должен ли я не использовать предоставленное место хранения для предоставления приложения?

Есть ли способ создать хранилище по адресу https://{tenant}.onmicrosoft.com/{appId} ?

Комментарии:

1. Как вы проводите подготовку в облаке? Вы используете шаблон ARM для создания ресурсов? Если да, вы можете обратиться к приведенному ниже шаблону ARM: github.com/OfficeDev/microsoft-teams-apps-faqplus/blob/master/…

2. Также похоже, что вы используете неправильный формат для URI идентификатора приложения. Это должно быть похоже на следующее: api://домен приложений/{BotID} Пример: api://newhireonbxxx.azuredfd.net/c6c1f32b-xxxx-49xx-xxxx-753cc1d563b7

3. Я использую расширение набора инструментов команд Visual Studio Code и нажимаю опцию «Предоставление в облаке» в разделе «Развертывание». Ботида нет. Идентификатор, который я использую, — это идентификатор приложения Azure.

4. Идентификаторы-это определяемые пользователем URI(ы), которые однозначно идентифицируют веб-приложение в его клиенте Azure AD или в проверенном пользовательском домене, если приложение является многопользовательским. Не могли бы вы уточнить, находится ли идентификатор для приложения в арендаторе? Пожалуйста, обратитесь к этому вопросу ниже, он находится в аналогичной строке: github.com/MicrosoftDocs/windows-uwp/issues/1717

Ответ №1:

Вы можете следовать документу, чтобы настроить CDN для вашего приложения.

Затем на этапе подготовки Teams Toolkit использует ваш домен CDN для URI идентификатора приложения: api://{cdnName}.azureedge.net/{appId} , что должно решить вашу проблему.

Более того, вы можете добавить пользовательский домен в свой CDN, если домен CDN также считается непроверенным доменом. Как добавить пользовательский домен в конечную точку CDN

Комментарии:

1. Спасибо! Это заняло на несколько шагов больше, чем та помощь, которую я имел в виду, но привело меня на правильный путь.

Ответ №2:

Я разработчик Teams Toolkit в Microsoft, спасибо, что попробовали наш новый инструментарий. Эта ошибка может быть вызвана тем, что приложение Azure AD настроено на мультитенант в разделе «Поддерживаемые типы учетных записей».

В настоящее время мультитенантное приложение Azure AD не поддерживается. Вы можете выполнить следующие действия, чтобы переключить приложение Azure AD на синглетную версию.

  1. Откройте Azure Protal (https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps)
  2. Нажмите «Регистрация приложений» и найдите свое приложение
  3. Нажмите «Аутентификация» и выберите SingleTenant в разделе «Поддерживаемые типы учетных записей».

Комментарии:

1. Почему вкладка «Команды» не может быть многопользовательской? Как мы можем развернуть приложение, которое будет использоваться кем-либо в командах в качестве однопользовательского?

2. Приложение Azure AD не разрешает конечную точку хранилища в качестве Uri идентификатора приложения. Если вам нужна поддержка мультитенантности, вы можете воспользоваться решением Zhijie, представленным выше. Спасибо!