Autenticação de locatário único e multilocatário para usuários do Microsoft 365
Este artigo fornece informações sobre o processo de autenticação para aplicativos de locatário único e multilocatário, Microsoft Entra ID (Microsoft Entra ID). Você pode usar a autenticação ao criar experiências de chamada para usuários do Microsoft 365 com o SDK de Chamada que os Serviços de Comunicação do Azure disponibiliza. Os casos de uso neste artigo também detalham artefatos de autenticação individuais.
Caso 1: exemplo de um aplicativo de locatário único
A empresa Fabrikam criou um aplicativo para uso interno. Todos os usuários do aplicativo têm o Microsoft Entra ID. O acesso aos Serviços de Comunicação do Azure é controlado pelo Azure RBAC (controle de acesso baseado em função).
O diagrama de sequência a seguir detalha a autenticação de locatário único.
Antes de começarmos:
- Alice ou seu administrador do Microsoft Entra precisam fornecer um consentimento ao aplicativo do Teams personalizado antes da primeira tentativa de login. Saiba mais sobre consentimento.
- O administrador de recursos dos Serviços de Comunicação do Azure precisa conceder permissão para a Alice realizar a função dela. Saiba mais sobre Atribuição de função do RBAC do Azure.
Etapas:
- Autenticar a Alice usando o Microsoft Entra ID: Alice é autenticada usando um fluxo OAuth padrão com a Biblioteca de Autenticação da Microsoft (MSAL). Se a autenticação for bem-sucedida, o aplicativo cliente receberá um token de acesso do Microsoft Entra, com um valor de
A1
e uma ID de objeto de um usuário do Microsoft Entra com um valor deA2
. Os tokens são descritos neste artigo mais tarde. A autenticação da perspectiva do desenvolvedor é explorada neste início rápido. - Obter um token de acesso para Alice: o aplicativo da Fabrikam usando um artefato de autenticação personalizado com valor
B
executa a lógica de autorização para decidir se Alice tem permissão para trocar o token de acesso do Microsoft Entra por um token de acesso dos Serviços de Comunicação do Azure. Após a autorização bem-sucedida, o aplicativo da Fabrikam executa a lógica do plano de controle, usando artefatosA1
,A2
eA3
. O token de acesso dos Serviços de Comunicação do AzureD
é gerado para Alice no aplicativo da Fabrikam. Esse token de acesso pode ser usado para ações de plano de dados nos Serviços de Comunicação do Azure, como Chamadas. Os artefatosA2
eA3
são passados junto com o artefatoA1
para validação. A validação garante que o Token do Microsoft Entra foi emitido para o usuário esperado. O aplicativo impede que invasores usem os tokens de acesso do Microsoft Entra emitidos para outros aplicativos ou outros usuários. Para obter mais informações sobre como obter artefatosA
, consulte Receber o token de usuário e a ID do objeto do Microsoft Entra por meio da biblioteca MSAL e Obter uma ID do Aplicativo. - Ligue para Bob: Alice faz uma chamada para o usuário do Microsoft 365 Bob, com o aplicativo da Fabrikam. A chamada ocorre por meio do SDK de Chamada com um token de acesso dos Serviços de Comunicação do Azure. Saiba mais sobre desenvolvimento de aplicativos para usuários do Microsoft 365.
Artefatos:
- Artefato
A1
- Tipo: token de acesso do Microsoft Entra
- Público:
Azure Communication Services
, plano de controle - Fonte: locatário do Microsoft Entra da Fabrikam
- Permissões:
https://auth.msft.communication.azure.com/Teams.ManageCalls
,https://auth.msft.communication.azure.com/Teams.ManageChats
- Artefato
A2
- ID de Objeto de um usuário ou grupo do Microsoft Entra
- Fonte: locatário do Microsoft Entra da Fabrikam
- Autoridade:
https://login.microsoftonline.com/<tenant>/
- Artefato
A3
- Tipo: ID de aplicativo do Microsoft Entra
- Fonte: locatário do Microsoft Entra da Fabrikam
- Artefato
B
- Tipo: artefato de autorização personalizado da Fabrikam (emitido pelo Microsoft Entra ID ou por um serviço de autorização diferente)
- Artefato
C
- Tipo: artefato de autorização do recurso dos Serviços de Comunicação do Azure.
- Fonte: cabeçalho HTTP de "Autorização" com um token de portador para a autenticação do Microsoft Entra ou um conteúdo de Código de Autenticação de Mensagem baseado em Hash (HMAC) e uma assinatura para acessar uma autenticação baseada em chave.
- Artefato
D
- Tipo: token de acesso dos Serviços de Comunicação do Azure
- Público-alvo:
Azure Communication Services
, plano de dados - ID do recurso dos Serviços de Comunicação do Azure:
Azure Communication Services Resource ID
da Fabrikam
Caso 2: Exemplo de um aplicativo multilocatário
A empresa Contoso criou um aplicativo para clientes externos. Esse aplicativo usa a autenticação personalizada dentro da própria infraestrutura da Contoso. A Contoso usa um cadeia de conexão para recuperar tokens do aplicativo da Fabrikam.
O diagrama de sequência a seguir detalha a autenticação multilocatário.
Antes de começarmos:
- A Alice ou seu administrador do Microsoft Entra precisam dar consentimento ao aplicativo do Microsoft Entra da Contoso antes da primeira tentativa de login. Saiba mais sobre consentimento.
Etapas:
- Autenticar a Alice usando o aplicativo da Fabrikam: a Alice é autenticada por meio do aplicativo da Fabrikam. Um fluxo OAuth padrão com a MSAL (Biblioteca de Autenticação da Microsoft) é usado. Configure a MSAL com uma autoridade correta. Se a autenticação for bem-sucedida, o aplicativo cliente da Contoso receberá um token de acesso do Microsoft Entra com um valor de
A1
e uma ID de objeto de um usuário do Microsoft Entra com um valor deA2
. Os detalhes do token são descritos abaixo. A autenticação da perspectiva do desenvolvedor é explorada neste início rápido. - Obter um token de acesso para Alice: o aplicativo Contoso usando um artefato de autenticação personalizado com valor
B
executa a lógica de autorização para decidir se Alice tem permissão para trocar o token de acesso do Microsoft Entra por um token de acesso dos Serviços de Comunicação do Azure. Após a autorização bem-sucedida, o aplicativo Contoso executa a lógica do plano de controle, usando artefatosA1
,A2
eA3
. Um token de acesso dos Serviços de Comunicação do AzureD
é gerado para Alice no aplicativo Contoso. Esse token de acesso pode ser usado para ações de plano de dados nos Serviços de Comunicação do Azure, como Chamadas. Os artefatosA2
eA3
são passados junto com o artefatoA1
. A validação garante que o Token do Microsoft Entra foi emitido para o usuário esperado. O aplicativo impede que invasores usem os tokens de acesso do Microsoft Entra emitidos para outros aplicativos ou outros usuários. Para obter mais informações sobre como obter artefatosA
, consulte Receber o token de usuário e a ID do objeto do Microsoft Entra por meio da biblioteca MSAL e Obter uma ID do Aplicativo. - Chamada Bob: Alice faz uma chamada para o usuário do Microsoft 365 Bob, com o aplicativo da Fabrikam. A chamada ocorre por meio do SDK de Chamada com um token de acesso dos Serviços de Comunicação do Azure. Saiba mais sobre como desenvolver aplicativos para usuários do Microsoft 365 neste guia de início rápido.
Artefatos:
- Artefato
A1
- Tipo: token de acesso do Microsoft Entra
- Público:
Azure Communication Services
, plano de controle - Fonte: locatário do Microsoft Entra do registro de aplicativo da Contoso
- Permissão:
https://auth.msft.communication.azure.com/Teams.ManageCalls
,https://auth.msft.communication.azure.com/Teams.ManageChats
- Artefato
A2
- ID de Objeto de um usuário ou grupo do Microsoft Entra
- Fonte: locatário do Microsoft Entra da Fabrikam
- Autoridade:
https://login.microsoftonline.com/<tenant>/
ouhttps://login.microsoftonline.com/organizations/
(com base em seu cenário)
- Artefato
A3
- Tipo: ID de aplicativo do Microsoft Entra
- Fonte: locatário do Microsoft Entra do registro de aplicativo da Contoso
- Artefato
B
- Tipo: artefato de autorização personalizado da Contoso (emitido pelo Microsoft Entra ID ou por um serviço de autorização diferente)
- Artefato
C
- Tipo: artefato de autorização do recurso dos Serviços de Comunicação do Azure.
- Fonte: cabeçalho HTTP de "Autorização" com um token de portador para a autenticação do Microsoft Entra ou um conteúdo de Código de Autenticação de Mensagem baseado em Hash (HMAC) e uma assinatura para acessar uma autenticação baseada em chave
- Artefato
D
- Tipo: token de acesso dos Serviços de Comunicação do Azure
- Público-alvo:
Azure Communication Services
, plano de dados - ID do recurso dos Serviços de Comunicação do Azure:
Azure Communication Services Resource ID
da Contoso
Próximas etapas
- Saiba mais sobre autenticação.
- Experimente este início rápido para autenticar usuários do Microsoft 365.
- Experimente este início rápido para chamar um usuário do Microsoft 365.
Os seguintes aplicativos de exemplo podem ser do seu interesse:
Experimente o Aplicativo de Exemplo, que mostra um processo de aquisição de tokens de acesso dos Serviços de Comunicação do Azure para usuários do Microsoft 365 em aplicativos móveis e de desktop.
Para ver como os tokens de acesso dos Serviços de Comunicação do Azure para usuários do Microsoft 365 são adquiridos em um aplicativo de página única, confira um aplicativo de exemplo SPA.
Para saber mais sobre a implementação de um servidor de um serviço de autenticação para os Serviços de Comunicação do Azure, confira a Amostra emblemática do serviço de autenticação.