Compartilhar via


Início Rápido: Conectar usuários e chamar o Microsoft Graph em um aplicativo da área de trabalho do Windows

Neste início rápido, você baixa e executa 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. O aplicativo de desktop que você constrói usa o fluxo de código de autorização emparelhado com o padrão Chave de Prova para a Troca de Código (PKCE).

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

Pré-requisitos

Registrar e baixar seu aplicativo de início rápido

Você tem duas opções para iniciar seu aplicativo de início rápido:

Opção 1: Registrar e configurar automaticamente seu aplicativo e, em seguida, baixar o exemplo de código

  1. Acesse o Centro de administração do Microsoft Entra – experiência de início rápido dos registros de aplicativo.
  2. Insira um nome para seu aplicativo e selecione Registre.
  3. Siga as instruções para baixar e configurar automaticamente seu novo aplicativo com apenas um clique.

Opção 2: registrar e configurar manualmente o aplicativo e o exemplo de código

Etapa 1: Registrar seu aplicativo

Para registrar seu aplicativo e adicionar as informações de registro do aplicativo à sua solução manualmente, siga estas etapas:

  1. Entre no centro de administração do Microsoft Entra.
  2. Se você tiver acesso a vários locatários, use o ícone Configurações na barra de menu superior para alternar para o locatário onde deseja registrar o aplicativo no menu Diretórios + assinaturas.
  3. Navegue até Identidade>Aplicativos>Registros de aplicativo e selecione Novo registro.
  4. Insira um Nome para seu aplicativo, por exemplo, Win-App-calling-MsGraph. Os usuários do seu aplicativo podem ver esse nome e você pode alterá-lo mais tarde.
  5. Na seção Tipos de conta com suporte, selecione Contas em qualquer diretório organizacional e contas pessoais da Microsoft (por exemplo, Skype, Xbox, Outlook.com).
  6. Selecione Registrar para criar o aplicativo.
  7. Em Gerenciar, selecione Autenticação.
  8. Selecione Adicionar uma plataforma>Aplicativos móveis e de área de trabalho.
  9. Na seção URIs de redirecionamento, selecione https://login.microsoftonline.com/common/oauth2/nativeclient e, em URIs de redirecionamento personalizados, adicione ms-appx-web://microsoft.aad.brokerplugin/{client_id} onde {client_id} é a ID do cliente do seu aplicativo (o mesmo GUID que aparece na caixa de seleção msal{client_id}://auth).
  10. Selecione Configurar.

Etapa 2: Baixar o projeto

Baixar o aplicativo de exemplo do WPF

Dica

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 na raiz da unidade.

Etapa 3: Configurar o projeto

  1. Extraia o arquivo zip para uma pasta local perto da raiz do disco, por exemplo, C:\Azure-Samples.

  2. Abra o projeto no Visual Studio.

  3. Edite App.Xaml.cs e substitua os valores dos campos ClientId e Tenant pelo seguinte código:

    private static string ClientId = "Enter_the_Application_Id_here";
    private static string Tenant = "Enter_the_Tenant_Info_Here";
    

Em que:

  • Enter_the_Application_Id_here - é a ID do aplicativo (cliente) que você registrou.

    Para encontrar os valores da ID do aplicativo (cliente), acesse a página Visão Geral do Centro de administração do Microsoft Entra.

  • Enter_the_Tenant_Info_Here - está definido como uma das seguintes opções:

    • Se o aplicativo der suporte a contas neste diretório organizacional, substitua esse valor pelo de ID do Locatário ou de nome de locatário (por exemplo, contoso.microsoft.com)

    • Se o aplicativo der suporte a contas em qualquer diretório organizacional, substitua esse valor por organizations

    • Se o aplicativo der suporte a contas em qualquer diretório organizacional e contas pessoais da Microsoft, substitua esse valor por common.

      Para encontrar os valores da ID do d1iretório (locatário) e dos Tipos de conta compatíveis, acesse a página Visão geral no Centro de administração do Microsoft Entra.

Etapa 4: Executar o aplicativo

Para criar e executar o aplicativo de exemplo no Visual Studio, selecione o Menu de depuração>Iniciar Depuração ou pressione a tecla F5. A janela principal do seu aplicativo é exibida.

Quando a janela principal do aplicativo for exibida, selecione o botão Chamar a API do Microsoft Graph. Você será solicitado a entrar usando sua conta do Microsoft Entra (conta corporativa ou de estudante) ou credenciais de conta da Microsoft (live.com, outlook.com).

Se você estiver executando o aplicativo pela primeira vez, será solicitado que você forneça consentimento para permitir que o aplicativo acesse seu perfil de usuário e entre. Depois de consentir com as permissões solicitadas, o aplicativo exibe que você fez logon com êxito. Você deve ver algumas informações básicas de token e dados de usuário obtidos da chamada para a API do Microsoft Graph.

Mais informações

Como o exemplo funciona

Diagrama mostrando como o aplicativo de exemplo gerado por este início rápido funciona.

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 seguinte comando 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 para 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) do aplicativo registrado no Centro de administração do Microsoft Entra. Você pode encontrar esse valor na página Visão geral do aplicativo no Centro de administração do Microsoft Entra.

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 dar consentimento. Alguns exemplos incluem:

  • A primeira vez que os usuários entrarem no aplicativo
  • Quando os usuários podem precisar inserir novamente suas credenciais porque a senha expirou
  • Quando seu aplicativo está solicitando acesso a um recurso que o usuário precisa consentir
  • Quando a autenticação de dois fatores é necessária
authResult = await app.AcquireTokenInteractive(_scopes)
                                      .ExecuteAsync();
Em que: 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 Web personalizadas.

Obter um token de usuário silenciosamente

Você não deseja exigir que o usuário valide suas credenciais sempre que precisar acessar um recurso. Na maioria das vezes, você deseja aquisições e renovação de token 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 de AcquireTokenInteractive inicial:

var accounts = await app.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await app.AcquireTokenSilent(scopes, firstAccount)
                                      .ExecuteAsync();
Em que: 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 Web personalizadas.
firstAccount Especifica o primeiro usuário no cache (a MSAL dá suporte a vários usuários em um único aplicativo).

Ajuda e suporte

Se você precisar de ajuda, deseje relatar um problema ou quiser saber mais sobre suas opções de suporte, consulte Ajuda e suporte para desenvolvedores.

Próximas etapas

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.