Quickstart: Een toegangstoken verkrijgen en de Microsoft Graph API aanroepen vanuit een Electron-bureaublad-app

Welkom. Dit is waarschijnlijk niet de pagina die u verwachtte te zien. Terwijl we aan een oplossing voor dit probleem werken, kunt u met deze koppeling naar het juiste artikel gaan:

Quickstart: Gebruikers aanmelden en Microsoft Graph aanroepen vanuit een Node.js desktop-app

Onze excuses voor het ongemak en bedankt voor uw geduld tijdens onze inspanningen om dit probleem op te lossen.

In deze quickstart downloadt u een codevoorbeeld en voert u dit uit. Het codevoorbeeld laat zien hoe gebruikers kunnen worden aangemeld met een Electron-toepassing, en een toegangstoken kunnen krijgen om de Microsoft Graph API aan te roepen.

In deze quickstart wordt de Microsoft Authentication Library voor Node.js (MSAL Node) gebruikt met de verificatiecodestroom met PKCE.

Vereisten

Stap 1: De toepassing configureren in de Azure-portal

Voor een juiste werking van het codevoorbeeld uit deze quickstart, moet u een antwoord-URL als msal://redirect toevoegen.

Already configured Uw toepassing is geconfigureerd met deze kenmerken.

Stap 2: Het Electron-voorbeeldproject downloaden

Notitie

Enter_the_Supported_Account_Info_Here

Stap 4: De toepassing uitvoeren

U moet de afhankelijkheden van dit voorbeeld eenmaal installeren:

npm install

Voer dan de toepassing uit via de opdrachtprompt of console:

npm start

U ziet nu de gebruikersinterface van de toepassing met de knop Aanmelden .

Over de code

Hieronder worden enkele belangrijke aspecten van de voorbeeldtoepassing besproken.

MSAL Node

MSAL Node is de bibliotheek die wordt gebruikt voor het aanmelden van gebruikers en de aanvraagtokens die worden gebruikt voor toegang tot een API die is beveiligd via het Microsoft-identiteitsplatform. Zie dit artikel voor meer informatie over het gebruik van MSAL Node met bureaublad-apps.

U kunt MSAL Node installeren door de volgende npm-opdracht uit te voeren.

npm install @azure/msal-node --save

MSAL initialiseren

U kunt de verwijzing voor MSAL Node toevoegen door de volgende code toe te voegen:

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

Vervolgens initialiseert u MSAL met de volgende code:

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);
Hierin: Beschrijving
clientId Is de Toepassings-id (client-id) voor de toepassing die is geregistreerd in de Azure-portal. U vindt deze waarde op de pagina Overzicht in de Azure-portal.
authority Het STS-eindpunt voor de gebruiker voor verificatie. Dat is meestal https://login.microsoftonline.com/{tenant} voor de openbare cloud, waarbij {tenant} de naam van uw tenant of uw tenant-id is.

Tokens aanvragen

U kunt de openbare API acquireTokenInteractive van MSAL Node gebruiken om tokens te verkrijgen via een externe gebruikersagent, zoals de standaardsysteembrowser.

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

Volgende stappen

Zie voor meer informatie over de ontwikkeling van Electron bureaublad-apps met MSAL Node de zelfstudie: