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
- Node.js
- Visual Studio Code oder ein anderer Code-Editor
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:
- Melden Sie sich beim Microsoft Entra Admin Center mindestens als Cloudanwendungsadministrator an.
- 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.
- Wechseln Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie Neue Registrierung aus.
- 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. - Wählen Sie Registrieren aus, um die Anwendung zu erstellen.
- Wählen Sie unter Verwalten die Option Authentifizierung aus.
- Wählen Sie Plattform hinzufügen>Mobilgerät- und Desktopanwendungen aus.
- Geben Sie im Abschnitt Umleitungs-URIs den URI
http://localhost
ein. - 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
Sie müssen einmalig die Abhängigkeiten dieses Beispiels installieren:
cd ms-identity-javascript-nodejs-desktop-main npm install
Führen Sie dann die Anwendung über die Eingabeaufforderung oder über die Konsole aus:
npm start
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: