Freigeben über


TeamsSSOTokenExchangeMiddleware Klasse

Definition

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

public class TeamsSSOTokenExchangeMiddleware : Microsoft.Bot.Builder.IMiddleware
type TeamsSSOTokenExchangeMiddleware = class
    interface IMiddleware
Public Class TeamsSSOTokenExchangeMiddleware
Implements IMiddleware
Vererbung
TeamsSSOTokenExchangeMiddleware
Implementiert

Hinweise

Wenn ein Benutzer bei mehreren Teams-Clients angemeldet ist, kann der Bot von jedem Client ein "signin/tokenExchange" erhalten. 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 PreconditionFailed. 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 Microsoft.Bot.Builder.Azure oder MemoryStorage für die lokale Entwicklung. Die ETag-Implementierung von IStorage für die Deduplizierung von Tokenaustauschaktivitäten.

Konstruktoren

TeamsSSOTokenExchangeMiddleware(IStorage, String)

Initialisiert eine neue Instanz der TeamsSSOTokenExchangeMiddleware-Klasse.

Methoden

OnTurnAsync(ITurnContext, NextDelegate, CancellationToken)

Verarbeitet bei Implementierung in Middleware eine eingehende Aktivität.

Gilt für: