Freigeben über


TeamsSSOTokenExchangeMiddleware Klasse

Wenn der Aktivitätsname signin/tokenExchange lautet, versucht Self Middleware, das Token auszutauschen und den eingehenden Aufruf zu deduplizieren, um sicherzustellen, dass nur eine Exchange-Anforderung verarbeitet wird.

Initialisiert eine instance der -Klasse.

Anmelden des Tokenaustauschs.

Vererbung
TeamsSSOTokenExchangeMiddleware

Konstruktor

TeamsSSOTokenExchangeMiddleware(storage: Storage, connection_name: str)

Parameter

Name Beschreibung
storage
Erforderlich

Der Speicher, der für die Deduplizierung verwendet werden soll.

connection_name
Erforderlich

Der Verbindungsname, der für die einzelne Verbindung verwendet werden soll.

Hinweise

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 weist eine identische Activity.Value.Id auf.

Nur eine dieser Tokenaustauschanforderungen sollte vom Bot verarbeitet werden. Die anderen geben zurück. Für einen verteilten Bot in der Produktion erfordert Self einen verteilten Speicher, der sicherstellt, dass nur ein Tokenaustausch verarbeitet wird. Self Middleware unterstützt CosmosDb-Speicher in Microsoft.Bot.Builder.Azure oder MemoryStorage für die lokale Entwicklung. Die ETag-Implementierung von IStorage für die Deduplizierung von Tokenaustauschaktivitäten.

Methoden

on_turn

on_turn

async on_turn(context: TurnContext, logic: Callable[[TurnContext], Awaitable])

Parameter

Name Beschreibung
context
Erforderlich
logic
Erforderlich