Rychlý start: Získání přístupového tokenu a volání rozhraní Microsoft Graph API z desktopové aplikace Elektron

Vítejte! Pravděpodobně to není stránka, kterou jste očekávali. Zatímco pracujeme na opravě, měl by vás tento odkaz dostat na správný článek:

Rychlý start: Přihlášení uživatelů a volání Microsoft Graphu z desktopové aplikace Node.js

Omlouváme se za nepříjemnosti a vážíme si vaší trpělivosti, zatímco pracujeme na vyřešení tohoto problému.

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

Krok 1: Konfigurace aplikace na webu Azure Portal

Aby ukázka kódu pro tento rychlý start fungovala, musíte jako msal://redirect přidat adresu URL odpovědi.

Already configured Vaše aplikace je nakonfigurovaná s těmito atributy.

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

Poznámka:

Enter_the_Supported_Account_Info_Here

Krok 4: Spuštění aplikace

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

npm install

Pak aplikaci spusťte přes příkazový řádek nebo konzolu:

npm start

Mělo by se zobrazit uživatelské rozhraní aplikace s tlačítkem Přihlásit se .

O kódu

Níže jsou popsány některé důležité aspekty ukázkové aplikace.

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

Inicializace knihovny MSAL

Odkaz na uzel MSAL můžete přidat přidáním následujícího kódu:

const { PublicClientApplication } = require('@azure/msal-node');

Potom inicializujte knihovnu MSAL pomocí následujícího kódu:

const MSAL_CONFIG = {
    auth: {
        clientId: "Enter_the_Application_Id_Here",
        authority: "https://login.microsoftonline.com/Enter_the_Tenant_Id_Here",
    },
};

const pca = new PublicClientApplication(MSAL_CONFIG);
Kde: Popis
clientId Je ID aplikace (klienta), kterou jste zaregistrovali na webu Azure Portal. Tuto hodnotu najdete na stránce Přehled aplikace na webu Azure Portal.
authority Koncový bod služby tokenů zabezpečení pro uživatele k ověření, Obvykle https://login.microsoftonline.com/{tenant} pro veřejný cloud, kde {tenant} je název vašeho tenanta nebo ID tenanta.

Žádosti o tokeny

K získání tokenů prostřednictvím externího uživatelského agenta, jako je výchozí systémový prohlížeč, můžete použít veřejné rozhraní API uzlu MSAL AcquireTokenInteractive.

const { shell } = require('electron');

try {
   const openBrowser = async (url) => {
       await shell.openExternal(url);
   };

   const authResponse = await pca.acquireTokenInteractive({
       scopes: ["User.Read"],
       openBrowser,
       successTemplate: '<h1>Successfully signed in!</h1> <p>You can close this window now.</p>',
       failureTemplate: '<h1>Oops! Something went wrong</h1> <p>Check the console for more information.</p>',
   });

   return authResponse;
} catch (error) {
   throw error;
}

Další kroky

Další informace o vývoji desktopových aplikací Elektron pomocí MSAL Node najdete v tomto kurzu: