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 :
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
- Node.JS
- Visual Studio Code ou un autre éditeur de code
É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.
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 :