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:
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
- Node.js
- Visual Studio Code ou outro editor de código
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.
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: