Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Con el inicio de sesión único (SSO) en Microsoft Teams, los usuarios de la aplicación pueden iniciar sesión en Teams con una cuenta de Microsoft o Microsoft 365 y usar aplicaciones de bot y extensión de mensajes sin necesidad de volver a iniciar sesión. Su aplicación está disponible para los usuarios de la aplicación en cualquier dispositivo con acceso concedido a través de Microsoft Entra ID.
Nota:
El SSO para una aplicación de bot en Teams se admite en el ámbito de chat individual y grupal, y no en el ámbito de canales.
En esta sección se describe la configuración del SSO necesaria para las aplicaciones de bot y de extensión de mensajería.
Experiencia de usuario de SSO en Teams
Los usuarios de la aplicación inician sesión en Teams con una cuenta personal de Microsoft o una cuenta de Microsoft 365. Puede aprovechar esto y usar SSO para autenticar y autorizar a los usuarios de la aplicación. Microsoft Entra ID proporciona a los usuarios de la aplicación acceso a su bot o a la aplicación de extensión de mensajes, ya sea en ámbitos personales o de grupo.
- Teams autentica y almacena la identidad de su usuario de la aplicación.
- El bot usa la identidad almacenada del usuario de la aplicación que ya está validado por Teams.
- El usuario de la aplicación debe dar su consentimiento a Teams para usar la identidad con el fin de acceder al bot.
- El usuario de la aplicación puede acceder a la aplicación en el cliente web, de escritorio o móvil.
Veamos cómo funciona SSO en diferentes ámbitos.
En el ámbito personal, el usuario de la aplicación interactúa con el bot o la aplicación de extensión de mensajes en un chat uno a uno. El usuario solo debe dar su consentimiento una vez para usar el bot o la aplicación de extensión de mensajes.
Los ámbitos de permisos para acceder a los recursos siguen siendo los mismos tanto en el ámbito personal como en el de grupo. Para obtener más información, consulte Agregar código para habilitar el SSO en la aplicación de bot.
Nota:
Los usuarios de la aplicación no pueden conceder permiso a algunos ámbitos de permisos, como Sites.ReadWrite.All, que permite al usuario de la aplicación leer y escribir en todos los recursos de SharePoint y OneDrive del espacio empresarial. Para estos ámbitos, solo el administrador puede otorgar consentimiento en nombre de un usuario de la aplicación.
Ahora, veamos lo que sucede en el back-end durante el tiempo de ejecución para lograr la experiencia de SSO en Teams.
SSO en Teams en tiempo de ejecución
Logre el SSO en un bot o una aplicación de extensión de mensaje mediante la obtención de un token de acceso para el usuario de la aplicación Teams que haya iniciado sesión. Este proceso implica el cliente y el servidor de la aplicación 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.
La siguiente imagen muestra cómo funciona el SSO cuando un usuario de la aplicación Teams intenta acceder al bot o a la aplicación de extensión de mensajes:
| # | Interacción | Qué sucede |
|---|---|---|
| 1 | Cliente de Teams → servicio de bot | El cliente de Teams recibe el mensaje que envía el usuario de la aplicación, que lo envía al bot. Si el usuario de la aplicación ha iniciado sesión anteriormente, se guarda un token en el almacén de tokens de Bot Framework. El bot llama al servicio de token de Bot Framework, que comprueba si hay un token existente para el usuario de la aplicación en el almacén de tokens de Bot Framework. • Si el token existe, el usuario de la aplicación tiene acceso. • Si no hay ningún token disponible, el bot desencadena el flujo de autenticación. |
| 2 | Servicio de bot → Servicio de token de Bot Framework | El bot llama al servicio de token de Bot Framework para obtener un vínculo de inicio de sesión para el usuario. |
| 3 | Servicio de token de Bot Framework → cliente de Teams | • Para la aplicación bot: el servicio de token de Bot Framework envía la solicitud de vínculo de inicio de sesión al servicio de bot, que la reenvía al cliente de Teams en una tarjeta OAuth. • Para la aplicación de extensión de mensajes: en lugar de la tarjeta OAuth, el servicio de token de Bot Framework envía una solicitud de invocación. |
| 4 | Cliente de Teams → Servicio de bot → Servicio de token de Bot Framework → Microsoft Entra ID | Una vez que el cliente de Teams recibe la tarjeta de OAuth para el usuario de la aplicación, si SSO está habilitado, envía una solicitud de intercambio de tokens para el usuario de la aplicación al bot. El bot llama al servicio de token de Bot Framework e intenta intercambiar el token recibido de Microsoft Entra ID. |
| 5 | Cliente de Microsoft Entra ID → Teams | Para el usuario de la aplicación que usa el servicio de bot por primera vez, el intercambio de tokens solo puede producirse después de que el usuario de la aplicación dé su consentimiento. El cliente de Teams muestra un mensaje al usuario de la aplicación para que dé su consentimiento. En caso de que el consentimiento falle: 1. La autenticación vuelve a la solicitud 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, se representa la página de inicio de sesión de Microsoft Entra. 2. El usuario de la aplicación inicia sesión y concede acceso al servicio de bot. |
| 6 | Servicio de bot → Servicio de token de Bot Framework | El token del usuario de la aplicación se almacena en el almacén de tokens de Bot Framework. |
Para un bot o una aplicación de extensión de mensaje, la aplicación 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 de 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.
Importante
Un bot o una aplicación de extensión de mensaje puede tener más de un punto de conexión activo. La primera vez que el usuario de la aplicación recibiría una solicitud de consentimiento para todos los puntos de conexión activos.
Habilitar SSO para una aplicación de Teams
Las aplicaciones bot y extensión de mensaje usan Bot Framework para controlar la comunicación con los usuarios de la aplicación.
Aplicación bot: también conocido como bot de chat o bot de conversación, es un servicio que ejecuta tareas repetitivas y sencillas para los usuarios de la aplicación. Los bots pueden formar parte de una aplicación más grande o ser un servicio independiente.
Aplicación de extensión de mensajes: es un servicio web que hospeda y que se puede invocar desde el cliente de Teams. Usa el esquema de mensajería de un bot para garantizar una comunicación segura. Deberá registrar el servicio web como un bot para habilitar el SSO para la aplicación de extensión de mensajes.
En esta sección se describen las tareas implicadas en la implementación del SSO para un bot de Teams o una aplicación de extensión de mensajes. Para habilitar el SSO para un bot de Teams o una aplicación de extensión de mensajes:
Configurar aplicación con Microsoft Entra ID: cree una aplicación de Microsoft Entra para generar un identificador de aplicación y un URI de identificador de aplicación. Para generar un token de acceso, se configuran ámbitos y se autorizan aplicaciones cliente de confianza. La configuración necesaria en Microsoft Entra ID para habilitar el SSO en un bot y en las aplicaciones de extensión de mensaje es la misma. Cree un recurso de bot y configure su secreto de cliente, punto de conexión de mensajería y conexión OAuth para habilitar el SSO.
Importante
Si el bot se crea mediante una identidad administrada asignada por el usuario, no se creará automáticamente un registro de aplicación. Debe crear un registro de aplicación independiente en Microsoft Entra ID, asignar los permisos necesarios y usar su id. de aplicación (cliente) en la sección del manifiesto de la
webApplicationInfoaplicación. Para obtener más información, vea la propiedad webApplicationInfo.Agregar código: Agregue el código para controlar el token de acceso para enviar este token al código del servidor de la aplicación en el encabezado de autorización y para validar el token de acceso cuando se recibe. El código necesario para habilitar el SSO en una aplicación de bot es diferente del código necesario para una aplicación de extensión de mensaje.
Nota:
Esta sección te permite seleccionar la aplicación a la que deseas agregar código para habilitar el SSO.
Actualizar manifiesto de aplicación (anteriormente llamado manifiesto de aplicación de Teams): actualice el manifiesto de aplicación con el identificador de aplicación y el URI de identificador de aplicación generados en Microsoft Entra ID para permitir que Teams solicite tokens de acceso en nombre de la aplicación. La actualización requerida en el archivo de manifiesto de la aplicación es la misma para las aplicaciones de bot y extensión de mensaje.
Configurar ámbitos y permisos de Graph: Puede agregar más ámbitos a la aplicación extendiéndola con permisos y ámbitos de Microsoft Graph.