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
Teams |
Initialise une nouvelle instance de la classe TeamsSSOTokenExchangeMiddleware. |
Méthodes
on |
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>