Поделиться через


Включение единого входа для универсальных действий адаптивных карточек в боте

Благодаря единому входу в Teams пользователи приложений могут использовать Teams для доступа к универсальным действиям адаптивных карточек в боте. После входа в Teams с помощью учетной записи Microsoft или Microsoft 365 пользователи приложения смогут использовать ваше приложение без необходимости повторного входа. Приложение доступно для пользователей приложения на любом устройстве с доступом, предоставленным через Идентификатор Microsoft Entra.

Дополнительные сведения об универсальных действиях для адаптивных карточек см. в разделе Универсальные действия для адаптивных карточек.

Универсальные действия адаптивных карточек используют бот в качестве общей серверной части для обработки действий и вводят новый тип действия. Bot использует Bot Framework для обработки взаимодействия с пользователями приложения, а также для отправки и получения маркера доступа боту для проверки подлинности единого входа. Аналогичным образом универсальные действия адаптивных карточек также используют Bot Framework для включения проверки подлинности единого входа.

Убедитесь, что вы включили единый вход для бота, прежде чем включать единый вход для универсальных действий адаптивных карточек, .

Единый вход в Teams во время выполнения

Единый вход для универсальных действий адаптивных карточек в боте можно включить, получив маркер доступа для пользователя приложения Teams, который выполнил вход. Этот процесс включает в себя клиент приложения бота и сервер, клиент Teams, Bot Framework и идентификатор Microsoft Entra. Во время этого взаимодействия пользователь приложения должен дать согласие на получение маркера доступа в мультитенантной среде.

На следующем рисунке показано, как работает единый вход, когда пользователь приложения Teams пытается получить доступ к универсальным действиям adaptive cards в боте:

Снимок экрана: поток единого входа для универсальных действий адаптивных карточек в боте.

# Взаимодействие Что происходит?
1 Служба бота → клиента Teams Teams отправляет боту запрос на Action.Execute вызов.
Если пользователь приложения ранее вошел в систему, маркер сохраняется в хранилище токенов Bot Framework. Бот вызывает службу токенов Bot Framework, которая проверяет наличие маркера для пользователя приложения в хранилище токенов Bot Framework.
• Если маркер существует, пользователю приложения предоставляется доступ.
• Если маркер недоступен, бот активирует поток проверки подлинности.
2 Microsoft Entra ID → клиент Teams Для пользователя приложения, который впервые использует универсальные действия адаптивных карточек в боте, обмен маркерами может происходить только после того, как пользователь приложения даст согласие. Клиент Teams отображает пользователю приложения сообщение о предоставлении согласия.
В случае сбоя согласия:
1. Проверка подлинности возвращается к запросу на вход, и пользователь приложения должен войти, чтобы использовать приложение бота. Кнопка входа появится в клиенте Teams, а когда пользователь приложения выберет ее, появится страница входа в Microsoft Entra.
2. Пользователь приложения входит в систему и предоставляет доступ к службе Bot.
3 Служба бота → клиента Teams Клиент Teams повторно отправляет запрос на Action.Execute вызов боту вместе с маркером.
Служба бота отправляет ответ вызова с карточкой OAuth в ответ на adaptiveCard/action вызов вызова. Клиент Teams снова отправляет исходный код adaptiveCard/action боту вместе с маркером.
4 Microsoft Entra ID → клиент Teams Идентификатор Microsoft Entra отправляет ответ вызова с адаптивной карточкой клиенту Teams. Бот возвращает ответ nonerror клиенту Teams с помощью карточки или сообщения.

Для универсальных действий адаптивных карточек в боте приложение бота отправляет карточку OAuth клиенту Teams. Эта карточка используется для получения маркера доступа из Идентификатора Microsoft Entra с помощью tokenExchangeResource. После согласия пользователя приложения клиент Teams отправляет маркер, полученный от идентификатора Microsoft Entra, в приложение бота с помощью tokenExchange. Затем приложение-бот может проанализировать маркер, чтобы получить сведения о пользователе приложения, например адрес электронной почты.

Сценарии использования для включения единого входа

Проверка подлинности для единого Action.Executeвхода в среде включает проверку подлинности в контексте группового чата или беседы канала, в которой предоставляется общий доступ к адаптивной карточке.

Боты могут отвечать запросом на вход в ответ на следующие действия Action.Execute :

  • Адаптивные карточки, отправленные ботом в одном чате, групповом чате или канале.
  • Адаптивные карточки, отправленные пользователем приложения через приложение расширения сообщений (при поддержке бота) в одном чате, групповом чате или канале.
  • Адаптивные карточки, представленные в области создания или предварительного просмотра, пока пользователь приложения создает сообщение. В области создания выполняется обновление в адаптивной карточке, и боту может потребоваться использовать маркер для предоставления пользовательского представления пользователю приложения перед отправкой карточки в чат.

Следующее действие

См. также