Partilhar via


Guia de início rápido: adquira um token e chame a API do Microsoft Graph de um aplicativo da área de trabalho do Windows

Bem-vindo! Esta provavelmente não é a página que você estava esperando. Enquanto trabalhamos em uma correção, este link deve levá-lo ao artigo certo:

Guia de início rápido: Inicie sessão de utilizadores e aceda ao Microsoft Graph num aplicativo de ambiente de trabalho do Windows

Pedimos desculpas pelo inconveniente e agradecemos a sua paciência enquanto trabalhamos para resolver este problema.

Neste guia de início rápido, descarregará e executará um exemplo de código que demonstra como uma aplicação Windows Presentation Foundation (WPF) pode autenticar utilizadores e obter um token de acesso para chamar a API do Microsoft Graph.

Consulte Como funciona o exemplo para obter uma ilustração.

Etapa 1: Configurar seu aplicativo no portal do Azure

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

Já configurado Seu aplicativo está configurado com esses atributos.

Passo 2: Transfira o seu projeto do Visual Studio

Execute o projeto usando o Visual Studio 2019.

Sugestão

Para evitar erros causados por limitações de comprimento de caminho no Windows, recomendamos extrair o arquivo ou clonar o repositório em um diretório perto da raiz da unidade.

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

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

Observação

Enter_the_Supported_Account_Info_Here

Mais informações

Como funciona a amostra

Mostra como funciona o aplicativo de exemplo gerado por este início rápido

MSAL.NET

MSAL (Microsoft.Identity.Client) é a biblioteca utilizada no sentido de autenticar utilizadores e solicitar tokens utilizados para aceder a uma API protegida pela plataforma de identidade da Microsoft. Pode instalar a MSAL ao executar o comando seguinte na Consola do Gestor de Pacotes do Visual Studio:

Install-Package Microsoft.Identity.Client -IncludePrerelease

Inicialização do MSAL

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

using Microsoft.Identity.Client;

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

IPublicClientApplication publicClientApp = PublicClientApplicationBuilder.Create(ClientId)
                .WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
                .WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
                .Build();
Onde: Descrição
ClientId É o ID de Aplicação (cliente) da aplicação registada no portal do Azure. Pode encontrar este valor na página Descrição geral da aplicação no portal do Azure.

A solicitação de 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 dar consentimento. Eis alguns exemplos:

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

Obter um token de usuário silenciosamente

Você não deseja exigir que o usuário valide suas credenciais toda vez que precisar acessar um recurso. Na maioria das vezes, você deseja aquisições e renovações de tokens sem qualquer 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();
Onde: Descrição
scopes Contém os escopos que estão sendo solicitados, como { "user.read" } para o Microsoft Graph ou { "api://<Application ID>/access_as_user" } para APIs da Web personalizadas.
firstAccount Especifica o primeiro usuário no cache (o MSAL oferece suporte a vários usuários em um único aplicativo).

Ajuda e suporte

Se precisar de ajuda, quiser comunicar um problema ou quiser saber mais sobre as suas opções de suporte, consulte Ajuda e suporte para programadores.

Próximos passos

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