Guia de início rápido: adquirir um token e chamar a API do Microsoft Graph por meio de um aplicativo da área de trabalho do Windows

Seja bem-vindo! Essa provavelmente não é a página que você esperava. Enquanto trabalhamos em uma correção, este link direcionará você para o artigo certo:

Guia de início rápido: conectar usuários e chamar o Microsoft Graph em um aplicativo da área de trabalho do Windows

Pedimos desculpas pela inconveniência e agradecemos sua paciência enquanto trabalhamos para resolver isso.

Neste guia de início rápido, você baixará e executará um exemplo de código que demonstra como um aplicativo do WPF (Windows Presentation Foundation) pode conectar usuários e obter um token de acesso para chamar a API do Microsoft Graph.

Confira Como o exemplo funciona para ver uma ilustração.

Etapa 1: Configurar seu aplicativo no portal do Azure

Para que o exemplo de código funcione neste guia de início rápido, adicione um URI de Redirecionamento de https://login.microsoftonline.com/common/oauth2/nativeclient e ms-appx-web://microsoft.aad.brokerplugin/{client_id}.

Already configured Esses atributos já estão configurados no seu aplicativo.

Etapa 2: Baixar seu projeto do Visual Studio

Execute o projeto usando o Visual Studio 2019.

Dica

Para evitar erros causados por limitações de comprimento do caminho no Windows, é recomendável extrair os arquivos em um diretório próximo à raiz da unidade.

Etapa 3: seu aplicativo está configurado e pronto para ser executado

Configuramos seu projeto com os valores das propriedades do aplicativo e ele está pronto para ser executado.

Observação

Enter_the_Supported_Account_Info_Here

Mais informações

Como o exemplo funciona

Shows how the sample app generated by this quickstart works

MSAL.NET

MSAL (Microsoft.Identity.Client) é a biblioteca usada para conectar usuários e solicitar tokens usados para acessar uma API protegida pela plataforma de identidade da Microsoft. Você pode instalar a MSAL executando o comando abaixo no Console do Gerenciador de Pacotes do Visual Studio:

Install-Package Microsoft.Identity.Client -IncludePrerelease

Inicialização da MSAL

Você pode adicionar a referência da MSAL adicionando o seguinte código:

using Microsoft.Identity.Client;

Em seguida, inicialize a MSAL usando o seguinte código:

IPublicClientApplication publicClientApp = PublicClientApplicationBuilder.Create(ClientId)
                .WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
                .WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
                .Build();
Em que: Descrição
ClientId É a ID do aplicativo (cliente) relativa ao aplicativo registrado no portal do Azure. Você pode encontrar esse valor na página Visão Geral do aplicativo no portal do Azure.

Solicitando tokens

A MSAL tem dois métodos para adquirir tokens: AcquireTokenInteractive e AcquireTokenSilent.

Obter um token de usuário interativamente

Algumas situações exigem forçar os usuários a interagir com a plataforma de identidade da Microsoft por meio de uma janela pop-up para validar suas credenciais ou para dar consentimento. Alguns exemplos incluem:

  • A primeira vez que os usuários entram no aplicativo
  • Quando os usuários precisam reinserir suas credenciais porque a senha expirou
  • Quando seu aplicativo está solicitando acesso a um recurso com o qual o usuário precisa consentir
  • Quando a autenticação de dois fatores é necessária
authResult = await App.PublicClientApp.AcquireTokenInteractive(_scopes)
                                      .ExecuteAsync();
Em que: Descrição
_scopes Contém os escopos que estão sendo solicitados, por exemplo, { "user.read" } para o Microsoft Graph ou { "api://<Application ID>/access_as_user" } para APIs Web personalizadas.

Obter um token de usuário no modo silencioso

Não convém exigir que o usuário valide suas credenciais sempre que precisar acessar um recurso. Na maioria das vezes, você quer aquisições e renovação de tokens sem nenhuma interação do usuário. Você pode usar o método AcquireTokenSilent para obter tokens para acessar recursos protegidos após o método AcquireTokenInteractive inicial:

var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
                                      .ExecuteAsync();
Em que: Descrição
scopes Contém os escopos que estão sendo solicitados, por exemplo, { "user.read" } para o Microsoft Graph ou { "api://<Application ID>/access_as_user" } para APIs Web personalizadas.
firstAccount Especifica primeiro usuário no cache (a MSAL dá suporte a vários usuários em um mesmo aplicativo).

Ajuda e suporte

Se precisar de ajuda, quiser relatar um problema ou desejar saber mais sobre as opções de suporte, confira Ajuda e suporte para desenvolvedores.

Próximas etapas

Experimente o tutorial de área de trabalho do Windows para ver um guia passo a passo completo sobre a criação de aplicativos e novos recursos, incluindo uma explicação completa deste início rápido.