TeamsSSOTokenExchangeMiddleware Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |