Partager via


Tutoriel : créer une application monopage JavaScript Vanilla pour l’authentification dans un tenant externe

Ce tutoriel est la deuxième partie d’une série qui présente la construction d’une application monopage (SPA) Vanilla JavaScript (JS) et sa préparation à l’authentification à l’aide du centre d’administration Microsoft Entra. Dans la première partie de cette série, vous avez enregistré une application et configuré des flux d’utilisateurs dans votre locataire externe. Ce tutoriel montre comment créer une SPA JavaScript Vanille à l’aide de npm et créer des fichiers nécessaires à l’authentification et à l’autorisation.

Dans ce tutoriel,

  • Créer un projet Vanilla JavaScript dans Visual Studio Code
  • Installer les packages nécessaires
  • Ajouter du code à server.js pour créer un serveur

Prérequis

Créer un projet JavaScript Vanille et installer des dépendances

  1. Ouvrez Visual Studio Code, sélectionnez Fichier>Ouvrir le dossier.... Accédez à et sélectionnez l’emplacement dans lequel vous souhaitez créer votre projet.

  2. Ouvrez un nouveau terminal en sélectionnant Terminal>Nouveau Terminal.

  3. Exécutez la commande suivante pour créer un projet JavaScript Vanille :

    npm init -y
    
  4. Créez d’autres dossiers et fichiers pour obtenir la structure de projet suivante :

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

Installer les dépendances de l’application

  1. Dans le Terminal, exécutez la commande suivante pour installer les dépendances dont le projet a besoin :

    npm install express morgan @azure/msal-browser
    

Modifier le fichier server.js

Express est un framework d’application web pour Node.js. Il est utilisé pour créer un serveur qui héberge l’application. Morgan est l’intergiciel qui journalise les requêtes HTTP dans la console. Le fichier de serveur est utilisé pour héberger ces dépendances et contient les routes de l’application. L’authentification et l’autorisation sont gérés par la bibliothèque d’authentification Microsoft pour JavaScript (MSAL.js).

  1. Ajoutez l’extrait de code suivant à votre fichier server.js :

    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}!`);
    });
    
    

Dans ce code, la variable d’application est initialisée avec le module express, puis express permet de servir les ressources publiques. MSAL-browser est servi comme ressource statique et permet de lancer le flux d’authentification.

Étape suivante