TeamsSSOTokenExchangeMiddleware Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Si el nombre de la actividad es signin/tokenExchange, este middleware intentará intercambiar el token y desduplicará la llamada entrante, lo que garantiza que solo se procese una solicitud de intercambio.
public class TeamsSSOTokenExchangeMiddleware : Microsoft.Bot.Builder.IMiddleware
type TeamsSSOTokenExchangeMiddleware = class
interface IMiddleware
Public Class TeamsSSOTokenExchangeMiddleware
Implements IMiddleware
- Herencia
-
TeamsSSOTokenExchangeMiddleware
- Implementaciones
Comentarios
Si un usuario ha iniciado sesión en varios clientes de Teams, el bot podría recibir un "signin/tokenExchange" de cada cliente. Cada solicitud de intercambio de tokens para un inicio de sesión de usuario específico tendrá un Activity.Value.Id idéntico.
Solo el bot debe procesar una de estas solicitudes de intercambio de tokens. Los demás devuelven PreconditionFailed. Para un bot distribuido en producción, esto requiere un almacenamiento distribuido que garantice que solo se procese un intercambio de tokens. Este middleware admite el almacenamiento de CosmosDb que se encuentra en Microsoft.Bot.Builder.Azure o MemoryStorage para el desarrollo local. Implementación de ETag de IStorage para la desduplicación de la actividad de intercambio de tokens.
Constructores
TeamsSSOTokenExchangeMiddleware(IStorage, String) |
Inicializa una nueva instancia de la clase TeamsSSOTokenExchangeMiddleware. |
Métodos
OnTurnAsync(ITurnContext, NextDelegate, CancellationToken) |
Cuando se implementa en middleware, procesa una actividad entrante. |