Condividi tramite


TeamsSSOTokenExchangeMiddleware class

Se il nome dell'attività è signin/tokenExchange, questo middleware tenterà di scambiare il token e deduplicare la chiamata in ingresso, assicurando che venga elaborata una sola richiesta di scambio. Se un utente ha eseguito l'accesso a più client Teams, il bot potrebbe ricevere un "signin/tokenExchange" da ogni client. Ogni richiesta di scambio di token per un account di accesso utente specifico avrà un activity.value.id identico.

Solo una di queste richieste di scambio di token deve essere elaborata dal bot. Gli altri restituiscono StatusCodes.PRECONDITION_FAILED. Per un bot distribuito nell'ambiente di produzione, è necessario che l'archiviazione distribuita garantisca l'elaborazione di un solo scambio di token. Questo middleware supporta l'archiviazione di CosmosDb disponibile in botbuilder-azure o MemoryStorage per lo sviluppo locale.

Costruttori

TeamsSSOTokenExchangeMiddleware(Storage, string)

Inizializza una nuova istanza della classe TeamsSSOTokenExchangeMiddleware.

Metodi

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

Chiamato ogni volta che il bot riceve una nuova richiesta.

Dettagli costruttore

TeamsSSOTokenExchangeMiddleware(Storage, string)

Inizializza una nuova istanza della classe TeamsSSOTokenExchangeMiddleware.

new TeamsSSOTokenExchangeMiddleware(storage: Storage, oAuthConnectionName: string)

Parametri

storage

Storage

di archiviazione da usare per la deduplicazione

oAuthConnectionName

string

Nome della connessione da usare per lo scambio di token Single Sign-On

Dettagli metodo

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

Chiamato ogni volta che il bot riceve una nuova richiesta.

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

Parametri

context

TurnContext

Contesto per il turno corrente della conversazione con l'utente.

next

() => Promise<void>

Funzione da chiamare per continuare l'esecuzione al passaggio successivo nella catena middleware.

Restituisce

Promise<void>