TeamsSSOTokenExchangeMiddleware class
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. 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.
El bot solo debe procesar una de estas solicitudes de intercambio de tokens. Los demás devuelven StatusCodes.PRECONDITION_FAILED. Para un bot distribuido en producción, esto requiere almacenamiento distribuido, lo que garantiza que solo se procese un intercambio de tokens. Este middleware admite el almacenamiento de CosmosDb que se encuentra en botbuilder-azure o MemoryStorage para el desarrollo local.
Constructores
Teams |
Inicializa una nueva instancia de la clase TeamsSSOTokenExchangeMiddleware. |
Métodos
on |
Se llama cada vez que el bot recibe una nueva solicitud. |
Detalles del constructor
TeamsSSOTokenExchangeMiddleware(Storage, string)
Inicializa una nueva instancia de la clase TeamsSSOTokenExchangeMiddleware.
new TeamsSSOTokenExchangeMiddleware(storage: Storage, oAuthConnectionName: string)
Parámetros
- storage
-
Storage
El de almacenamiento de
- oAuthConnectionName
-
string
Nombre de conexión que se va a usar para el intercambio de tokens de inicio de sesión único
Detalles del método
onTurn(TurnContext, () => Promise<void>)
Se llama cada vez que el bot recibe una nueva solicitud.
function onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>
Parámetros
- context
-
TurnContext
Contexto para el turno actual de conversación con el usuario.
- next
-
() => Promise<void>
Función a la que se llama para continuar la ejecución en el paso siguiente de la cadena de middleware.
Devoluciones
Promise<void>