Habilitar o SSO para Ações Universais de Cartões Adaptáveis em seu bot

Com o SSO (logon único) no Teams, os usuários do aplicativo têm a vantagem de usar o Teams para acessar Ações Universais de Cartões Adaptáveis em um bot. Depois de fazer logon no Teams usando a conta Microsoft ou Microsoft 365, os usuários do aplicativo podem usar seu aplicativo sem a necessidade de entrar novamente. Seu aplicativo está disponível para usuários de aplicativo em qualquer dispositivo com acesso concedido por meio do Azure Active Directory (Azure AD).

Para obter mais informações sobre ações universais para cartões adaptáveis, confira Ações Universais para Cartões Adaptáveis.

As Ações Universais de Cartões Adaptáveis usam o bot como o back-end comum para lidar com ações e introduz um novo tipo de ação. O bot usa o Bot Framework para lidar com a comunicação com os usuários do aplicativo e para enviar e receber o token de acesso ao bot para autenticação SSO. Da mesma forma, o Adaptive Cards Universal Actions também usa o Bot Framework para habilitar a autenticação SSO.

Antes de habilitar o SSO para suas Ações Universais de Cartões Adaptáveis, verifique se você habilitou o SSO para o bot.

Logon único no Teams em runtime

O SSO para Ações Universais de Cartões Adaptáveis em um bot pode ser habilitado obtendo o token de acesso para o usuário do aplicativo Teams que está conectado no momento. Esse processo envolve o cliente e o servidor do aplicativo bot, cliente do Teams, Bot Framework e Azure AD. Durante essa interação, o usuário do aplicativo deve dar consentimento para obter o token de acesso em um ambiente multilocatário.

A imagem a seguir mostra como o SSO funciona quando um usuário de aplicativo do Teams tenta acessar as Ações Universais de Cartões Adaptáveis em um bot:

A captura de tela mostra o fluxo de SSO para Ações Universais de Cartões Adaptáveis em um bot.

# Interação O que está acontecendo
1 Serviço de bot → cliente do Teams O Teams envia uma solicitação de invocação Action.Execute para o bot.
Se o usuário do aplicativo tiver se conectado anteriormente, um token será salvo na Loja de Tokens do Bot Framework. O bot chama o Serviço de Token do Bot Framework que verifica se há um token existente para o usuário do aplicativo na Loja de Tokens do Bot Framework.
• Se o token existir, o usuário do aplicativo recebe acesso.
• Se o token não estiver disponível, o bot disparará o fluxo de auth.
2 cliente do Azure AD → Teams Para o usuário do aplicativo que está usando as Ações Universais de Cartões Adaptáveis em um bot pela primeira vez, a troca de tokens só pode ocorrer depois que o usuário do aplicativo fornecer o consentimento. O cliente do Teams exibe uma mensagem ao usuário do aplicativo para dar consentimento.
Caso o consentimento falhe:
1. A autenticação volta para o prompt de entrada e o usuário do aplicativo deve entrar para usar o aplicativo bot. O botão de entrada aparece no cliente do Teams e, quando o usuário do aplicativo o seleciona, a página de entrada Azure AD é exibida.
2. O usuário do aplicativo entra e concede acesso ao serviço bot.
3 Serviço de Bot → cliente do Teams O cliente do Teams reenvia a solicitação de invocação Action.Execute para o bot junto com o token.
O serviço bot envia uma resposta de invocação com um cartão OAuth em resposta à adaptiveCard/action chamada de invocação. O cliente do Teams envia o original adaptiveCard/action novamente para o bot junto com o token.
4 cliente do Azure AD → Teams Azure AD envia uma resposta de invocação com Cartão Adaptável ao cliente do Teams. O bot retorna uma resposta sem erro ao cliente do Teams usando uma cartão ou mensagem.

Para ações universais de cartões adaptáveis em um bot, o aplicativo bot envia um cartão OAuth para o cliente do Teams. Esse cartão é usado para obter o token de acesso de Azure AD usando tokenExchangeResource. Após o consentimento do usuário do aplicativo, o cliente do Teams envia o token recebido de Azure AD para o aplicativo bot usando tokenExchange. O aplicativo bot pode analisar o token para recuperar as informações do usuário do aplicativo, como endereço de email.

Casos de uso para habilitar o logon único

A autenticação para SSO, no , permite a Action.Executeautenticação dentro do contexto da conversa de grupo ou canal em que o Cartão Adaptável é compartilhado.

Os bots podem responder com a solicitação de entrada em resposta a Action.Execute :

  • Cartões Adaptáveis enviados por bot em um chat individual, chat em grupo ou um canal.
  • Cartões Adaptáveis enviados pelo usuário do aplicativo por meio de aplicativo de extensão de mensagem (com suporte por bot) em chat individual, chat em grupo ou canal.
  • Cartões Adaptáveis presentes na área de composição ou visualização enquanto o usuário do aplicativo está compondo a mensagem. Na área de composição, a atualização no Cartão Adaptável funciona e o bot pode querer usar um token para fornecer uma exibição específica do usuário para o usuário do aplicativo antes de enviar o cartão para o chat.

Próxima etapa

Confira também