Partilhar via


Tutorial: Criar um SPA JavaScript Vanilla para autenticação em um locatário externo

Este tutorial é a parte 2 de uma série que demonstra a criação de um aplicativo de página única (SPA) Vanilla JavaScript (JS) e prepará-lo para autenticação usando o centro de administração do Microsoft Entra. Na Parte 1 desta série, você registrou um aplicativo e configurou fluxos de usuário em seu locatário externo. Este tutorial demonstra como criar um Vanilla JavaScript SPA usando npm e criar arquivos necessários para autenticação e autorização.

Neste tutorial;

  • Criar um projeto JavaScript Vanilla no Visual Studio Code
  • Instalar pacotes necessários
  • Adicionar código ao server.js para criar um servidor

Pré-requisitos

Crie um novo projeto JavaScript Vanilla e instale dependências

  1. Abra o Visual Studio Code, selecione File>Open Folder.... Navegue até o local para criar seu projeto e selecione-o.

  2. Abra um novo terminal selecionando Terminal>New Terminal.

  3. Execute o seguinte comando para criar um novo projeto JavaScript Vanilla:

    npm init -y
    
  4. Crie pastas e arquivos adicionais para obter a seguinte estrutura de projeto:

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

Instalar dependências de aplicativos

  1. No Terminal, execute o seguinte comando para instalar as dependências necessárias para o projeto:

    npm install express morgan @azure/msal-browser
    

Editar o arquivo server.js

Express é uma estrutura de aplicação web para Node.js. Ele é usado para criar um servidor que hospeda o aplicativo. Morgan é o middleware que registra solicitações HTTP no console. O arquivo do servidor é usado para hospedar essas dependências e contém as rotas para o aplicativo. A autenticação e a autorização são tratadas pela Biblioteca de Autenticação da Microsoft para JavaScript (MSAL.js).

  1. Adicione o seguinte trecho de código ao arquivo 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}!`);
    });
    
    

Neste código, a variável app é inicializada com o módulo express e express é usada para servir os ativos públicos. MSAL-browser é servido como um ativo estático e é usado para iniciar o fluxo de autenticação.

Próximo passo