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
- Node.js
- Visual Studio Code nebo jiný editor kódu
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.
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: