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

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

  1. Přihlaste se do Centra pro správu Microsoft Entra jako alespoň cloudová aplikace Správa istrator.
  2. 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á.
  3. Přejděte na Identity>Applications> Registrace aplikací a vyberte Nová registrace.
  4. 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.
  5. Výběrem možnosti Registrovat aplikaci vytvořte.
  6. V části Spravovat vyberte Ověřování.
  7. Vyberte Přidat platformu>Mobile a desktopové aplikace.
  8. V části Identifikátory URI pro přesměrování zadejte http://localhost.
  9. Vyberte Konfigurovat.

Krok 2: Stažení ukázkového projektu Electron

Stažení ukázky kódu

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

  1. Závislosti této ukázky budete muset nainstalovat jednou:

    cd ms-identity-javascript-nodejs-desktop-main
    npm install
    
  2. Pak aplikaci spusťte přes příkazový řádek nebo konzolu:

    npm start
    
  3. 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: