Partager via


TeamsSSOTokenExchangeMiddleware class

Si le nom de l’activité est signin/tokenExchange, cet intergiciel tente d’échanger le jeton et de dédupliquer l’appel entrant, en veillant à ce qu’une seule demande d’échange soit traitée. Si un utilisateur est connecté à plusieurs clients Teams, le bot peut recevoir un « signin/tokenExchange » de chaque client. Chaque demande d’échange de jetons pour une connexion d’utilisateur spécifique aura une activity.value.id identique.

Une seule de ces demandes d’échange de jetons doit être traitée par le bot. Les autres retournent StatusCodes.PRECONDITION_FAILED. Pour un bot distribué en production, cela nécessite un stockage distribué garantissant qu’un seul échange de jetons est traité. Ce middleware prend en charge le stockage CosmosDb trouvé dans botbuilder-azure ou MemoryStorage pour le développement local.

Constructeurs

TeamsSSOTokenExchangeMiddleware(Storage, string)

Initialise une nouvelle instance de la classe TeamsSSOTokenExchangeMiddleware.

Méthodes

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

Appelé chaque fois que le bot reçoit une nouvelle demande.

Détails du constructeur

TeamsSSOTokenExchangeMiddleware(Storage, string)

Initialise une nouvelle instance de la classe TeamsSSOTokenExchangeMiddleware.

new TeamsSSOTokenExchangeMiddleware(storage: Storage, oAuthConnectionName: string)

Paramètres

storage

Storage

Stockage à utiliser pour la déduplication

oAuthConnectionName

string

Nom de connexion à utiliser pour l’échange de jetons d’authentification unique

Détails de la méthode

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

Appelé chaque fois que le bot reçoit une nouvelle demande.

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

Paramètres

context

TurnContext

Contexte de la tour actuelle de la conversation avec l’utilisateur.

next

() => Promise<void>

Fonction à appeler pour poursuivre l’exécution à l’étape suivante dans la chaîne d’intergiciel.

Retours

Promise<void>