Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Mitarbeitermandanten
Externe Mandanten (weitere Informationen)
In diesem Lernprogramm erfahren Sie, wie Sie eine Node/Express.js-Web-App erstellen, die Benutzer in eine kundenorientierte App in einem externen Kundenumfeld oder Mitarbeiter in einer Mitarbeiterumgebung anmeldet. Das Lernprogramm veranschaulicht außerdem, wie Sie ein Zugriffstoken für den Aufruf der Microsoft Graph-API erwerben.
Dieses Lernprogramm ist Teil 1 einer dreiteiligen Serie.
In diesem Tutorial lernen Sie:
- Einrichten eines Node.js Projekts
- Installieren von Abhängigkeiten
- Hinzufügen von App-Ansichten und UI-Komponenten
Voraussetzungen
- Registrieren Sie eine neue App im Microsoft Entra Admin Center, die nur für Konten in diesem Organisationsverzeichnis konfiguriert ist. Weitere Informationen finden Sie unter Registrieren einer Anwendung . Notieren Sie die folgenden Werte auf der Anwendungsübersichtsseite für die spätere Verwendung:
- Anwendungs-ID (Client)
- Verzeichnis-ID (Mandant)
- Fügen Sie die folgenden Umleitungs-URIs mithilfe der Webplattformkonfiguration hinzu. Weitere Informationen finden Sie unter Hinzufügen eines Umleitungs-URI in Ihrer Anwendung .
-
Umleitungs-URI:
http://localhost:3000/auth/redirect -
Logout-URL des Frontkanals:
https://localhost:5001/signout-callback-oidc
-
Umleitungs-URI:
- Fügen Sie Ihrer App-Registrierung einen geheimen Clientschlüssel hinzu. Verwenden Sie keine Clientgeheimnisse in Produktions-Apps. Verwenden Sie stattdessen Zertifikate oder Verbundanmeldeinformationen. Weitere Informationen finden Sie unter Hinzufügen von Anmeldeinformationen zu Ihrer Anwendung.
- Node.js.
- Visual Studio Code oder ein anderer Code-Editor.
Erstellen des Node.js Projekts
Erstellen Sie in einem Speicherort ihrer Wahl auf Ihrem Computer einen Ordner zum Hosten Ihrer Knotenanwendung, z. B. ciam-sign-in-node-express-web-app.
Wechseln Sie in Ihrem Terminal in das Verzeichnis Ihres Node-Web-App-Ordners, wie
cd ciam-sign-in-node-express-web-app, und führen Sie dann den folgenden Befehl aus, um ein neues Node.js-Projekt zu erstellen:npm init -yDer
init -yBefehl erstellt eine standardmäßige package.json-Datei für Ihr Node.js-Projekt.Erstellen Sie zusätzliche Ordner und Dateien, um die folgende Projektstruktur zu erreichen:
ciam-sign-in-node-express-web-app/ ├── server.js └── app.js └── authConfig.js └── package.json └── .env └── auth/ └── AuthProvider.js └── controller/ └── authController.js └── routes/ └── auth.js └── index.js └── users.js └── views/ └── layouts.hbs └── error.hbs └── id.hbs └── index.hbs └── public/stylesheets/ └── style.css
Installieren von App-Abhängigkeiten
Führen Sie zum Installieren der erforderlichen Identitäts- und Node.js zugehörigen npm-Pakete den folgenden Befehl in Ihrem Terminal aus:
npm install express dotenv hbs express-session axios cookie-parser http-errors morgan @azure/msal-node
Erstellen von App-UI-Komponenten
Öffnen Sie in Ihrem Code-Editor die Datei "views/index.hbs ", und fügen Sie dann den folgenden Code hinzu:
<h1>{{title}}</h1> {{#if isAuthenticated }} <p>Hi {{username}}!</p> <a href="/users/id">View ID token claims</a> <br> <a href="/auth/signout">Sign out</a> {{else}} <p>Welcome to {{title}}</p> <a href="/auth/signin">Sign in</a> {{/if}}In dieser Ansicht zeigen wir, falls der Benutzer authentifiziert ist, seinen Benutzernamen und Links zu den
/auth/signoutund/users/idEndpunkten an. Andernfalls muss der Benutzer den/auth/signinEndpunkt besuchen, um sich anzumelden. Wir definieren die Expressrouten für diese Endpunkte weiter unten in diesem Artikel.Öffnen Sie in Ihrem Code-Editor die Datei "views/id.hbs ", und fügen Sie dann den folgenden Code hinzu:
<h1>Azure AD for customers</h1> <h3>ID Token</h3> <table> <tbody> {{#each idTokenClaims}} <tr> <td>{{@key}}</td> <td>{{this}}</td> </tr> {{/each}} </tbody> </table> <a href="/">Go back</a>Wir verwenden diese Ansicht, um ID-Tokenansprüche anzuzeigen, die von Microsoft Entra Externe ID an diese App zurückgegeben werden, nachdem sich ein Benutzer erfolgreich angemeldet hat.
Öffnen Sie in Ihrem Code-Editor die Datei "views/error.hbs ", und fügen Sie dann den folgenden Code hinzu:
<h1>{{message}}</h1> <h2>{{error.status}}</h2> <pre>{{error.stack}}</pre>Wir verwenden diese Ansicht, um alle Fehler anzuzeigen, die beim Ausführen der App auftreten.
Öffnen Sie in Ihrem Code-Editor die Datei "views/layout.hbs ", und fügen Sie dann den folgenden Code hinzu:
<!DOCTYPE html> <html> <head> <title>{{title}}</title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> {{{content}}} </body> </html>Die
layout.hbsDatei befindet sich in der Layoutdatei. Sie enthält den HTML-Code, den wir in der gesamten Anwendungsansicht benötigen.Öffnen Sie in Ihrem Code-Editor öffentliche/stylesheets/style.css, datei, und fügen Sie dann den folgenden Code hinzu:
body { padding: 50px; font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; } a { color: #00B7FF; }