¿Cómo autentificar Teams?
Inicio de sesión de los equipos
Como todos sabemos, la autenticación básica se retirará pronto de Office 365 y ya es hora de que apliquemos la autenticación moderna en todos los clientes. La mayoría de las organizaciones ya han habilitado la autenticación moderna, lo cual es una buena señal. Sin embargo, hay casos en los que la autenticación moderna no puede ser interactiva para la autenticación de segundo factor, necesita cierta planificación en esos casos especiales y tienen excepciones. Por ejemplo, los sistemas de salas tienen cuentas de recursos con Teams habilitado y Exchange Online donde estas cuentas de recursos no pueden tener la autenticación moderna habilitada con MFA como las cuentas de usuario normales para aprobar la autenticación de segundo factor.
A partir de la versión 4.4.25.0 de Microsoft Teams Room App tenemos la opción de habilitar la autenticación moderna en los dispositivos capaces de albergar Microsoft Teams Meeting. La gestión de cuentas de los dispositivos de la Sala de Equipos se establece a nivel de la aplicación.
El mecanismo de autenticación moderna utiliza el tipo de concesión de autorización de credenciales del propietario del recurso en OAuth 2.0, que no requiere ninguna intervención del usuario. Esta es una de las diferencias clave entre cómo funciona la autenticación moderna para las cuentas de usuario y las cuentas de recursos que utiliza la aplicación Microsoft Teams Rooms. Por ello, las cuentas de recursos de Microsoft Teams Rooms no deben configurarse para utilizar la autenticación multifactor (MFA), la autenticación con tarjeta inteligente o la autenticación basada en certificados de cliente (todas ellas disponibles para los usuarios finales). El simple hecho de habilitarlas para la autenticación moderna les activará el ROPC y les concederá el token OAUTH 2.0. Utiliza la cuenta de recursos para autorizar el tipo de concesión y emitir el Token OAUTH 2.0. Puede consultar más aquí para obtener más detalles sobre el mecanismo de autenticación y planificarlos en función de su entorno.
Inicio de sesión del dispositivo de los equipos de Microsoft
Este artículo demuestra cómo utilizar la autenticación del SDK de Azure Bot Service v4, basada en OAuth 2.0. Esto facilita el desarrollo de un bot que puede utilizar tokens de autenticación basados en las credenciales del usuario. La clave de todo esto es el uso de proveedores de identidad, como veremos más adelante.
El grupo de recursos y el plan de servicio no son estrictamente necesarios, pero te permiten liberar convenientemente los recursos que creas. Es una buena práctica para mantener tus recursos organizados y manejables.
Al igual que con los recursos que crearás más adelante en este tutorial, es una buena idea anclar este grupo de recursos a tu panel de control para facilitar el acceso. Si quieres hacerlo, selecciona el icono de anclaje en la parte superior derecha del panel de control.
Sólo tienes que registrar tu bot si no está alojado en Azure. Si creaste un bot a través del portal de Azure, entonces ya está registrado en el servicio. Si creaste tu bot a través del Bot Framework o del Developer Portal tu bot no está registrado en Azure.
Nota: hay dos opciones de proveedores de servicios aquí: Azure AD V1 y Azure AD V2. Las diferencias entre los dos proveedores se resumen aquí, pero en general, el V2 proporciona más flexibilidad con respecto a la modificación de los permisos del bot. Los permisos de la API de gráficos se enumeran en el campo de ámbitos, y a medida que se añaden otros nuevos, los bots permitirán a los usuarios dar su consentimiento a los nuevos permisos en el siguiente inicio de sesión. En el caso de la V1, el consentimiento del bot debe ser eliminado por el usuario para que los nuevos permisos sean solicitados en el diálogo OAuth.
Equipos de la Sra. sso
Este artículo demuestra cómo utilizar la autenticación del SDK de Azure Bot Service v4, basada en OAuth 2.0. Esto facilita el desarrollo de un bot que puede utilizar tokens de autenticación basados en las credenciales del usuario. La clave de todo esto es el uso de proveedores de identidad, como veremos más adelante.
El grupo de recursos y el plan de servicio no son estrictamente necesarios, pero te permiten liberar convenientemente los recursos que creas. Es una buena práctica para mantener tus recursos organizados y manejables.
Al igual que con los recursos que crearás más adelante en este tutorial, es una buena idea anclar este grupo de recursos a tu panel de control para facilitar el acceso. Si quieres hacerlo, selecciona el icono de anclaje en la parte superior derecha del panel de control.
Sólo tienes que registrar tu bot si no está alojado en Azure. Si creaste un bot a través del portal de Azure, entonces ya está registrado en el servicio. Si creaste tu bot a través del Bot Framework o del Developer Portal tu bot no está registrado en Azure.
Nota: hay dos opciones de proveedores de servicios aquí: Azure AD V1 y Azure AD V2. Las diferencias entre los dos proveedores se resumen aquí, pero en general, el V2 proporciona más flexibilidad con respecto a la modificación de los permisos del bot. Los permisos de la API de gráficos se enumeran en el campo de ámbitos, y a medida que se añaden otros nuevos, los bots permitirán a los usuarios dar su consentimiento a los nuevos permisos en el siguiente inicio de sesión. En el caso de la V1, el consentimiento del bot debe ser eliminado por el usuario para que los nuevos permisos sean solicitados en el diálogo OAuth.
Comentarios
Después de crear una aplicación teams-tab utilizando el kit de herramientas vscode teams, veo que en el archivo auth-start.html por defecto el script intenta extraer los ámbitos de la URL (que fue construida por el método microsoftTeams.authentication.authenticate()), sin embargo no veo ninguna referencia en la documentación sobre cómo pasar estos ámbitos en este método.
Por otro lado, pero relacionado, en mi proyecto de ejemplo, en auth-start, se hace referencia a una versión muy antigua de MicrosoftTeams.min.js (v 1.6, y la actual es 1.11). Puede que sólo tenga un Teams Toolkit muy antiguo, pero puede que no…