TeamsSSOTokenExchangeMiddleware class
如果活動名稱為 signin/tokenExchange,此中間件會嘗試交換令牌,並重複數據刪除傳入呼叫,確保只會處理一個交換要求。 如果使用者登入多個 Teams 用戶端,Bot 可能會收到來自每個用戶端的“signin/tokenExchange”。 特定使用者登入的每個令牌交換要求都會有相同的 activity.value.id。
Bot 應該只處理其中一個令牌交換要求。 其他人會傳回 StatusCodes.PRECONDITION_FAILED。 針對生產中的分散式 Bot,這需要分散式記憶體,確保只會處理一個令牌交換。 此中間件支援 Botbuilder-azure 中找到的 CosmosDb 記憶體,或用於本機開發的 MemoryStorage。
建構函式
Teams |
初始化 TeamsSSOTokenExchangeMiddleware 類別的新實例。 |
方法
on |
每次 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>