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
- Ein Azure-Abonnement. Erstellen Sie ein kostenloses Azure-Abonnement.
- Node.js
- Visual Studio Code oder ein anderer Code-Editor
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.
- 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 einen Namen für Ihre Anwendung ein. Benutzern Ihrer App wird wahrscheinlich dieser Namen angezeigt. Sie können ihn später ändern.
- Wählen Sie unter Unterstützte Kontotypen die Option Nur Konten in diesem Organisationsverzeichnis aus.
- Legen Sie den Typ unter Umleitungs-URI auf Web und den Wert auf
http://localhost:3000/auth/redirect
fest. - Wählen Sie Registrieren.
- Notieren Sie sich für die spätere Verwendung auf der Seite Übersicht den Wert von Anwendungs-ID (Client) .
- 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.
- 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.
Führen Sie im Projektverzeichnis die folgenden Befehle aus, um den Server zu starten:
cd App npm install npm start
Wechseln Sie zu
http://localhost:3000/
.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: