TeamsSSOTokenExchangeMiddleware class
Si le nom de l’activité est signin/tokenExchange, cet intergiciel tente d’échanger le jeton et déduplique l’appel entrant, ce qui garantit qu’une seule demande d’échange est 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 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é s’assurant 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
de 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 pour le tour de conversation actuel avec l’utilisateur.
- next
-
() => Promise<void>
Fonction à appeler pour poursuivre l’exécution à l’étape suivante de la chaîne d’intergiciels.
Retours
Promise<void>