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á una activity.value.id idéntica.

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

TeamsSSOTokenExchangeMiddleware(Storage, string)

Inicializa una nueva instancia de la clase TeamsSSOTokenExchangeMiddleware.

Métodos

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

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

Almacenamiento que se va a usar para la desduplicación

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 va a llamar para continuar la ejecución en el paso siguiente de la cadena de middleware.

Devoluciones

Promise<void>