Autenticación de un solo inquilino y multiinquilino para usuarios de Microsoft 365
En este artículo se proporciona información sobre el proceso de autenticación de aplicaciones de un solo inquilino y multiinquilino, Microsoft Entra ID (Id. de Microsoft Entra). Puede usar la autenticación al crear experiencias de llamada para usuarios de Microsoft 365 con el kit de desarrollo de software llamada (SDK) que Azure Communication Services pone a disposición. En los casos de uso de este artículo también se desglosan los artefactos de autenticación individuales.
Caso 1: Ejemplo de una aplicación de inquilino único
La empresa Fabrikam ha creado una aplicación para uso interno. Todos los usuarios de la aplicación tienen el Microsoft Entra ID. El acceso a Azure Communication Services se controla mediante el control de acceso basado en roles de Azure (Azure RBAC).
En el diagrama de secuencia siguiente se detalla la autenticación de inquilino único.
Antes de comenzar:
- Alice o su administrador de Microsoft Entra tienen que dar el consentimiento a la aplicación de Teams personalizada antes del primer intento de iniciar sesión. Obtenga más información sobre el consentimiento.
- El administrador del recurso de Azure Communication Services tiene que conceder permiso a Alice para que cumpla con su rol. Más información sobre la asignación de roles de Azure RBAC.
Pasos:
- Autenticar a Alice mediante Microsoft Entra ID: Alice se autentica mediante un flujo de OAuth estándar con la Biblioteca de autenticación de Microsoft (MSAL). Si la autenticación se realiza correctamente, la aplicación cliente recibe un token de acceso de Microsoft Entra, con un valor de
A1
y un id. de objeto de un usuario de Microsoft Entra con un valor deA2
. Los tokens se describen más adelante en este artículo. La autenticación desde la perspectiva del desarrollador se explora en este artículo de inicio rápido. - Obtener un token de acceso para Alice: la aplicación Fabrikam mediante un artefacto de autenticación personalizado con el valor
B
realiza la lógica de autorización para decidir si Alice tiene permiso para intercambiar el token de acceso de Microsoft Entra para un token de acceso de Azure Communication Services. Después de una autorización correcta, la aplicación Fabrikam realiza la lógica del plano de control, mediante artefactosA1
,A2
yA3
. El token de acceso de Azure Communication ServicesD
se genera para Alice dentro de la aplicación Fabrikam. Este token de acceso se puede usar para las acciones del plano de datos en Azure Communication Services, como Calling. Los artefactos deA2
yA3
se pasan junto con elA1
de artefacto para la validación. La validación garantiza que el token de Microsoft Entra se emitió al usuario esperado. La aplicación impide que los atacantes usen los tokens de acceso de Microsoft Entra emitidos a otras aplicaciones u otros usuarios. Para obtener más información sobre cómo obtener artefactos deA
, consulte Recibir el token de usuario y el identificador de objeto de Microsoft Entra a través de la biblioteca MSAL y Obtener un id. de aplicación. - Llamar a Bob: Alice realiza una llamada al usuario de Microsoft 365 Bob, con la aplicación de Fabrikam. La llamada se hace a través del SDK Calling con un token de acceso de Azure Communication Services. Obtenga más información sobre desarrollo de aplicaciones para usuarios de Microsoft 365.
Artefactos:
- Artefacto
A1
- Tipo: Token de acceso de Microsoft Entra
- Audiencia:
Azure Communication Services
, plano de control - Origen: Inquilino de Microsoft Entra para Fabrikam
- Permisos:
https://auth.msft.communication.azure.com/Teams.ManageCalls
,https://auth.msft.communication.azure.com/Teams.ManageChats
- Artefacto
A2
- Tipo: Id. de objeto de un usuario de Microsoft Entra
- Origen: Inquilino de Microsoft Entra para Fabrikam
- Autoridad:
https://login.microsoftonline.com/<tenant>/
- Artefacto
A3
- Tipo: Id. de aplicación de Microsoft Entra
- Origen: Inquilino de Microsoft Entra para Fabrikam
- Artefacto
B
- Tipo: Artefacto de autorización personalizado de Fabrikam (emitido por Microsoft Entra ID u otro servicio de autorización)
- Artefacto
C
- Tipo: Artefacto de autorización de recursos de Azure Communication Services.
- Origen: Encabezado HTTP "Autorización" con un token de portador para la autenticación de Microsoft Entra o una carga de código de autenticación de mensajes basado en hash (HMAC) y una firma para la autenticación basada en claves de acceso.
- Artefacto
D
- Tipo: token de acceso de Azure Communication Services
- Audiencia:
Azure Communication Services
, plano de datos - Identificador de recurso de Azure Communication Services: Fabrikam
Azure Communication Services Resource ID
Caso 2: ejemplo de una aplicación multiinquilino
La empresa Contoso ha creado una aplicación para clientes externos. Esta aplicación usa la autenticación personalizada dentro de la propia infraestructura de Contoso. Contoso usa una cadena de conexión para recuperar tokens de la aplicación de Fabrikam.
En el diagrama de secuencia siguiente se detalla la autenticación multiinquilino.
Antes de comenzar:
- Alice o su administrador de Microsoft Entra tienen que dar su consentimiento a la aplicación de Microsoft Entra de Contoso antes de iniciar sesión por primera vez. Obtenga más información sobre el consentimiento.
Pasos:
- Autenticar a Alice mediante la aplicación de Fabrikam: Alice se autentica a través de la aplicación de Fabrikam. Se usa un flujo de OAuth estándar con la Biblioteca de autenticación de Microsoft (MSAL). Asegúrese de configurar MSAL con una autoridad correcta. Si la autenticación se realiza correctamente, la aplicación cliente de Contoso recibe un token de acceso de Microsoft Entra con un valor de
A1
y un id. de objeto de un usuario de Microsoft Entra con un valor deA2
. A continuación se describen los detalles del token. La autenticación desde la perspectiva del desarrollador se explora en este artículo de inicio rápido. - Obtener un token de acceso para Alice: la aplicación Contoso mediante un artefacto de autenticación personalizado con el valor
B
realiza la lógica de autorización para decidir si Alice tiene permiso para intercambiar el token de acceso de Microsoft Entra para un token de acceso de Azure Communication Services. Después de la autorización correcta, la aplicación Contoso realiza la lógica del plano de control mediante artefactosA1
,A2
yA3
. Se genera un token de acceso de Azure Communication ServicesD
para Alice dentro de la aplicación Contoso. Este token de acceso se puede usar para las acciones del plano de datos en Azure Communication Services, como Calling. Los artefactos deA2
yA3
se pasan junto con el artefactoA1
. La validación garantiza que el token de Microsoft Entra se emitió al usuario esperado. La aplicación impide que los atacantes usen los tokens de acceso de Microsoft Entra emitidos a otras aplicaciones u otros usuarios. Para obtener más información sobre cómo obtener artefactos deA
, consulte Recibir el token de usuario y el identificador de objeto de Microsoft Entra a través de la biblioteca MSAL y Obtener un id. de aplicación. - Llamada a Bob: Alice realiza una llamada al usuario de Microsoft 365 Bob, con la aplicación de Fabrikam. La llamada se hace a través del SDK Calling con un token de acceso de Azure Communication Services. Obtenga más información sobre el desarrollo de aplicaciones para usuarios de Microsoft 365 en este inicio rápido.
Artefactos:
- Artefacto
A1
- Tipo: Token de acceso de Microsoft Entra
- Audiencia:
Azure Communication Services
, plano de control - Origen: Inquilino de Microsoft Entra del registro de aplicaciones de Contoso
- Permiso:
https://auth.msft.communication.azure.com/Teams.ManageCalls
,https://auth.msft.communication.azure.com/Teams.ManageChats
- Artefacto
A2
- Tipo: Id. de objeto de un usuario de Microsoft Entra
- Origen: Inquilino de Microsoft Entra para Fabrikam
- Autoridad:
https://login.microsoftonline.com/<tenant>/
ohttps://login.microsoftonline.com/organizations/
(en función de su escenario)
- Artefacto
A3
- Tipo: Id. de aplicación de Microsoft Entra
- Origen: Inquilino de Microsoft Entra del registro de aplicaciones de Contoso
- Artefacto
B
- Tipo: Artefacto de autorización personalizado de Consoto (emitido por Microsoft Entra ID u otro servicio de autorización)
- Artefacto
C
- Tipo: Artefacto de autorización de recursos de Azure Communication Services.
- Origen: Encabezado HTTP "Autorización" con un token de portador para la autenticación de Microsoft Entra o una carga de código de autenticación de mensajes basado en hash (HMAC) y una firma para la autenticación basada en claves de acceso
- Artefacto
D
- Tipo: token de acceso de Azure Communication Services
- Audiencia:
Azure Communication Services
, plano de datos - Identificador de recurso de Azure Communication Services: Fabrikam
Azure Communication Services Resource ID
Pasos siguientes
- Más información sobre la autenticación.
- Pruebe este inicio rápido para autenticar a los usuarios de Microsoft 365.
- Pruebe este inicio rápido para llamar a un usuario de Microsoft 365.
Las siguientes aplicaciones de muestra pueden ser interesantes:
Pruebe la aplicación de ejemplo, que muestra un proceso de adquisición de tokens de acceso de Azure Communication Services para usuarios de Microsoft 365 en aplicaciones móviles y de escritorio.
Para ver cómo se adquieren los tokens de acceso de Azure Communication Services para los usuarios de Microsoft 365 en una aplicación de página única, consulte una aplicación de ejemplo de SPA .
Para obtener más información sobre una implementación de servidor de un servicio de autenticación para Azure Communication Services, consulte el ejemplo principal del servicio de autenticación.