Compartilhar via


Ativar o SSO para a sua aplicação

Com o Início de sessão único (SSO) no Teams, os utilizadores da aplicação têm a vantagem de utilizar o Teams para aceder a aplicações de bot ou extensão de mensagens. Depois de fazer logon no Teams usando a conta Microsoft ou do Microsoft 365, os usuários do aplicativo podem usar seu aplicativo sem precisar entrar novamente. A sua aplicação está disponível para utilizadores de aplicações em qualquer dispositivo com acesso concedido através do ID do Microsoft Entra.

Observação

O SSO para uma aplicação de bot no Teams só é suportado numa conversa individual.

Esta secção abrange a configuração de SSO necessária para aplicações de extensão de bot e mensagens.

Experiência do usuário de logon único no Teams

Os usuários do aplicativo entrarão no Teams usando uma conta pessoal da Microsoft ou uma conta do Microsoft 365. Pode tirar partido disto e utilizar o SSO para autenticar e autorizar os utilizadores da aplicação. O Microsoft Entra ID fornece aos utilizadores da aplicação acesso ao bot ou à aplicação de extensão de mensagens.

  • O Teams autentica e armazena a identidade do usuário do aplicativo.
  • O bot utiliza a identidade armazenada do utilizador da aplicação que já foi validado pelo Teams.
  • O utilizador da aplicação tem de dar consentimento ao Teams para utilizar a identidade para aceder ao seu bot.
  • O usuário do aplicativo pode acessar o aplicativo na Web, na área de trabalho ou no cliente móvel.

Observação

Os usuários do aplicativo não podem conceder permissão a alguns escopos de permissão, como o Sites.ReadWrite.All, o que permite que o usuário do aplicativo leia e grave em todos os ativos do SharePoint e do OneDrive no locatário. Para esses âmbitos, apenas o administrador inquilino pode dar consentimento em nome de um utilizador da aplicação.

Agora, vamos ver o que acontece no back-end durante o runtime para obter a experiência de logon único no Teams.

Logon único no Teams em runtime

Obtenha o SSO numa aplicação de extensão de bot ou mensagem ao obter o token de acesso para o utilizador da aplicação Teams com sessão iniciada. Este processo envolve o cliente e o servidor da aplicação de bot, o cliente do Teams, o Bot Framework e o Microsoft Entra ID. Durante esta interação, o utilizador da aplicação tem de dar consentimento para obter o token de acesso num ambiente multi-inquilino.

A imagem seguinte mostra como o SSO funciona quando um utilizador da aplicação Teams tenta aceder ao bot ou à aplicação de extensão de mensagem:

SSO para bots e extensão de mensagens no runtime

# Interação O que está acontecendo
1 Serviço → Bot de cliente do Teams A mensagem que o utilizador da aplicação envia é recebida pelo cliente do Teams, que a envia para o bot.
Se o utilizador da aplicação tiver iniciado sessão anteriormente, é guardado um token no Arquivo de Tokens do Bot Framework. O bot chama o Bot Framework Token Service, que verifica a existência de um token para o utilizador da aplicação no Arquivo de Tokens do Bot Framework.
• Se o token existir, é concedido acesso ao utilizador da aplicação.
• Se não existir nenhum token disponível, o bot aciona o fluxo de autenticação.
2 Bot service → Bot Framework Token Service O bot chama o Bot Framework Token Service para obter uma ligação de início de sessão para o utilizador.
3 Bot Framework Token Service → cliente teams Para a aplicação bot: o Bot Framework Token Service envia o pedido de ligação de início de sessão para o serviço de bot, que o reencaminha para o cliente do Teams num cartão OAuth.
Para a aplicação de extensão de mensagem: em vez do cartão OAuth, o Bot Framework Token Service envia um pedido de invocação.
4 Serviço → Bot do teams → Bot Framework Token Service → Microsoft Entra ID Depois de o cliente do Teams receber o cartão OAuth para o utilizador da aplicação, se o SSO estiver ativado, envia um pedido de troca de tokens para o utilizador da aplicação de volta para o bot. O bot chama o Bot Framework Token Service ao tentar trocar o token recebido do Microsoft Entra ID.
5 Microsoft Entra ID → cliente teams Para o utilizador da aplicação que está a utilizar o serviço de bot pela primeira vez, a troca de tokens só pode ocorrer depois de o utilizador da aplicação dar o seu consentimento. O cliente do Teams apresenta uma mensagem ao utilizador da aplicação para dar consentimento.
Caso o consentimento falhe:
1. A autenticação reverte para o pedido de início de sessão e o utilizador da aplicação tem de iniciar sessão para utilizar a aplicação bot. O botão de início de sessão é apresentado no cliente do Teams e, quando o utilizador da aplicação o seleciona, a página de início de sessão do Microsoft Entra é composta.
2. O utilizador da aplicação inicia sessão e concede acesso ao serviço de bot.
6 Bot service → Bot Framework Token Service O token do utilizador da aplicação é armazenado no Arquivo de Tokens do Bot Framework.

