TeamsSSOTokenExchangeMiddleware class
Если имя действия — signin/tokenExchange, это ПО промежуточного слоя попытается обменять маркер и дедупликировать входящие вызовы, гарантируя обработку только одного запроса exchange. Если пользователь вошел в несколько клиентов Teams, бот может получить "signin/tokenExchange" от каждого клиента. Каждый запрос на обмен маркерами для определенного имени входа пользователя будет иметь идентичные activity.value.id.
Только один из этих запросов на обмен токенами должен обрабатываться ботом. Остальные возвращают StatusCodes.PRECONDITION_FAILED. Для распределенного бота в рабочей среде это требует распределенного хранилища, гарантирующего обработку только одного обмена маркерами. Это ПО промежуточного слоя поддерживает хранилище CosmosDb, найденное в botbuilder-azure или MemoryStorage для локальной разработки.
Конструкторы
Teams |
Инициализирует новый экземпляр класса TeamsSOTokenExchangeMiddleware. |
Методы
on |
Вызывается каждый раз, когда бот получает новый запрос. |
Сведения о конструкторе
TeamsSSOTokenExchangeMiddleware(Storage, string)
Инициализирует новый экземпляр класса TeamsSOTokenExchangeMiddleware.
new TeamsSSOTokenExchangeMiddleware(storage: Storage, oAuthConnectionName: string)
Параметры
- storage
-
Storage
хранилища
- oAuthConnectionName
-
string
Имя подключения, используемое для обмена маркерами единого входа
Сведения о методе
onTurn(TurnContext, () => Promise<void>)
Вызывается каждый раз, когда бот получает новый запрос.
function onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>
Параметры
- context
-
TurnContext
Контекст для текущего шага беседы с пользователем.
- next
-
() => Promise<void>
Функция для вызова продолжения выполнения на следующем шаге в цепочке ПО промежуточного слоя.
Возвращаемое значение
Promise<void>