共用方式為


TeamsSSOTokenExchangeMiddleware class

如果活動名稱為 signin/tokenExchange,此中間件會嘗試交換令牌,並重複數據刪除傳入呼叫,確保只會處理一個交換要求。 如果使用者登入多個 Teams 用戶端,Bot 可能會收到來自每個用戶端的“signin/tokenExchange”。 特定使用者登入的每個令牌交換要求都會有相同的 activity.value.id。

Bot 應該只處理其中一個令牌交換要求。 其他人會傳回 StatusCodes.PRECONDITION_FAILED。 針對生產中的分散式 Bot,這需要分散式記憶體,確保只會處理一個令牌交換。 此中間件支援 Botbuilder-azure 中找到的 CosmosDb 記憶體,或用於本機開發的 MemoryStorage。

建構函式

TeamsSSOTokenExchangeMiddleware(Storage, string)

初始化 TeamsSSOTokenExchangeMiddleware 類別的新實例。

方法

onTurn(TurnContext, () => Promise<void>)

每次 Bot 收到新要求時呼叫。

建構函式詳細資料

TeamsSSOTokenExchangeMiddleware(Storage, string)

初始化 TeamsSSOTokenExchangeMiddleware 類別的新實例。

new TeamsSSOTokenExchangeMiddleware(storage: Storage, oAuthConnectionName: string)

參數

storage

Storage

要用於重複資料刪除的 記憶體

oAuthConnectionName

string

用於單一登錄令牌交換的連接名稱

方法詳細資料

onTurn(TurnContext, () => Promise<void>)

每次 Bot 收到新要求時呼叫。

function onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>

參數

context

TurnContext

目前與使用者交談回合的內容。

next

() => Promise<void>

要呼叫 的函式,以繼續執行中間件鏈結中的下一個步驟。

傳回

Promise<void>