Использование существующего приложения Entra в TeamsFx
В этом разделе содержатся сведения об использовании существующего приложения Microsoft Entra или создании вручную Microsoft Entra приложения для проекта TeamsFx. Следуйте инструкциям и убедитесь, что все необходимые сведения правильно заданы в проекте TeamsFx.
Создание приложения Microsoft Entra
Примечание.
Эту часть можно пропустить, если у вас уже есть приложение Microsoft Entra. Этот шаг можно автоматизировать с помощью aadApp/create
действия .
Перейдите к портал Azure и выберите Microsoft Entra ID.
Выберите Регистрация приложений>Новая регистрация, чтобы создать приложение Microsoft Entra:
- Имя: имя приложения конфигурации.
- Поддерживаемые типы учетных записей. Выберите Учетная запись только в этом каталоге организации.
- Оставьте поле URL-адрес перенаправления пустым.
- Нажмите Зарегистрировать.
Когда приложение зарегистрировано, вы перейдете на страницу обзора приложения. Скопируйте идентификатор приложения (клиента),идентификатор объекта и идентификатор каталога (клиента); он понадобится позже. Убедитесь, что для значения Поддерживаемые типы учетных записей задано значение Только моя организация.
Создание секрета клиента для приложения Microsoft Entra (необязательно)
Примечание.
Эту часть можно пропустить, если приложению не требуется секрет клиента. Этот шаг можно автоматизировать с помощью aadApp/create
действия .
Перейдите на страницу "Сертификаты & секреты " приложения, выберите Секрет клиента и выберите Новый секрет клиента.
- Описание: описание секрета клиента.
- Срок действия: время окончания срока действия секрета клиента.
- Нажмите Добавить.
При добавлении секрета клиента нажмите кнопку копирования в столбце Значение , чтобы скопировать секрет клиента.
Создание доступа в качестве область пользователя для приложения Microsoft Entra (необязательно)
Примечание.
Эту часть можно пропустить, если у вашей учетной записи M365 есть разрешение на обновление приложения Microsoft Entra. Мы создадим для вас область. Этот шаг можно автоматизировать с помощью aadApp/update
действия .
Перейдите на страницу приложения Предоставление API и выберите Добавить область в разделе Области, определенные этим API.
- Нажмите кнопку Сохранить и продолжить.
- Имя области: заполните access_as_user.
- Кто может предоставить согласие? Выберите Администраторы и пользователи.
- Администратор отображаемое имя согласия. Заполните в Teams доступ к веб-API приложения.
- Администратор описание согласия. Заполните поле Позволяет Teams вызывать веб-API приложения в качестве текущего пользователя.
- Отображаемое имя согласия пользователя. Заполните в Teams доступ к веб-API приложения и выполнять запросы от вашего имени.
- Описание согласия пользователя. Заполните поле Разрешить Teams вызывать веб-API этого приложения с теми же правами, что и у вас.
- Состояние: выберите Включено.
- Нажмите Добавить область.
На той же странице выберите Добавить клиентское приложение в разделе Авторизованные клиентские приложения.
- Идентификатор клиента: укажите 1fec8e78-bce4-4aaf-ab1b-5451cc387264 , который является идентификатором клиента для Microsoft Teams на мобильных устройствах и клиентах.
- Авторизованные области. Выберите существующую область access_as_user.
- Нажмите кнопку Добавить приложение.
Еще раз выберите Добавить клиентское приложение.
- Идентификатор клиента: введите 5e3ce6c0-2b1f-4285-8d4b-75ee78787346 , который является идентификатором клиента для Teams в Интернете.
- Авторизованные области. Выберите существующую область access_as_user.
- Нажмите кнопку Добавить приложение.
Перейдите на страницу манифеста приложения и скопируйте идентификаторв поле oauth2Permissions в качестве идентификатора области доступа как пользователя.
Получение необходимых сведений из существующего приложения Microsoft Entra
Примечание.
Вы можете пропустить эту часть, если следуйте инструкциям выше, чтобы создать приложение Microsoft Entra.
Перейдите к портал Azure и выберите Microsoft Entra ID.
Выберите Регистрация приложений и найдите существующее приложение Microsoft Entra.
Перейдите на страницу обзор приложения и скопируйте идентификатор приложения (клиента),идентификатор объекта и идентификатор каталога (клиента). он понадобится позже. Убедитесь, что для значения Поддерживаемые типы учетных записей задано значение Только моя организация.
Перейдите на страницу "Сертификаты & секреты " приложения и нажмите кнопку копирования в столбце Значение , чтобы скопировать секрет клиента.
Примечание.
Если вы не можете скопировать секрет, следуйте инструкциям по созданию секрета клиента.
Перейдите на страницу приложения Предоставление API . Если вы уже добавили access_as_user область в разделе Области, определенные этим API, и предварительно выполните проверку подлинности двух идентификаторов клиента Teams, перейдите на страницу манифеста приложения и скопируйте идентификаторв разделе oauth2Permissions в качестве идентификатора области доступа как области пользователя.
Установка необходимых сведений в проекте TeamsFx
Примечание.
Если вы не используете aadApp/create
действие для создания Microsoft Entra приложения, вы можете добавить необходимые переменные среды с предпочитаемым именем, не следуя приведенным ниже инструкциям.
Откройте
teamsapp.yml
и найдитеaadApp/create
действие.Найдите имена переменных среды, в которые хранятся сведения для Microsoft Entra приложения, в свойстве
writeToEnvironmentFile
. Ниже приведено определение по умолчаниюwriteToenvironmentFile
при создании проектов с помощью набора средств Teams:writeToEnvironmentFile: clientId: AAD_APP_CLIENT_ID clientSecret: SECRET_AAD_APP_CLIENT_SECRET objectId: AAD_APP_OBJECT_ID tenantId: AAD_APP_TENANT_ID authority: AAD_APP_OAUTH_AUTHORITY authorityHost: AAD_APP_OAUTH_AUTHORITY_HOST
Добавьте значения для каждой переменной среды из шага 2.
Добавьте в файл следующие переменные среды и их значения
env\.env.{env}
.AAD_APP_CLIENT_ID=<value of Microsoft Entra application's client id (application id)> # example: 00000000-0000-0000-0000-000000000000 AAD_APP_OBJECT_ID=<value of Microsoft Entra application's object id> # example: 00000000-0000-0000-0000-000000000000 AAD_APP_TENANT_ID=<value of Microsoft Entra's (tenant) id> # example: 00000000-0000-0000-0000-000000000000 AAD_APP_OAUTH_AUTHORITY=<value of Microsoft Entra's authority> # example: https://login.microsoftonline.com/<Directory (tenant) ID> AAD_APP_OAUTH_AUTHORITY_HOST=<host of Microsoft Entra's authority> # example: https://login.microsoftonline.com AAD_APP_ACCESS_AS_USER_PERMISSION_ID=<id of access_as_user permission> # example: 00000000-0000-0000-0000-000000000000
Если приложению требуется секрет клиента приложения Microsoft Entra, добавьте в файл переменную среды ниже и ее значение
env\.env.{env}.user
.SECRET_AAD_APP_CLIENT_SECRET=<value of Microsoft Entra application's client secret>
Примечание.
Не забудьте обновить имена переменных среды в примерах, если вы используете другие имена в
writeToEnvironmentFile
.
Откройте расширение Набора средств Teams и выберите Подготовить в облаке. Дождитесь успешной подготовки проекта.
Отправка манифеста приложения Microsoft Entra в портал Azure
Если Teams Toolkit не удается обновить Microsoft Entra приложение, появится сообщение об ошибке:
Insufficient privileges to complete the operation.
Если вы видите приведенное выше сообщение, обновите разрешение Microsoft Entra приложения и следуйте инструкциям по обновлению разрешения.
Найдите манифест приложения Microsoft Entra в разделе
build/aad.manifest.{env}.json
.Скопируйте содержимое в файл манифеста.
Перейдите к портал Azure и выберите Microsoft Entra ID.
Выберите Регистрация приложений и найдите существующее приложение Microsoft Entra.
Перейдите на страницу манифеста приложения, вставьте содержимое манифеста в редактор и нажмите кнопку Сохранить , чтобы сохранить изменения.
Platform Docs