Habilitación del inicio de sesión único para acciones universales de tarjetas adaptables en el bot
Con el inicio de sesión único (SSO) en Teams, los usuarios de la aplicación tienen la ventaja de usar Teams para acceder a las acciones universales de tarjetas adaptables en un bot. Después de iniciar sesión en Teams con la cuenta de Microsoft o Microsoft 365, los usuarios de la aplicación pueden usar la aplicación sin necesidad de volver a iniciar sesión. La aplicación está disponible para los usuarios de la aplicación en cualquier dispositivo con acceso concedido a través de Microsoft Entra ID.
Para obtener más información sobre las acciones universales para tarjetas adaptables, vea Acciones universales para tarjetas adaptables.
Acciones universales de tarjetas adaptables usa el bot como back-end común para controlar acciones e introduce un nuevo tipo de acción. Bot usa Bot Framework para controlar la comunicación con los usuarios de la aplicación y para enviar y recibir el token de acceso al bot para la autenticación sso. De forma similar, Adaptive Cards Universal Actions también usa Bot Framework para habilitar la autenticación sso.
Asegúrese de habilitar el inicio de sesión único para el bot antes de habilitar el inicio de sesión único para las acciones universales de Adaptive Cards.
SSO en Teams en tiempo de ejecución
Sso for Adaptive Cards Universal Actions in a bot can be enabled by obtaining access token for the Teams app user who's signed in. Este proceso implica el cliente y el servidor de la aplicación de bot, el cliente de Teams, Bot Framework y Microsoft Entra ID. Durante esta interacción, el usuario de la aplicación debe dar su consentimiento para obtener el token de acceso en un entorno multiinquilino.
En la imagen siguiente se muestra cómo funciona el inicio de sesión único cuando un usuario de una aplicación de Teams intenta acceder a las acciones universales de tarjetas adaptables en un bot:
# | Interacción | Qué sucede |
---|---|---|
1 | Servicio bot de → cliente de Teams | Teams envía una solicitud de invocación Action.Execute al bot. Si el usuario de la aplicación ha iniciado sesión anteriormente, se guarda un token en Bot Framework Token Store. El bot llama a Bot Framework Token Service que comprueba si hay un token existente para el usuario de la aplicación en Bot Framework Token Store. • Si el token existe, se le da acceso al usuario de la aplicación. • Si el token no está disponible, el bot desencadena el flujo de autenticación. |
2 | Microsoft Entra ID → cliente de Teams | Para el usuario de la aplicación que usa las acciones universales de tarjetas adaptables en un bot por primera vez, el intercambio de tokens solo puede producirse después de que el usuario de la aplicación dé el consentimiento. El cliente de Teams muestra un mensaje al usuario de la aplicación para dar su consentimiento. En caso de que se produzca un error en el consentimiento: 1. La autenticación vuelve al símbolo del sistema de inicio de sesión y el usuario de la aplicación debe iniciar sesión para usar la aplicación bot. El botón de inicio de sesión aparece en el cliente de Teams y, cuando el usuario de la aplicación lo selecciona, aparece la página de inicio de sesión Microsoft Entra. 2. El usuario de la aplicación inicia sesión y concede acceso al servicio Bot. |
3 | Servicio de bot de → cliente de Teams | El cliente de Teams vuelve a enviar la solicitud de invocación Action.Execute al bot junto con el token. Bot Service envía una respuesta de invocación con una tarjeta OAuth en respuesta a la llamada de adaptiveCard/action invocación. El cliente de Teams vuelve a enviar el original adaptiveCard/action al bot junto con el token. |
4 | Microsoft Entra ID → cliente de Teams | Microsoft Entra ID envía la respuesta de invocación con tarjeta adaptable al cliente de Teams. El bot devuelve una respuesta noerrorista al cliente de Teams mediante una tarjeta o un mensaje. |
En el caso de las acciones universales de tarjetas adaptables de un bot, la aplicación de bot envía una tarjeta OAuth al cliente de Teams. Esta tarjeta se usa para obtener el token de acceso de Microsoft Entra ID mediante tokenExchangeResource
. Tras el consentimiento del usuario de la aplicación, el cliente de Teams envía el token recibido de Microsoft Entra ID a la aplicación bot mediante tokenExchange
. A continuación, la aplicación bot puede analizar el token para recuperar la información del usuario de la aplicación, como la dirección de correo electrónico.
Casos de uso para habilitar el SSO
La autenticación para sso, dentro de , habilita la Action.Execute
autenticación en el contexto del chat de grupo o la conversación de canal donde se comparte la tarjeta adaptable.
Los bots pueden responder con la solicitud de inicio de sesión en respuesta a Action.Execute
para:
- Tarjetas adaptables enviadas por bot en un chat uno a uno, chat en grupo o un canal.
- Tarjetas adaptables enviadas por el usuario de la aplicación a través de la aplicación de extensión de mensajes (respaldada por el bot) en un chat, chat en grupo o canal.
- Tarjetas adaptables presentes en el área de redacción o vista previa mientras el usuario de la aplicación está redactando el mensaje. En el área de redacción, la actualización de la tarjeta adaptable funciona y es posible que el bot quiera usar un token para proporcionar una vista específica del usuario al usuario de la aplicación antes de enviar la tarjeta al chat.