Partilhar via


Configurar projetos de API Office 365 para distribuição

Esta página explica algumas etapas que os desenvolvedores devem considerar assumir em seus projetos que aproveitam as APIs Office 365 antes de distribuí-las para outros desenvolvedores, seus clientes ou para sistemas de controle de origem, como Team Foundation Server, Git ou Visual Studio Team Services.

Especificamente, esta página analisa duas etapas:

  • Corrigir a referência do Pacote NuGet do Cliente do Azure AD Graph
  • Limpar o arquivo web.config para obter detalhes específicos do aplicativo

Corrigir a referência do Pacote NuGet do Cliente do Azure AD Graph

Todos os projetos que aproveitam os SDKs de API Office 365 por meio da adição de um serviço conectado incluem um pacote NuGet que adiciona referências Office 365 e do Azure Active Directory (Azure AD) ao projeto criado no Visual Studio.

O pacote NuGet adicionado ao projeto pelo Office 365 Ferramentas de API no Visual Studio não está presente no registro de pacotes NuGet e, portanto, tenta executar uma falha na restauração do pacote NuGet porque não consegue encontrar um pacote correspondente.

Entendendo o problema

O Office 365 Ferramentas de API para Visual Studio, versão 1.3.41104.1, adiciona vários pacotes NuGet a projetos como parte da conclusão do Assistente de Serviço Conectado de Adição. Um pacote em particular apresenta um desafio: a biblioteca de clientes Microsoft Azure Active Directory Graph.

A maneira como o Visual Studio funciona é que ele, ou suplementos, normalmente contêm uma cópia local do pacote NuGet para que os desenvolvedores nem sempre precisem estar conectados à Internet para baixar os pacotes NuGet. O pacote que as ferramentas incluem tem uma ID do Microsoft.Azure.ActiveDirectory.GraphClient e uma versão de 1.0.22.

Quando os projetos são comprometidos com o controle de origem, normalmente os pacotes não são incluídos como parte do commit porque podem adicionar muitas demandas extras de espaço de armazenamento e aumentar desnecessariamente o tamanho de um pacote ao compartilhá-lo com outros desenvolvedores. Portanto, uma das primeiras tarefas que os desenvolvedores fazem após obter uma cópia do projeto do controle de origem é executar a restauração do pacote NuGet.

O desafio é que um pacote com a mesma ID e versão não existe no registro de pacote NuGet; não há nenhum pacote com uma ID de Microsoft.Azure.ActiveDirectory.GraphClient e uma versão de 1.0.22. O pacote existe no registro de pacote NuGet, Microsoft.Azure.ActiveDirectory.GraphClient, mas em versões diferentes.

Corrigir a referência do Pacote NuGet do Cliente do Azure AD Graph

Até que as ferramentas de API Office 365 para Visual Studio sejam atualizadas para corrigir esse problema, recomendamos que você altere o projeto antes de se comprometer com o sistema de controle de origem, independentemente de você estar usando o Team Foundation Server, Visual Studio Team Services, Git ou qualquer outra solução.

Depois de criar o projeto, procure no arquivo packages.config do projeto e pesquise um pacote com uma ID de Microsoft.Azure.ActiveDirectory.GraphClient e uma versão de 1.0.22. A maneira mais segura de atualizar o projeto é desinstalar e reinstalar o pacote.

Abra o Console do Gerenciador de Pacotes no Visual Studio e insira o seguinte para desinstalar o pacote:

  PM> Uninstall-Package -Id Microsoft.Azure.ActiveDirectory.GraphClient

Observação

Se a desinstalação gerar um erro sobre não encontrar o pacote, basta remover a referência do pacote do arquivo packages.config manualmente e salvar suas alterações.

Agora, instale a versão pública do mesmo pacote NuGet do registro público:

  PM> Install-Package -Id Microsoft.Azure.ActiveDirectory.GraphClient -Version 2.0.2

Observação

O exemplo anterior faz referência a uma versão específica do cliente Azure AD Graph que é conhecido por trabalhar com as APIs Office 365. Versões futuras podem funcionar, portanto, omitir o -Version argumento é opcional.

Limpar o arquivo web.config para obter detalhes específicos do aplicativo

As ferramentas de API Office 365 para Visual Studio adicionam a capacidade de criar um novo aplicativo Azure AD com as permissões necessárias para as APIs Office 365 usando o Assistente de Serviço Conectado no Visual Studio. Ao concluir o assistente, várias entradas e personalizações são feitas no arquivo web.config do projeto.

Essas modificações incluem as seguintes configurações de suplemento:

  • ida:ClientID: A ID exclusiva do aplicativo criado em seu locatário Azure AD.
  • ida:Senha: a chave do aplicativo Azure AD que foi gerada pelo Assistente de Serviço Conectado.
  • ida:AuthorizationUri: o ponto de extremidade usado para autenticar com Azure AD.

O ida:ClientID e ida:Password são exclusivos do aplicativo Azure AD. Algumas equipes de desenvolvimento podem optar por cada desenvolvedor para codificar em seu próprio aplicativo, semelhante à forma como os desenvolvedores trabalham em relação ao seu próprio banco de dados de desenvolvimento local. Portanto, você pode pensar nas cadeias ida:ClientID e ida:Password como semelhantes às cadeias de conexão de banco de dados.

Na próxima vez que um desenvolvedor usar o Assistente de Serviço Conectado para criar um novo aplicativo Azure AD do projeto, o assistente detecta o ida:CliendID e tenta se conectar a um aplicativo no locatário Azure AD do usuário atual. Se uma correspondência não for encontrada, o Assistente de Serviço Conectado gerará um erro.

Portanto, antes de comprometer o projeto ao controle de origem ou antes de compartilhar com outros desenvolvedores, é recomendável remover os valores das configurações ida:ClientID e ida:Suplemento de senha no arquivo web.config.

Confira também