Criar um bot com autenticação SSO
Os bots de conversação no Microsoft Teams executam tarefas automatizadas repetitivas iniciadas por utilizadores, como o suporte ao cliente. O utilizador tem de iniciar sessão várias vezes sem autenticação de início de sessão único (SSO). Com os métodos de autenticação SSO, os utilizadores não precisam de iniciar sessão no bot várias vezes.
Um bot comporta-se de forma diferente consoante a conversação em que está envolvido:
- Os bots nas conversações de canal e de chat de grupo exigem que os utilizadores utilizem @mention o bot.
- Os bots em uma conversa um-para-um não exigem um @mention. Todas as mensagens enviadas pelo utilizador encaminham para o bot.
Este guia passo a passo ajuda-o a criar um bot com autenticação SSO. Verá o seguinte resultado:
Pré-requisitos
Certifique-se de que instala as seguintes ferramentas e configura o seu ambiente de desenvolvimento:
Instalar | Para usar... | |
---|---|---|
Microsoft Teams | Microsoft Teams para colaborar com todas as pessoas com quem trabalha através de aplicações para chat, reuniões e chamadas num único local. | |
Visual Studio 2022 | Pode instalar a versão empresarial no Visual Studio 2022 e instalar as cargas de trabalho de desenvolvimento web e ASP.NET. Utilize a versão mais recente. | |
Conta de programador do Microsoft 365 | Acesso à conta do Teams com as permissões adequadas para instalar uma aplicação. | |
Túnel de desenvolvimento | As funcionalidades da aplicação Teams (bots de conversação, extensões de mensagens e webhooks recebidos) precisam de ligações de entrada. Um túnel liga o seu sistema de desenvolvimento ao Teams. O túnel Dev é uma ferramenta avançada para abrir de forma segura o seu localhost na Internet e controlar quem tem acesso. O túnel Dev está disponível no Visual Studio 2022 versão 17.7.0 ou posterior. ou também pode utilizar o ngrok como um túnel para ligar o seu sistema de desenvolvimento ao Teams. Não é necessário para aplicações que incluam apenas separadores. Este pacote é instalado no diretório do projeto (com o npm devDependencies ). |
Observação
Depois de transferir o ngrok, inscreva-se e instale o authtoken.
Configurar o seu inquilino de desenvolvimento do Teams
Um inquilino é como um espaço ou um contentor onde conversa, partilha ficheiros e executa reuniões para a sua organização no Teams. Também pode carregar e testar a aplicação personalizada.
Verificar a opção de carregamento de aplicações personalizadas
Depois de criar o aplicativo, você deve carregar seu aplicativo no Teams sem distribuí-lo. Este processo é conhecido como carregamento de aplicações personalizadas. Inicie sessão na sua conta do Microsoft 365 para ver esta opção.
Observação
O carregamento de aplicações personalizadas é necessário para pré-visualizar e testar aplicações no ambiente local do Teams. Ative o carregamento de aplicações para pré-visualizar e testar a sua aplicação no Teams localmente.
Já tem um inquilino e tem acesso de administrador? Vamos verificar se tem mesmo!
Para verificar as aplicações de carregamento personalizadas no Teams:
No cliente do Teams, selecione o ícone Aplicações .
Selecione Gerenciar seus aplicativos.
Selecione Carregar uma aplicação
Procure a opção Carregar uma aplicação personalizada. Se vir a opção, o carregamento de aplicações personalizadas está ativado.
Observação
Contacte o administrador do Teams se não tiver a opção de carregar uma aplicação personalizada.
Criar um inquilino gratuito para programadores do Teams (opcional)
Se não tiver uma conta de programador do Teams, pode obtê-la gratuitamente. Adira ao programa de programador do Microsoft 365!
Selecione Aderir Agora e siga as instruções apresentadas no ecrã.
No ecrã de boas-vindas, selecione Configurar subscrição E5.
Configurar uma conta de administrador. Depois de terminar, é apresentado o ecrã seguinte.
Inicie sessão no Teams com a nova conta de administrador que acabou de configurar. Verifique se tem a opção Carregar uma aplicação personalizada no Teams.
Configurar o ambiente local
Abra Microsoft-Teams-Samples.
Selecione Código.
No menu pendente, selecione Abrir com o GitHub Desktop.
Selecione Clonar.
Registar a aplicação Microsoft Entra
Os passos seguintes ajudam-no a criar e registar o bot no portal do Azure:
- Crie e registe a sua aplicação do Azure.
- Crie o segredo do cliente para ativar a autenticação SSO do bot.
- Adicione o canal do Teams para implementar o bot.
- Crie um túnel para os pontos finais do servidor Web com o túnel dev (recomendado) ou o ngrok.
- Adicione o ponto final de mensagens ao túnel dev que criou.
Adicionar Registo de aplicações
Acesse o portal do Azure.
Selecione Registros de aplicativos.
Selecione + Novo registo.
Introduza o nome da sua aplicação.
Selecione Contas em qualquer diretório organizacional (Qualquer inquilino do Microsoft Entra ID – Multi-inquilino).
Selecione Registrar.
A sua aplicação está registada no Microsoft Entra ID. É apresentada a página de descrição geral da aplicação.
Observação
Guarde o ID da aplicação do ID da Aplicação (cliente) e do ID do Diretório (inquilino) para utilização adicional.
Criar um túnel
Abra o Visual Studio.
Selecione Criar um novo projeto.
Na caixa de pesquisa, introduza ASP.NET. Nos resultados da pesquisa, selecione ASP.NET Core Web App.
Selecione Avançar.
Introduza Nome do projeto e selecione Seguinte.
Selecione Criar.
É apresentada uma janela de descrição geral.
Na lista pendente de depuração, selecione Túneis de Desenvolvimento (sem túnel ativo)>Criar um Túnel....
Uma janela pop-up será exibida.
Atualize os seguintes detalhes na janela de pop-up:
- Conta: introduza uma conta Microsoft ou GitHub.
- Nome: introduza um nome para o túnel.
- Tipo de Túnel: na lista pendente, selecione Temporário.
- Acesso: na lista pendente, selecione Público.
Selecione OK.
É apresentada uma janela de pop-up que mostra que o túnel dev foi criado com êxito.
Selecione OK.
Pode encontrar o túnel que criou na lista pendente de depuração da seguinte forma:
Selecione F5 para executar a aplicação no modo de depuração.
Se for apresentada uma caixa de diálogo Aviso de Segurança , selecione Sim.
Uma janela pop-up será exibida.
Selecione Continuar.
A home page do túnel dev é aberta numa nova janela do browser e o túnel dev está agora ativo.
Aceda ao Visual Studio e selecione Ver > Saída.
No menu pendente Consola de saída , selecione Túneis Dev.
A consola Output (Saída ) mostra o URL do túnel dev.
Adicionar uma autenticação Web
No painel esquerdo, em Gerir, selecione Autenticação.
Selecione Adicionar uma Web de plataforma>.
Introduza o URI de redirecionamento para a sua aplicação ao acrescentar
auth-end
ao nome de domínio completamente qualificado. Por exemplo:https://your-devtunnel-domain/auth-end
ouhttps://your-ngrok-domain/auth-end
.Em Concessão implícita e fluxos híbridos, selecione as caixas de verificação Tokens de acesso e tokens de ID .
Selecione Configurar.
Em Web, selecione Adicionar URI.
Digite
https://token.botframework.com/.auth/web/redirect
.Selecione Salvar.
Criar um segredo do cliente
No painel esquerdo, em Gerir, selecione Certificados & segredos.
Em Segredos do cliente, selecione + Novo segredo do cliente.
É apresentada a janela Adicionar um segredo do cliente .
Introduza Descrição.
Selecione Adicionar.
Em Valor, selecione Copiar para a área de transferência para guardar o valor do segredo do cliente para utilização adicional.
Adicionar permissões de API
No painel esquerdo, selecione Permissões da API.
Selecione + Adicionar uma permissão.
Selecione Microsoft Graph.
Selecione Permissões delegadas.
Selecione Utilizador>Utilizador.Ler.
Selecione Adicionar permissões.
Observação
Se não for concedido consentimento ao administrador de TI a uma aplicação, os utilizadores têm de dar consentimento na primeira vez que utilizarem uma aplicação. Os utilizadores só precisam de dar consentimento às permissões da API se a aplicação Microsoft Entra estiver registada num inquilino diferente.
URI da ID do Aplicativo
No painel esquerdo, em Gerir, selecione Expor uma API.
Junto a URI do ID da Aplicação, selecione Adicionar.
Atualize o URI do ID da Aplicação no
api://botid-{AppID}
formato e selecione Guardar.
Adicionar um âmbito
No painel esquerdo, em Gerir, selecione Expor uma API.
Selecione + Adicionar um âmbito.
Introduza access_as_user como o Nome do âmbito.
Em Quem pode consentir?, selecione Administradores e utilizadores.
Atualize os valores dos restantes campos da seguinte forma:
Introduza O Teams pode aceder ao perfil do utilizador como Nome a apresentar do consentimento do administrador.
Introduza Permite que o Teams chame as APIs Web da aplicação como o utilizador atual como Descrição do consentimento do administrador.
Introduza O Teams pode aceder ao perfil de utilizador e fazer pedidos em nome do utilizador como Nome a apresentar do consentimento do utilizador.
Introduza Ativar o Teams para chamar as APIs desta aplicação com os mesmos direitos que o utilizador que aDescrição do consentimento do utilizador.
Verifique se o Estado está definido como Habilitado.
Selecione Adicionar escopo.
A imagem seguinte mostra os campos e os valores:
Observação
O Nome do âmbito tem de corresponder ao URI do ID da Aplicação com
/access_as_user
acrescentado no final.
Adicionar aplicação cliente
No painel esquerdo, em Gerir, selecione Expor uma API.
Em Aplicações cliente autorizadas, identifique as aplicações que pretende autorizar para a aplicação Web da sua aplicação.
Selecione + Adicionar uma aplicação cliente.
Adicione o Teams para dispositivos móveis ou de ambiente de trabalho e a aplicação Web do Teams.
Para dispositivos móveis ou de ambiente de trabalho do Teams: introduza o ID de Cliente como
1fec8e78-bce4-4aaf-ab1b-5451cc387264
.Para a Web do Teams: introduza o ID de Cliente como
5e3ce6c0-2b1f-4285-8d4b-75ee78787346
.
Selecione a caixa de verificação Âmbitos autorizados .
Selecione Adicionar aplicativo.
A imagem seguinte apresenta o ID de Cliente:
Atualizar o manifesto
No painel esquerdo, selecione Manifesto.
Defina o valor para
accessTokenAcceptedVersion
2
e selecione Guardar.
Criar o bot
Criar um recurso de bot do Azure
Observação
Se já estiver a testar o bot no Teams, termine sessão nesta aplicação e no Teams. Para ver esta alteração, inicie sessão novamente.
Vá para a Página Inicial.
Selecione + Criar um recurso.
Na caixa de pesquisa, introduza Azure Bot.
Selecione Enter.
Selecione Bot do Azure.
Selecione Criar.
Introduza o nome do bot no Identificador do bot.
Selecione sua Assinatura na lista suspensa.
Selecione seu Grupo de recursos na lista suspensa.
Se não tiver um grupo de recursos existente, pode criar um novo grupo de recursos. Para criar um novo grupo de recursos, siga estes passos:
- Selecione Criar novo.
- Introduza o nome do recurso e selecione OK.
- Selecione uma localização na lista pendente Nova localização do grupo de recursos .
Em Preços, selecione Alterar plano.
Selecione Fo Gratuito>Selecionar.
Em ID da Aplicação Microsoft, selecione Tipo de Aplicação como Multi-Inquilino.
No Tipo de criação, selecione Utilizar registo de aplicações existente.
Introduza o ID da Aplicação.
Observação
Não pode criar mais do que um bot com o mesmo ID da Aplicação Microsoft.
Selecione Rever + criar.
Após a validação passar, selecione Criar.
O bot demora alguns minutos a aprovisionar.
Selecione Vá para o recurso.
Criou com êxito o bot do Azure.
Adicionar um canal do Teams
No painel esquerdo, selecione Canais.
Em Canais Disponíveis, selecione Microsoft Teams.
Selecione a caixa de verificação para aceitar os Termos de Serviço.
Selecione Concordar.
Selecione Aplicar.
Para adicionar um ponto final de mensagens
Utilize o URL do túnel de desenvolvimento na Consola de saída como ponto final de mensagens.
No painel esquerdo, em Definições, selecione Configuração.
Atualize o ponto final de Mensagens no formato
https://your-devtunnel-domain/api/messages
.Selecione Aplicar.
Configurou com êxito um bot no Azure Bot Service.
Observação
Se a chave de Instrumentação do Application Insights mostrar um erro, atualize com o ID da Aplicação.
Adicionar definições de ligação OAuth
No painel esquerdo, selecione Configuração.
Selecione Adicionar configurações de conexão OAuth.
Em Nova Definição de Ligação, atualize os seguintes detalhes:
- Nome: introduza um nome para a nova definição de ligação. Pode utilizar o nome nas definições do código do serviço de bot.
- Fornecedor de Serviços: na lista pendente, selecione Azure Active Directory v2.
- ID do cliente: atualize o ID da Aplicação Microsoft.
- Segredo do cliente: atualize o Valor dos segredos do cliente.
- URL do Exchange de Tokens: atualize o URI do ID da Aplicação.
- ID do Inquilino: introduza Comum.
- Âmbitos: introduza User.Read.
Selecione Salvar.
Configurar definições da aplicação e ficheiros de manifesto
Aceda ao ficheiro appsettings.json no repositório clonado.
Abra o ficheiro appsettings.json e atualize as seguintes informações:
- Defina
"MicrosoftAppId"
para o ID da Aplicação Microsoft do bot. - Defina
"MicrosoftAppPassword"
como o valor do ID do segredo do cliente do bot. - Defina
ConnectionName
como o nome da ligação OAuth. - Defina
"MicrosoftAppType"
como MultiTenant. - Defina
"MicrosoftAppTenantId"
como comum.
- Defina
Aceda ao ficheiro manifest.json no repositório clonado.
Abra o ficheiro manifest.json e atualize as seguintes alterações:
- Substitua todas as ocorrências de pelo ID da
"{TODO: MicrosoftAppId}"
Aplicação Microsoft. - Defina
"<<domain-name>>"
como o seu domínio de túnel ngrok ou dev.
- Substitua todas as ocorrências de pelo ID da
Criar e executar o serviço
Abra o Visual Studio.
Aceda a Ficheiro>Abrir>Projeto/Solução....
No bot-conversation-sso-quickstart>csharp_dotnetcore pasta e selecione BotConversationSsoQuickstart.sln ficheiro.
Selecione F5 para executar o projeto.
Se for apresentada uma caixa de diálogo Aviso de Segurança , selecione Sim.
É aberta uma página Web com uma mensagem O bot está pronto!.
Resolução de problemas
Se receber o erro Não é possível encontrar o pacote , siga estes passos:
- Aceda a Ferramentas>Definições do Gestor de Pacotes do Gestor > dePacotes NuGet.
- Na janela Opções apresentada, selecione Origens de Pacotes do Gestor> dePacotes NuGet.
- Selecione Adicionar.
- Em Nome, introduza
nuget.org
e em Origem, introduzahttps://api.nuget.org/v3/index.json
. - Selecione Atualizar e OK.
- Recrie o seu projeto.
Carregar o bot no Teams
No seu repositório clonado, aceda a Microsoft-Teams-Samples samples>bot-conversation-sso-quickstart>csharp_dotnetcore>BotConversationSsoQuickstart.>
Crie um ficheiro .zip com os seguintes ficheiros que estão presentes na pasta appPackage :
- manifest.json
- outline.png
- color.png
Aceda ao Microsoft Teams.
No cliente do Teams, selecione Aplicações.
Selecione Gerenciar seus aplicativos.
Selecione Carregar uma aplicação.
Procure a opção Carregar uma aplicação personalizada.
Selecione Abrir para carregar o ficheiro de .zip que criou na pasta Manifesto .
Selecione Adicionar para adicionar o bot à sua conversa.
Pode interagir com o bot enviando-lhe uma mensagem. O bot troca um token de SSO e chama a Graph API em seu nome. Mantém a sua sessão iniciada, a menos que envie uma mensagem para terminar sessão.
Envie uma mensagem para o bot. O bot de conversação pede consentimento pela primeira vez.
Para ambiente de trabalho: selecione Continuar para conceder permissões ao cliente do Teams para aceder ao bot.
Observação
Agora configurou o SSO com a sua aplicação de bot e é a única altura em que terá de dar consentimento.
Para dispositivos móveis: selecione Aceitar.
Observação
Agora configurou o SSO com a sua aplicação de bot em dispositivos móveis e é a única altura em que terá de dar consentimento.
Desafio completo
Encontrou algo assim?
Parabéns!
Concluiu o tutorial para começar a criar um bot com autenticação SSO.
Tem algum problema com essa seção? Se tiver, envie seus comentários para que possamos melhorar esta seção.