Schnellstart: Anmelden von Benutzer*innen und Aufrufen der Microsoft Graph-API aus einer Node.js-Webanwendung mithilfe von MSAL

In dieser Schnellstartanleitung laden Sie ein Codebeispiel herunter und führen es aus, das zeigt, wie eine Node.js-Web-App Benutzer mithilfe des Autorisierungscodeflows anmelden kann. Das Codebeispiel veranschaulicht außerdem das Abrufen eines Zugriffstokens zum Aufrufen der Microsoft Graph-API.

Eine Abbildung finden Sie unter Funktionsweise des Beispiels.

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

Voraussetzungen

Registrieren und Herunterladen Ihrer Schnellstartanwendung

Schritt 1: Anwendung registrieren

Tipp

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

  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 einen Namen für Ihre Anwendung ein. Benutzern Ihrer App wird wahrscheinlich dieser Namen angezeigt. Sie können ihn später ändern.
  5. Wählen Sie unter Unterstützte Kontotypen die Option Nur Konten in diesem Organisationsverzeichnis aus.
  6. Legen Sie den Typ unter Umleitungs-URI auf Web und den Wert auf http://localhost:3000/auth/redirect fest.
  7. Wählen Sie Registrieren.
  8. Notieren Sie sich für die spätere Verwendung auf der Seite Übersicht den Wert von Anwendungs-ID (Client) .
  9. Wählen Sie unter Verwalten die Optionen Zertifikate und Geheimnisse>Geheime Clientschlüssel>Neuer geheimer Clientschlüssel aus. Lassen Sie die Beschreibung und den Standardablauf leer, und wählen Sie Hinzufügen aus.
  10. Notieren Sie sich den Wert von Geheimer Clientschlüssel zur späteren Verwendung.

Schritt 2: Herunterladen des Projekts

Um das Projekt mit einem Webserver unter Verwendung von Node.js auszuführen, laden Sie die Kernprojektdateien herunter.

Schritt 3: Konfigurieren Ihrer Node-App

Extrahieren Sie das Projekt, und öffnen Sie den Ordner ms-identity-node-main und dann im Ordner App die ENV-Datei. Ersetzen Sie die obigen Werte 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_Info_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_Client_Secret_Here Geheimer Clientschlüssel der von Ihnen registrierten Anwendung A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u
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)
Enter_the_Express_Session_Secret_Here Eine zufällige Zeichenzeichenfolge, die zum Signieren des Express-Sitzungscookies verwendet wird A1b-C2d_E3f.H4...

Ihre Datei sollte ungefähr wie unten abgebildet aussehen:

CLOUD_INSTANCE=https://login.microsoftonline.com/
TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee
CLIENT_ID=00001111-aaaa-2222-bbbb-3333cccc4444
CLIENT_SECRET=A1b-C2d_E3f.H4...

REDIRECT_URI=http://localhost:3000/auth/redirect
POST_LOGOUT_REDIRECT_URI=http://localhost:3000

GRAPH_API_ENDPOINT=https://graph.microsoft.com/

EXPRESS_SESSION_SECRET=6DP6v09eLiW7f1E65B8k

Schritt 4: Ausführen des Projekts

Führen Sie das Projekt mithilfe von Node.js aus.

  1. Führen Sie im Projektverzeichnis die folgenden Befehle aus, um den Server zu starten:

    cd App
    npm install
    npm start
    
  2. Wechseln Sie zu http://localhost:3000/.

  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 Startseite der Anwendung umgeleitet.

Weitere Informationen

Funktionsweise des Beispiels

Das Beispiel hostet einen Webserver auf „localhost“, Port 3000. Wenn ein Webbrowser auf diese Adresse zugreift, rendert die App die Startseite. Nachdem Benutzer*innen Anmelden ausgewählt haben, leitet die App den Browser an den Microsoft Entra-Anmeldebildschirm um. Dabei wird die URL verwendet, die von der MSAL-Knotenbibliothek generiert wird. Nach Zustimmung der Benutzer*innen leitet der Browser diese zurück zur Startseite der Anwendung und übergibt dabei eine ID und ein Zugriffstoken.

MSAL Node

Über die Bibliothek „MSAL Node“ werden Benutzer angemeldet und die Token angefordert, die für den Zugriff auf eine durch Microsoft Identity Platform geschützte API verwendet werden. Sie können die neueste Version mithilfe von Node.js-Paket-Manager (npm) herunterladen:

npm install @azure/msal-node

Nächste Schritte

Erfahren Sie mehr, indem Sie in der folgenden mehrteiligen Tutorial-Serie eine ASP.NET Core Web-App für die Benutzeranmeldung erstellen: