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
Teams |
Initialisiert eine neue Instanz der TeamsSSOTokenExchangeMiddleware-Klasse. |
Methoden
on |
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>