Rychlý start: Přihlášení uživatelů a volání Microsoft Graphu z desktopové aplikace Node.js
V tomto rychlém startu stáhnete a spustíte ukázku kódu, která ukazuje, jak se desktopová aplikace Electron může přihlásit uživatele a získat přístupové tokeny pro volání rozhraní Microsoft Graph API.
Tento rychlý start používá knihovnu Microsoft Authentication Library pro Node.js (UZEL MSAL) s tokem autorizačního kódu s PKCE.
Požadavky
- Node.js
- Visual Studio Code nebo jiný editor kódu
Registrace a stažení ukázkové aplikace
Začněte podle následujících kroků.
Krok 1: Registrace aplikace
Tip
Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.
Pokud chcete zaregistrovat aplikaci a ručně přidat informace o registraci aplikace ke svému řešení, postupujte následovně:
- Přihlaste se do Centra pro správu Microsoft Entra jako alespoň správce cloudových aplikací.
- Pokud máte přístup k více tenantům, pomocí ikony Nastavení v horní nabídce přepněte na tenanta, ve kterém chcete aplikaci zaregistrovat z nabídky Adresáře a předplatná.
- Přejděte na Identity>Applications> Registrace aplikací a vyberte Nová registrace.
- Zadejte název aplikace, například
msal-node-desktop
. Uživatelé vaší aplikace můžou vidět tento název a později ho můžete změnit. - Výběrem možnosti Registrovat aplikaci vytvořte.
- V části Spravovat vyberte Ověřování.
- Vyberte Přidat platformu>Mobile a desktopové aplikace.
- V části Identifikátory URI pro přesměrování zadejte
http://localhost
. - Vyberte Konfigurovat.
Krok 2: Stažení ukázkového projektu Electron
Krok 3: Konfigurace ukázkového projektu Elektron
*Extrahujte projekt, otevřete složku ms-identity-JavaScript-nodejs-desktop-main a pak otevřete soubor .authConfig.js . Nahraďte hodnotu následujícím způsobem:
Proměnná | Popis | Příklady |
---|---|---|
Enter_the_Cloud_Instance_Id_Here |
Cloudová instance Azure, ve které je vaše aplikace zaregistrovaná | https://login.microsoftonline.com/ (včetně koncového lomítka) |
Enter_the_Tenant_Id_Here |
ID tenanta nebo primární doména | contoso.microsoft.com nebo aaaabbbb-0000-cccc-1111-dddd2222eeee |
Enter_the_Application_Id_Here |
ID klienta aplikace, kterou jste zaregistrovali | 00001111-aaaa-2222-bbbb-3333cccc4444 |
Enter_the_Redirect_Uri_Here |
Identifikátor URI přesměrování aplikace, kterou jste zaregistrovali | msal00001111-aaaa-2222-bbbb-3333cccc4444://auth |
Enter_the_Graph_Endpoint_Here |
Cloudová instance rozhraní Microsoft Graph API, kterou bude vaše aplikace volat | https://graph.microsoft.com/ (včetně koncového lomítka) |
Soubor by měl vypadat nějak takto:
const AAD_ENDPOINT_HOST = "https://login.microsoftonline.com/"; // include the trailing slash
const msalConfig = {
auth: {
clientId: "00001111-aaaa-2222-bbbb-3333cccc4444",
authority: `${AAD_ENDPOINT_HOST}/aaaabbbb-0000-cccc-1111-dddd2222eeee`,
},
system: {
loggerOptions: {
loggerCallback(loglevel, message, containsPii) {
console.log(message);
},
piiLoggingEnabled: false,
logLevel: LogLevel.Verbose,
}
}
}
const GRAPH_ENDPOINT_HOST = "https://graph.microsoft.com/"; // include the trailing slash
const protectedResources = {
graphMe: {
endpoint: `${GRAPH_ENDPOINT_HOST}v1.0/me`,
scopes: ["User.Read"],
}
};
module.exports = {
msalConfig: msalConfig,
protectedResources: protectedResources,
};
Krok 4: Spuštění aplikace
Závislosti této ukázky budete muset nainstalovat jednou:
cd ms-identity-javascript-nodejs-desktop-main npm install
Pak aplikaci spusťte přes příkazový řádek nebo konzolu:
npm start
Výběrem možnosti Přihlásit se spusťte proces přihlášení.
Při prvním přihlášení se zobrazí výzva k zadání souhlasu, abyste aplikaci povolili přihlášení a přístup k vašemu profilu. Po úspěšném přihlášení budete přesměrováni zpět do aplikace.
Více informací
Jak ukázka funguje
Když uživatel poprvé vybere tlačítko Přihlásit se, acquireTokenInteractive
volá se metoda uzlu MSAL. Tato metoda přesměruje uživatele na přihlášení pomocí koncového bodu Microsoft Identity Platform, získá autorizační kód a pak ho vymění za přístupový token.
Uzel MSAL
Uzel MSAL je knihovna používaná k přihlášení uživatelů a vyžádání tokenů používaných pro přístup k rozhraní API chráněnému platformou Microsoft Identity Platform. Další informace o používání uzlu MSAL s desktopovými aplikacemi najdete v tomto článku.
Uzel MSAL můžete nainstalovat spuštěním následujícího příkazu npm.
npm install @azure/msal-node --save
Další kroky
Další informace o vývoji desktopových aplikací Elektron pomocí MSAL Node najdete v tomto kurzu: