TeamsSSOTokenExchangeMiddleware 类

定义

如果活动名称为 signin/tokenExchange,则此中间件将尝试交换令牌,并删除传入调用的重复数据,确保仅处理一个交换请求。

public class TeamsSSOTokenExchangeMiddleware : Microsoft.Bot.Builder.IMiddleware
type TeamsSSOTokenExchangeMiddleware = class
    interface IMiddleware
Public Class TeamsSSOTokenExchangeMiddleware
Implements IMiddleware
继承
TeamsSSOTokenExchangeMiddleware
实现

注解

如果用户登录到多个 Teams 客户端,机器人可能会从每个客户端接收“signin/tokenExchange”。 特定用户登录的每个令牌交换请求将具有相同 Activity.Value.Id。

机器人只能处理其中一个令牌交换请求。 另一个返回 PreconditionFailed。 对于生产中的分布式机器人,这需要分布式存储,确保只处理一个令牌交换。 此中间件支持 Microsoft.Bot.Builder.Azure 中的 CosmosDb 存储,或用于本地开发的 MemoryStorage。 用于令牌交换活动重复删除的 IStorage 的 ETag 实现。

构造函数

TeamsSSOTokenExchangeMiddleware(IStorage, String)

初始化 TeamsSSOTokenExchangeMiddleware 类的新实例。

方法

OnTurnAsync(ITurnContext, NextDelegate, CancellationToken)

在中间件中实现时,处理传入活动。

适用于