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


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

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

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

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

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

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

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

На следующем рисунке показано, как работает единый вход, когда пользователь приложения 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 ID отправляет ответ вызова с адаптивной карточкой клиенту Teams. Бот возвращает ответ nonerror клиенту Teams, используя карта или сообщение.

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

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

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

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

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

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

См. также