Schnellstart: Abrufen eines Zugriffstokens und Aufrufen der Microsoft Graph-API über eine Electron-Desktop-App

Willkommen! Dies ist wahrscheinlich nicht die Seite, die Sie erwartet haben. Während wir an einer Korrektur arbeiten, sollten Sie über diesen Link zum richtigen Artikel gelangen:

Schnellstart: Anmelden von Benutzern und Aufrufen von Microsoft Graph in einer Node.js-Desktop-App

Wir entschuldigen uns für die Unannehmlichkeiten und bitten Sie um Geduld, während wir an einer Lösung arbeiten.

Das Codebeispiel, das in dieser Schnellstartanleitung heruntergeladen und ausgeführt wird, zeigt, wie eine Electron-Desktopanwendung Benutzer anmelden und Zugriffstoken abrufen kann, um die Microsoft Graph-API aufzurufen.

In dieser Schnellstartanleitung wird die Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL) für Node.js (MSAL Node) mit dem Autorisierungscodeflow mit PKCE verwendet.

Voraussetzungen

Schritt 1: Konfigurieren der Anwendung im Azure-Portal

Damit das Codebeispiel für diese Schnellstartanleitung funktioniert, muss ein Antwort-URI als msal://redirect hinzugefügt werden.

Already configured Ihre Anwendung ist mit diesen Attributen konfiguriert.

Schritt 2: Herunterladen des Electron-Beispielprojekts

Hinweis

Enter_the_Supported_Account_Info_Here

Schritt 4: Ausführen der Anwendung

Sie müssen einmalig die Abhängigkeiten dieses Beispiels installieren:

npm install

Führen Sie dann die Anwendung über die Eingabeaufforderung oder über die Konsole aus:

npm start

Daraufhin sollte die Benutzeroberfläche der Anwendung mit einer Anmeldeschaltfläche angezeigt werden.

Informationen zum Code

Im Anschluss werden einige wichtige Aspekte der Beispielanwendung erläutert.

MSAL Node

MSAL Node ist die Bibliothek zum Anmelden von Benutzern und Anfordern von Token, die für den Zugriff auf eine durch Microsoft Identity Platform geschützte API verwendet wird. Weitere Informationen zur Verwendung von MSAL Node mit Desktop-Apps finden Sie in diesem Artikel.

MSAL Node kann mithilfe des folgenden npm-Befehls installiert werden:

npm install @azure/msal-node --save

MSAL-Initialisierung

Sie können den Verweis auf MSAL Node hinzufügen, indem Sie den folgenden Code hinzufügen:

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

Initialisieren Sie MSAL anschließend mit dem folgenden 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);
Hierbei gilt: BESCHREIBUNG
clientId Die Anwendungs-ID (Client) für die im Azure-Portal registrierte Anwendung. Dieser Wert befindet sich im Azure-Portal auf der Seite Übersicht der App.
authority Der STS-Endpunkt für den zu authentifizierenden Benutzer. Normalerweise https://login.microsoftonline.com/{tenant} für die öffentliche Cloud, wobei „{tenant}“ der Name Ihres Mandanten bzw. Ihre Mandanten-ID ist.

Anfordern von Token

Sie können die öffentliche acquireTokenInteractive-API von MSAL Node verwenden, um Token über einen externen Benutzer-Agent wie den Standardsystembrowser abzurufen.

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

Nächste Schritte

Weitere Informationen zur Entwicklung von Electron-Desktop-Apps mit MSAL Node finden Sie im folgenden Tutorial: