Compartilhar via


TeamsSSOTokenExchangeMiddleware class

Se o nome da atividade for signin/tokenExchange, esse middleware tentará trocar o token e deduplicar a chamada de entrada, garantindo que apenas uma solicitação de troca seja processada. Se um usuário estiver conectado a vários clientes do Teams, o Bot poderá receber uma "conexão/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 StatusCodes.PRECONDITION_FAILED. Para um bot distribuído em produção, isso requer armazenamento distribuído garantindo que apenas uma troca de tokens seja processada. Esse middleware dá suporte ao armazenamento do CosmosDb encontrado no botbuilder-azure ou no MemoryStorage para desenvolvimento local.

Construtores

TeamsSSOTokenExchangeMiddleware(Storage, string)

Inicializa uma nova instância da classe TeamsSSOTokenExchangeMiddleware.

Métodos

onTurn(TurnContext, () => Promise<void>)

Chamado sempre que o bot recebe uma nova solicitação.

Detalhes do construtor

TeamsSSOTokenExchangeMiddleware(Storage, string)

Inicializa uma nova instância da classe TeamsSSOTokenExchangeMiddleware.

new TeamsSSOTokenExchangeMiddleware(storage: Storage, oAuthConnectionName: string)

Parâmetros

storage

Storage

O de Armazenamento do a ser usado para eliminação de duplicação

oAuthConnectionName

string

O nome da conexão a ser usado para a troca de token de logon único

Detalhes do método

onTurn(TurnContext, () => Promise<void>)

Chamado sempre que o bot recebe uma nova solicitação.

function onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>

Parâmetros

context

TurnContext

Contexto para a virada atual da conversa com o usuário.

next

() => Promise<void>

Função a ser chamada para continuar a execução para a próxima etapa na cadeia de middleware.

Retornos

Promise<void>