TeamsSSOTokenExchangeMiddleware class
如果活动名称为 signin/tokenExchange,则此中间件将尝试交换令牌,并删除传入调用,确保只处理一个交换请求。 如果用户登录到多个 Teams 客户端,机器人可能会从每个客户端接收“signin/tokenExchange”。 特定用户登录的每个令牌交换请求将具有相同的 activity.value.id。
机器人只应处理其中一个令牌交换请求。 其他人返回 StatusCodes.PRECONDITION_FAILED。 对于生产中的分布式机器人,这需要分布式存储,确保只处理一个令牌交换。 此中间件支持在 botbuilder-azure 或 MemoryStorage 中找到用于本地开发的 CosmosDb 存储。
构造函数
Teams |
初始化 TeamsSSOTokenExchangeMiddleware 类的新实例。 |
方法
on |
每次机器人收到新请求时调用。 |
构造函数详细信息
TeamsSSOTokenExchangeMiddleware(Storage, string)
初始化 TeamsSSOTokenExchangeMiddleware 类的新实例。
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>