Sdílet prostřednictvím


Kurz: Nastavení webové aplikace Node.js pro přihlášení uživatelů pomocí platformy Microsoft Identity Platform

platí pro: zelený kruh se symbolem bílé značky zaškrtnutí. uživatelé pracovní síly zelený kruh se symbolem bílé značky zaškrtnutí.externí uživatelé (další informace)

V tomto kurzu se dozvíte, jak vytvořit Node/Express.js webovou aplikaci, která přihlásí uživatele do aplikace pro zákazníky v externím tenantovi nebo zaměstnance do aplikace v tenantovi pro pracovníky. Tento kurz také ukazuje, jak získat přístupový token pro volání rozhraní Microsoft Graph API.

Tento kurz je 1. částí třídílné série.

V tomto kurzu budete;

  • Nastavení projektu Node.js
  • Nainstalujte závislosti
  • Přidání zobrazení aplikací a komponent uživatelského rozhraní

Požadavky

Vytvoření projektu Node.js

  1. V libovolném umístění ve vašem počítači vytvořte složku, která bude hostovat vaši Node.js aplikaci, například ciam-sign-in-node-express-web-app.

  2. V terminálu změňte adresář do složky webové aplikace Node, například cd ciam-sign-in-node-express-web-app, a pak spuštěním následujícího příkazu vytvořte nový projekt Node.js:

    npm init -y
    

    Příkaz init -y vytvoří výchozí soubor package.json pro váš projekt Node.js.

  3. Vytvořte další složky a soubory, abyste dosáhli následující struktury projektu:

        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
    

Instalovat závislosti aplikace

Pokud chcete nainstalovat požadovanou identitu a Node.js související balíčky npm, spusťte v terminálu následující příkaz.

npm install express dotenv hbs express-session axios cookie-parser http-errors morgan @azure/msal-node   

Sestavení komponent uživatelského rozhraní aplikace

  1. V editoru kódu otevřete soubor views/index.hbs a přidejte následující kód:

        <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}}
    

    V tomto zobrazení, pokud je uživatel ověřený, zobrazíme jeho uživatelské jméno a odkazy na návštěvu /auth/signout a /users/id koncových bodů, jinak musí uživatel navštívit koncový bod /auth/signin pro přihlášení. Expresní trasy pro tyto koncové body definujeme později v tomto článku.

  2. V editoru kódu otevřete soubor views/id.hbs a přidejte následující kód:

        <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>
    

    Toto zobrazení používáme k zobrazení nároků tokenu ID, které Microsoft Entra External ID vrátí do této aplikace po úspěšném přihlášení uživatele.

  3. V editoru kódu otevřete soubor views/error.hbs a přidejte následující kód:

        <h1>{{message}}</h1>
        <h2>{{error.status}}</h2>
        <pre>{{error.stack}}</pre>
    

    Toto zobrazení používáme k zobrazení všech chyb, ke kterým dochází při spuštění aplikace.

  4. V editoru kódu otevřete soubor views/layout.hbs a přidejte následující kód:

        <!DOCTYPE html>
        <html>        
            <head>
                <title>{{title}}</title>
                <link rel='stylesheet' href='/stylesheets/style.css' />
            </head>            
            <body>
                {{{content}}}
            </body>        
        </html>
    

    Soubor layout.hbs je v souboru rozložení. Obsahuje kód HTML, který vyžadujeme v celém zobrazení aplikace.

  5. V editoru kódu otevřete public/stylesheets/style.css, soubor a přidejte následující kód:

        body {
          padding: 50px;
          font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
        }
    
        a {
          color: #00B7FF;
        }
    

Další krok