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

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

Registrieren und Herunterladen der Beispielanwendung

Führen Sie die folgenden Schritte aus:

Schritt 1: Registrieren der Anwendung

Tipp

Die Schritte in diesem Artikel können je nach dem Portal, mit dem Sie beginnen, geringfügig variieren.

Führen Sie die folgenden Schritte aus, um Ihre Anwendung zu registrieren und Ihrer Projektmappe manuell die Registrierungsinformationen Ihrer App hinzuzufügen:

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens als Cloudanwendungsadministrator an.
  2. Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie das Symbol für Einstellungen im oberen Menü, um zum Mandanten zu wechseln, in dem Sie die Anwendung über das Menü Verzeichnisse + Abonnements registrieren möchten.
  3. Wechseln Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie Neue Registrierung aus.
  4. Geben Sie unter Name einen Namen für Ihre Anwendung ein (beispielsweise msal-node-desktop). Benutzern Ihrer App wird wahrscheinlich dieser Namen angezeigt. Sie können ihn später ändern.
  5. Wählen Sie Registrieren aus, um die Anwendung zu erstellen.
  6. Wählen Sie unter Verwalten die Option Authentifizierung aus.
  7. Wählen Sie Plattform hinzufügen>Mobilgerät- und Desktopanwendungen aus.
  8. Geben Sie im Abschnitt Umleitungs-URIs den URI http://localhost ein.
  9. Wählen Sie Konfigurierenaus.

Schritt 2: Herunterladen des Electron-Beispielprojekts

Laden Sie das Codebeispiel herunter.

Schritt 3: Konfigurieren des Electron-Beispielprojekts

*Extrahieren Sie das Projekt, und öffnen Sie den Ordner ms-identity-JavaScript-nodejs-desktop-main und dann die Datei authConfig.js. Ersetzen Sie den Wert wie folgt:

Variable BESCHREIBUNG Beispiel(e)
Enter_the_Cloud_Instance_Id_Here Die Azure Cloud-Instanz, in der Ihre Anwendung registriert ist https://login.microsoftonline.com/ (schließen Sie den Schrägstrich am Ende ein)
Enter_the_Tenant_Id_Here Mandanten-ID oder primäre Domäne contoso.microsoft.com oder aaaabbbb-0000-cccc-1111-dddd2222eeee
Enter_the_Application_Id_Here Client-ID der von Ihnen registrierten Anwendung 00001111-aaaa-2222-bbbb-3333cccc4444
Enter_the_Redirect_Uri_Here Umleitungs-URI der von Ihnen registrierten Anwendung msal00001111-aaaa-2222-bbbb-3333cccc4444://auth
Enter_the_Graph_Endpoint_Here Microsoft Graph-API-Cloudinstanz, die Ihre App aufruft https://graph.microsoft.com/ (schließen Sie den Schrägstrich am Ende ein)

Ihre Datei sollte ungefähr wie unten abgebildet aussehen:

const AAD_ENDPOINT_HOST = "https://login.microsoftonline.com/"; // include the trailing slash

const msalConfig = {
    auth: {
        clientId: "00001111-aaaa-2222-bbbb-3333cccc4444",
        authority: `${AAD_ENDPOINT_HOST}/aaaabbbb-0000-cccc-1111-dddd2222eeee`,
    },
    system: {
        loggerOptions: {
            loggerCallback(loglevel, message, containsPii) {
                 console.log(message);
             },
             piiLoggingEnabled: false,
             logLevel: LogLevel.Verbose,
        }
    }
}

const GRAPH_ENDPOINT_HOST = "https://graph.microsoft.com/"; // include the trailing slash

const protectedResources = {
     graphMe: {
         endpoint: `${GRAPH_ENDPOINT_HOST}v1.0/me`,
         scopes: ["User.Read"],
     }
};

module.exports = {
     msalConfig: msalConfig,
     protectedResources: protectedResources,
 };

Schritt 4: Ausführen der Anwendung

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

    cd ms-identity-javascript-nodejs-desktop-main
    npm install
    
  2. Führen Sie dann die Anwendung über die Eingabeaufforderung oder über die Konsole aus:

    npm start
    
  3. Wählen Sie Anmelden aus, um den Anmeldeprozess zu starten.

    Bei der ersten Anmeldung werden Sie aufgefordert einzuwilligen, dass die Anwendung Sie anmelden und auf Ihr Profil zugreifen darf. Nachdem Sie erfolgreich angemeldet sind, werden Sie wieder zur Anwendung umgeleitet.

Weitere Informationen

Funktionsweise des Beispiels

Wenn Benutzer*innen die Schaltfläche Anmelden zum ersten Mal auswählen, wird die acquireTokenInteractive-Methode von MSAL Node aufgerufen. Diese Methode leitet die Benutzer*innen zur Anmeldung mit dem Microsoft Identity Platform-Endpunkt um, ruft einen Autorisierungscode ab und ersetzt diesen durch ein Zugriffstoken.

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

Nächste Schritte

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