Freigeben über


TeamsSSOTokenExchangeMiddleware class

Wenn der Aktivitätsname signin/tokenExchange ist, versucht diese Middleware, das Token auszutauschen und den eingehenden Anruf zu deduplizieren, um sicherzustellen, dass nur eine Exchange-Anforderung verarbeitet wird. Wenn ein Benutzer bei mehreren Teams-Clients angemeldet ist, kann der Bot von jedem Client ein "signin/tokenExchange" empfangen. Jede Tokenaustauschanforderung für eine bestimmte Benutzeranmeldung hat eine identische activity.value.id.

Nur eine dieser Tokenaustauschanforderungen sollte vom Bot verarbeitet werden. Die anderen geben StatusCodes.PRECONDITION_FAILEDzurück. Für einen verteilten Bot in der Produktion erfordert dies einen verteilten Speicher, der sicherstellt, dass nur ein Tokenaustausch verarbeitet wird. Diese Middleware unterstützt CosmosDb-Speicher in Botbuilder-azure oder MemoryStorage für die lokale Entwicklung.

Konstruktoren

TeamsSSOTokenExchangeMiddleware(Storage, string)

Initialisiert eine neue Instanz der TeamsSSOTokenExchangeMiddleware-Klasse.

Methoden

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

Wird jedes Mal aufgerufen, wenn der Bot eine neue Anforderung empfängt.

Details zum Konstruktor

TeamsSSOTokenExchangeMiddleware(Storage, string)

Initialisiert eine neue Instanz der TeamsSSOTokenExchangeMiddleware-Klasse.

new TeamsSSOTokenExchangeMiddleware(storage: Storage, oAuthConnectionName: string)

Parameter

storage

Storage

Die Speicher für die Deduplizierung verwendet werden soll

oAuthConnectionName

string

Der Verbindungsname, der für den Einmaligen Anmelden beim Tokenaustausch verwendet werden soll

Details zur Methode

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

Wird jedes Mal aufgerufen, wenn der Bot eine neue Anforderung empfängt.

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

Parameter

context

TurnContext

Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.

next

() => Promise<void>

Funktion, um die Ausführung im nächsten Schritt in der Middlewarekette fortzusetzen.

Gibt zurück

Promise<void>