Démarrage rapide : Acquérir un jeton d’accès et appeler l’API Microsoft Graph depuis une application de bureau Electron

Bienvenue ! Ce n’est probablement pas la page que vous attendiez. Pendant que nous travaillons sur un correctif, ce lien devrait vous permettre d’accéder au bon article :

Démarrage rapide : connectez les utilisateurs et appelez Microsoft Graph à partir d'une application de bureau Node.js

Nous vous prions de nous excuser pour le désagrément et nous vous remercions de votre patience.

Dans ce guide de démarrage rapide, vous téléchargez et vous exécutez un exemple de code qui montre comment une application de bureau Electron peut connecter des utilisateurs et acquérir des jetons d’accès pour appeler l’API Microsoft Graph.

Ce guide de démarrage rapide utilise la bibliothèque d’authentification Microsoft pour Node.js (MSAL Node) avec le flux de code d’autorisation avec PKCE.

Prérequis

Étape 1 : Configurer l’application dans le portail Azure

Pour que l’exemple de code de ce guide de démarrage rapide fonctionne, vous devez ajouter une URL de réponse comme msal://redirect.

Already configured Votre application est configurée avec ces attributs.

Étape 2 : Télécharger l’exemple de projet Electron

Notes

Enter_the_Supported_Account_Info_Here

Étape 4 : Exécution de l'application

Vous devez installer les dépendances de cet exemple une seule fois :

npm install

Ensuite, exécutez l’application via l’invite de commandes ou la console :

npm start

Vous devez voir l’interface utilisateur de l’application avec un bouton Se connecter.

À propos du code

Voici quelques-uns des aspects importants de l’exemple d’application.

MSAL Node

MSAL Node est la bibliothèque utilisée pour connecter les utilisateurs et demander des jetons permettant d’accéder à une API protégée par la plateforme d’identités Microsoft. Pour plus d’informations sur l’utilisation de MSAL Node avec des applications de bureau, consultez cet article.

Vous pouvez installer MSAL Node en exécutant la commande npm suivante.

npm install @azure/msal-node --save

Initialisation MSAL

Vous pouvez ajouter la référence pour MSAL Node en ajoutant le code suivant :

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

Ensuite, initialisez MSAL à l’aide du code suivant :

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);
Où : Description
clientId Est l’ID d’application (client) de l’application inscrite dans le portail Azure. Vous pouvez retrouver cette valeur dans la page Vue d’ensemble de l’application dans le portail Azure.
authority Point de terminaison STS pour l’utilisateur à authentifier. Généralement https://login.microsoftonline.com/{tenant} pour un cloud public, où {tenant} est le nom ou l’ID de votre locataire.

Demande de jetons

Vous pouvez utiliser l’API publique acquireTokenInteractive de MSAL Node pour acquérir des jetons par le biais d’un agent utilisateur externe tel que le navigateur système par défaut.

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;
}

Étapes suivantes

Pour plus d’informations sur le développement d’applications de bureau avec MSAL Node, consultez le tutoriel :