SSO para separadores e extensão de mensagens
O início de sessão único do Microsoft Entra (Microsoft Entra SSO) ajuda a autenticar os utilizadores no Teams.
Aspetos fundamentais do SSO do Microsoft Entra:
- Permite que o utilizador inicie sessão automaticamente após o primeiro início de sessão.
- Permite que o utilizador inicie sessão noutros dispositivos sem introduzir credenciais novamente.
- Obtém o token para o utilizador com sessão iniciada.
Este guia passo a passo ajuda-o a criar separadores e extensões de mensagens que permitem a autenticação do SSO do Microsoft Entra. 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. | |
Conta de programador do Microsoft 365 | Acesso à conta do Teams com as permissões adequadas para instalar uma aplicação. | |
SDK .NET Core | Enlaces personalizados para depuração local e implementações de aplicações das Funções do Azure. Se ainda não instalou a versão mais recente, instale a versão portátil. | |
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. | |
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 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.
Adicionar URI do ID da Aplicação
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://your-devtunnel-domain/botid-{AppID}
formato ouapi://your-ngrok-domain/botid-{AppID}
e selecione Guardar.A imagem seguinte mostra o nome de domínio:
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 as definições da aplicação
Aceda ao ficheiro appsettings.json no repositório clonado.
Abra o ficheiro appsettings.json no Visual Studio.
Atualize as seguintes informações:
- Substitua
"MicrosoftAppId"
pelo ID da Aplicação Microsoft do bot. - Substitua pelos
"MicrosoftAppPassword"
segredos do cliente do bot Valor. - Substitua pelo
"SiteUrl"
URL do ngrok. - Substitua
"ConnectionName"
pelo nome da definição de ligação OAuth. - Substitua
"TenantId"
pelo ID de inquilino do inquilino onde a aplicação é utilizada. - Substitua
"ClientId"
pelo ID da Aplicação Microsoft do bot. - Substitua pelos
"AppSecret"
segredos do cliente do bot Valor. - Substitua
"ApplicationIdURI"
na forma deapi://*******.ngrok.io/botid-{AppID}
.
- Substitua
Configurar o ficheiro de manifesto
Aceda ao ficheiro manifest.json no repositório clonado.
Abra o ficheiro manifest.json no Visual Studio e faça as seguintes alterações:
Substitua pelo
DOMAIN-NAME
URL do ngrok.Substitua pelo
YOUR-MICROSOFT-APP-ID
ID da Aplicação Microsoft do bot.Observação
Dependendo do cenário
[YOUR-MICROSOFT-APP-ID]
e[DOMAIN-NAME]
pode ocorrer várias vezes.Substitua
resource
comoapi://*******.ngrok.io/botid-{AppID}
.
Criar e executar o serviço
Para criar e executar o serviço, utilize o Visual Studio ou a Linha de comandos.
Abra o Visual Studio.
Selecione Ficheiro>Abrir>Projeto/Solução....
Na pasta csharp , selecione Ficheiro SSO de Aplicação Sample.csproj .
Pressione F5 para executar o projeto.
Selecione Sim se a caixa de diálogo a seguir for exibida:
É apresentada uma página Web com uma mensagem O bot está pronto!
Carregar a Aplicação SSO para o Teams
No seu repositório clonado, aceda a csharp>App SSO Sample>TeamsAppManifest.
Crie um ficheiro .zip com os seguintes ficheiros que estão presentes na pasta Manifesto :
- manifest.json
- icon-outline.png
- icon-color.png
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 encontrar a opção para carregar uma aplicação personalizada.
Selecione Abrir para carregar o ficheiro .zip que criou na pasta Manifesto .
Selecione Adicionar.
Envie uma mensagem para o bot.
O bot executa o SSO e apresenta o cartão de perfil juntamente com o pedido de opção para ver o token.
Selecione Sim para ver o token ou Não para continuar o chat.
Se o SSO não for executado, o bot efetua o método de autenticação predefinido para o seu separador.
Para iniciar sessão, se o SSO não for executado:
No painel esquerdo do Teams, selecione Mais aplicações adicionadas (●●●).
Selecione a sua nova aplicação SSO.
Selecione iniciar sessão.
Introduza as suas credenciais na janela Iniciar sessão e selecione Seguinte.
Selecione Aceitar.
Selecione o seu perfil na caixa de pesquisa. Verá o seguinte resultado:
Enviar
https://profile.botframework.com
para a aplicação para obter um cartão de perfil.
Desafio completo
Encontrou um resultado como este?
Parabéns!
Concluiu o tutorial para começar a utilizar o SSO para a aplicação de extensão de separador e mensagem.
Tem algum problema com essa seção? Se tiver, envie seus comentários para que possamos melhorar esta seção.