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
| Teams |
Inizializza una nuova istanza della classe TeamsSSOTokenExchangeMiddleware. |
Metodi
| on |
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
- 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>