Compartilhar via


TeamsSSOTokenExchangeMiddleware Classe

Definição

Se o nome da atividade for signin/tokenExchange, esse middleware tentará trocar o token e elimina a duplicação da chamada de entrada, garantindo que apenas uma solicitação de troca seja processada.

public class TeamsSSOTokenExchangeMiddleware : Microsoft.Bot.Builder.IMiddleware
type TeamsSSOTokenExchangeMiddleware = class
    interface IMiddleware
Public Class TeamsSSOTokenExchangeMiddleware
Implements IMiddleware
Herança
TeamsSSOTokenExchangeMiddleware
Implementações

Comentários

Se um usuário estiver conectado a vários clientes do Teams, o Bot poderá receber um "signin/tokenExchange" de cada cliente. Cada solicitação de troca de token para um logon de usuário específico terá uma Activity.Value.Id idêntica.

Apenas uma dessas solicitações de troca de tokens deve ser processada pelo bot. Os outros retornam PreconditionFailed. Para um bot distribuído em produção, isso requer um armazenamento distribuído, garantindo que apenas uma troca de tokens seja processada. Esse middleware dá suporte ao armazenamento do CosmosDb encontrado em Microsoft.Bot.Builder.Azure ou MemoryStorage para desenvolvimento local. Implementação de ETag do IStorage para eliminação de duplicação da atividade de troca de tokens.

Construtores

TeamsSSOTokenExchangeMiddleware(IStorage, String)

Inicializa uma nova instância da classe TeamsSSOTokenExchangeMiddleware.

Métodos

OnTurnAsync(ITurnContext, NextDelegate, CancellationToken)

Quando implementado no middleware, processa uma atividade de entrada.

Aplica-se a