Início rápido: Adquirir um token de acesso e chamar a API do Microsoft Graph em um aplicativo da área de trabalho do Electron

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:

Início Rápido: Conectar usuários e chamar o Microsoft Graph de um aplicativo da área de trabalho Node.js

Lamentamos a 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 da área de trabalho Electron pode conectar usuários e adquirir um token de acesso para chamar a API do Microsoft Graph.

Este guia de início rápido usa a Biblioteca de Autenticação da Microsoft para Node.js (MSAL Node) com o fluxo de código de autorização com PKCE.

Pré-requisitos

Etapa 1: Configurar o aplicativo no portal do Azure

Para que o exemplo de código deste início rápido funcione, você precisará adicionar uma URL de resposta como msal://redirect.

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

Etapa 2: Baixar o projeto de exemplo do Electron

Observação

Enter_the_Supported_Account_Info_Here

Etapa 4: Executar o aplicativo

Você precisará instalar as dependências deste exemplo uma só vez:

npm install

Em seguida, execute o aplicativo via prompt de comando ou console:

npm start

Você deve ver a interface do usuário do aplicativo com um botão Entrar.

Observações sobre o código

Abaixo, alguns aspectos importantes do aplicativo de exemplo são discutidos.

Nó MSAL

MSAL Node é a biblioteca usada para conectar usuários e solicitar tokens usados para acessar uma API protegida pela plataforma de identidade da Microsoft. Para obter mais informações sobre como usar o MSAL Node com aplicativos da área de trabalho, confira este artigo.

Instale o MSAL Node executando o comando npm a seguir.

npm install @azure/msal-node --save

Inicialização da MSAL

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

const { PublicClientApplication } = require('@azure/msal-node');

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

const MSAL_CONFIG = {
    auth: {
        clientId: "Enter_the_Application_Id_Here",
        authority: "https://login.microsoftonline.com/Enter_the_Tenant_Id_Here",
    },
};

const pca = new PublicClientApplication(MSAL_CONFIG);
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.
authority O ponto de extremidade do STS para o usuário autenticar. Normalmente, https://login.microsoftonline.com/{tenant} para a nuvem pública, em que {tenant} é o nome do seu locatário ou ID do seu locatário.

Solicitando tokens

Use a API pública acquireTokenInteractive do MSAL Node para adquirir tokens por meio de um agente de usuário externo, como o navegador do sistema padrão.

const { shell } = require('electron');

try {
   const openBrowser = async (url) => {
       await shell.openExternal(url);
   };

   const authResponse = await pca.acquireTokenInteractive({
       scopes: ["User.Read"],
       openBrowser,
       successTemplate: '<h1>Successfully signed in!</h1> <p>You can close this window now.</p>',
       failureTemplate: '<h1>Oops! Something went wrong</h1> <p>Check the console for more information.</p>',
   });

   return authResponse;
} catch (error) {
   throw error;
}

Próximas etapas

Para saber mais sobre o desenvolvimento de aplicativo da área de trabalho Electron com o MSAL Node, confira o tutorial: