Freigeben über


Tutorial: Erstellen einer Vanilla JavaScript-SPA für die Authentifizierung in einem externen Mandanten

Dieses Tutorial ist Teil 2 einer Reihe, in der das Erstellen einer Single-Page-Webanwendung (Single-Page Application, SPA) in Vanilla JavaScript (JS) und ihre Vorbereitung für die Authentifizierung mithilfe des Microsoft Entra Admin Centers veranschaulicht wird. In Teil 1 dieser Reihe haben Sie eine Anwendung registriert und Benutzerflows in Ihrem externen Mandanten konfiguriert. In diesem Tutorial wird veranschaulicht, wie Sie mithilfe von npm eine Vanilla JavaScript-SPA erstellen. Zudem wird das Erstellen von Dateien veranschaulicht, die für die Authentifizierung und Autorisierung erforderlich sind.

In diesem Tutorial:

  • Erstellen eines Vanilla-JavaScript-Projekts in Visual Studio Code
  • Installieren erforderlicher Pakete
  • Hinzufügen von Code zur Datei server.js zum Erstellen eines Servers

Voraussetzungen

Erstellen eines neuen Vanilla JavaScript-Projekts und Installieren von Abhängigkeiten

  1. Öffnen Sie Visual Studio Code, und wählen Sie Datei>Ordner öffnen... aus. Navigieren Sie zu dem Speicherort, an dem Ihr Projekt erstellt werden soll, und wählen Sie diesen aus.

  2. Öffnen Sie ein neues Terminal, indem Sie Terminal>Neues Terminal auswählen.

  3. Führen Sie den folgenden Befehl aus, um ein neues Vanilla JavaScript-Projekt zu erstellen:

    npm init -y
    
  4. Erstellen Sie weitere Ordner und Dateien, um die folgende Projektstruktur zu erstellen:

        └── public
            └── authConfig.js
            └── authPopup.js
            └── authRedirect.js
            └── claimUtils.js
            └── index.html
            └── signout.html
            └── styles.css
            └── ui.js    
        └── server.js
    

Installieren der App-Abhängigkeiten

  1. Führen Sie im Terminal den folgenden Befehl aus, um die erforderlichen Abhängigkeiten für das Projekt zu installieren:

    npm install express morgan @azure/msal-browser
    

Bearbeiten der Datei server.js

Express ist ein Webanwendungsframework für Node.js. Es wird verwendet, um einen Server zu erstellen, der die Anwendung hostet. Morgan ist die Middleware, die HTTP-Anforderungen an die Konsole protokolliert. Die Serverdatei wird zum Hosten dieser Abhängigkeiten verwendet und enthält die Routen für die Anwendung. Authentifizierung und Autorisierung werden von der Microsoft Authentication Library für JavaScript (MSAL.js) verarbeitet.

  1. Fügen Sie der Datei server.js den folgenden Codeschnipsel hinzu:

    const express = require('express');
    const morgan = require('morgan');
    const path = require('path');
    
    const DEFAULT_PORT = process.env.PORT || 3000;
    
    // initialize express.
    const app = express();
    
    // Configure morgan module to log all requests.
    app.use(morgan('dev'));
    
    // serve public assets.
    app.use(express.static('public'));
    
    // serve msal-browser module
    app.use(express.static(path.join(__dirname, "node_modules/@azure/msal-browser/lib")));
    
    // set up a route for signout.html
    app.get('/signout', (req, res) => {
        res.sendFile(path.join(__dirname + '/public/signout.html'));
    });
    
    // set up a route for redirect.html
    app.get('/redirect', (req, res) => {
        res.sendFile(path.join(__dirname + '/public/redirect.html'));
    });
    
    // set up a route for index.html
    app.get('/', (req, res) => {
        res.sendFile(path.join(__dirname + '/index.html'));
    });
    
    app.listen(DEFAULT_PORT, () => {
        console.log(`Sample app listening on port ${DEFAULT_PORT}!`);
    });
    
    

In diesem Code wird die Variable app mit dem Modul express initialisiert. Das Modul express wird verwendet, um die öffentlichen Ressourcen zu bedienen. MSAL-browser wird als statisches Objekt bereitgestellt und zum Initiieren des Authentifizierungsflows verwendet.

Nächster Schritt