Kurz: Nastavení webové aplikace Node.js pro přihlášení uživatelů pomocí platformy Microsoft Identity Platform
platí pro: uživatelé pracovní síly
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
- Pokud jste to ještě neudělali, proveďte kroky v Rychlém startu: Přihlášení uživatelů do ukázkové webové aplikace. V rychlém startu nemusíte klonovat a spouštět ukázku kódu.
- Node.js.
- Visual Studio Code nebo jiný editor kódu.
Vytvoření projektu Node.js
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.
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.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
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.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.
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.
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.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; }