Partilhar via


TeamsSSOTokenExchangeMiddleware Classe

Definição

Se o nome da atividade for signin/tokenExchange, este middleware tentará trocar o token e deduplicar a chamada recebida, garantindo que apenas um pedido de troca é processado.

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

Observações

Se um utilizador tiver sessão iniciada em vários clientes do Teams, o Bot poderá receber um "signin/tokenExchange" de cada cliente. Cada pedido de troca de tokens para um início de sessão de utilizador específico terá um Activity.Value.Id idêntico.

Apenas um destes pedidos de troca de tokens deve ser processado pelo bot. Os outros devolvem PreconditionFailed. Para um bot distribuído em produção, é necessário um armazenamento distribuído que garanta que apenas uma troca de tokens é processada. Este middleware suporta o armazenamento do CosmosDb encontrado em Microsoft.Bot.Builder.Azure ou MemoryStorage para desenvolvimento local. Implementação de ETag do IStorage para eliminação de duplicados de atividade de troca de tokens.

Construtores

TeamsSSOTokenExchangeMiddleware(IStorage, String)

Inicializa uma nova instância da TeamsSSOTokenExchangeMiddleware classe .

Métodos

OnTurnAsync(ITurnContext, NextDelegate, CancellationToken)

Quando implementado no middleware, processa uma atividade de entrada.

Aplica-se a