Para um bot ou uma aplicação de extensão de mensagem, a aplicação de bot envia um Cartão OAuth para o cliente do Teams. Este cartão é utilizado para obter o token de acesso do Microsoft Entra ID com tokenExchangeResource. Após o consentimento do utilizador da aplicação, o cliente do Teams envia o token recebido do Microsoft Entra ID para a aplicação bot com tokenExchange. Em seguida, a aplicação de bot pode analisar o token para obter as informações do utilizador da aplicação, como o endereço de e-mail.

Importante

Uma aplicação de extensão de bot ou mensagem pode ter mais do que um ponto final ativo. A primeira vez que o utilizador da aplicação recebe o pedido de consentimento para todos os pontos finais ativos.

Ativar o SSO para uma aplicação do Teams

As aplicações de extensão de bots e mensagens utilizam o Bot Framework para processar a comunicação com os utilizadores da aplicação.

  • Aplicação bot: também conhecida como chatbot ou bot de conversação, é um serviço que executa tarefas simples e repetitivas para os utilizadores da aplicação. Os bots podem fazer parte de uma aplicação maior ou ser um serviço autónomo.

  • Aplicação de extensão de mensagem: é um serviço Web que aloja que pode ser invocado a partir do cliente do Teams. Utiliza o esquema de mensagens de um bot para garantir uma comunicação segura. Terá de registar o serviço Web como um bot para ativar o SSO para a sua aplicação de extensão de mensagem.

Esta secção descreve as tarefas envolvidas na implementação do SSO para um bot do Teams ou aplicação de extensão de mensagens. Para ativar o SSO para uma aplicação de extensão de mensagem ou bot do Teams:

  1. Configurar a aplicação com o Microsoft Entra ID: crie uma aplicação Microsoft Entra para gerar um ID de aplicação e o URI do ID da aplicação. Para gerar um token de acesso, configure âmbitos e autorize aplicações cliente fidedignas. A configuração necessária no ID do Microsoft Entra para ativar o SSO numa aplicação de extensão de bot e mensagem é a mesma. Crie um recurso de bot e configure o segredo do cliente, o ponto final de mensagens e a ligação OAuth para ativar o SSO.

  2. Adicionar código: adicione o código para processar o token de acesso para enviar este token para o código de servidor da sua aplicação no cabeçalho Autorização e para validar o token de acesso quando é recebido. O código necessário para ativar o SSO numa aplicação de bot é diferente do código necessário para uma aplicação de extensão de mensagem.

    Observação

    Esta secção permite-lhe selecionar a aplicação para a qual pretende adicionar código para ativar o SSO.

  3. Atualizar o manifesto da aplicação (anteriormente denominado manifesto de aplicação do Teams): atualize o manifesto da aplicação com o ID da aplicação e o URI do ID da aplicação gerados no Microsoft Entra ID para permitir que o Teams peça tokens de acesso em nome da sua aplicação. A atualização necessária no ficheiro de manifesto da aplicação é a mesma para aplicações de extensão de bot e mensagens.

  4. Configurar âmbitos e permissões do Graph: pode adicionar mais âmbitos à sua aplicação ao expandir a sua aplicação com permissões e âmbitos do Microsoft Graph.

Próxima etapa

Confira também

Glossário