TeamsSSOTokenExchangeMiddleware Класс

Если имя действия — signin/tokenExchange, ПО промежуточного слоя для себя попытается обменять маркер и дедуплицировать входящий вызов, гарантируя обработку только одного запроса обмена.

Инициализирует экземпляр класса .

войдите в обмен маркерами.

Наследование
TeamsSSOTokenExchangeMiddleware

Конструктор

TeamsSSOTokenExchangeMiddleware(storage: Storage, connection_name: str)

Параметры

Имя Описание
storage
Обязательно

Хранилище, используемое для дедупликации.

connection_name
Обязательно

Имя подключения, используемое для отдельного

Комментарии

Если пользователь вошел в несколько клиентов Teams, бот может получить "signin/tokenExchange" от каждого клиента. Каждый запрос на обмен маркерами для определенного имени входа пользователя будет иметь идентичную Activity.Value.Id.

Бот должен обрабатывать только один из этих запросов на обмен маркерами. Остальные возвращают . Для распределенного бота в рабочей среде требуется распределенное хранилище, гарантирующее обработку только одного обмена маркерами. ПО промежуточного слоя self поддерживает хранилище CosmosDb в Microsoft.Bot.Builder.Azure или MemoryStorage для локальной разработки. Реализация ETag IStorage для дедупликации действий обмена маркерами.

Методы

on_turn

on_turn

async on_turn(context: TurnContext, logic: Callable[[TurnContext], Awaitable])

Параметры

Имя Описание
context
Обязательно
logic
Обязательно