快速入門:取得存取令牌,並從電子桌面應用程式呼叫 Microsoft Graph API
歡迎! 這可能不是您預期的頁面。 當我們處理修正時,此鏈接應該會帶您前往正確的文章:
我們為不便道歉,並感謝您的耐心,同時我們努力解決這個問題。
在本快速入門中,您會下載並執行程式碼範例,示範電子桌面應用程式如何登入使用者,並取得存取令牌以呼叫 Microsoft Graph API。
本快速入門使用 Microsoft Authentication Library for Node.js (MSAL Node) 搭配 PKCE 的授權碼流程。
必要條件
- Node.js
- Visual Studio Code 或其他程式碼編輯器
步驟 1:在 Azure 入口網站 中設定應用程式
若要讓本快速入門的程式代碼範例能夠運作,您必須將回復 URL 新增為 msal://redirect。
您的應用程式會使用這些屬性進行設定。
步驟 2:下載電子範例專案
注意
Enter_the_Supported_Account_Info_Here
步驟 4:執行應用程式
您必須安裝此範例的相依性一次:
npm install
然後,透過命令提示字元或主控台執行應用程式:
npm start
您應該會看到具有 [登入] 按鈕的應用程式 UI。
關於程式碼
以下將討論範例應用程式的一些重要層面。
MSAL 節點
MSAL Node 是用來登入使用者和要求令牌的連結庫,用來存取受 Microsoft 身分識別平台 保護的 API。 如需如何搭配傳統型應用程式使用 MSAL 節點的詳細資訊,請參閱 這篇文章。
您可以執行下列 npm 命令來安裝 MSAL 節點。
npm install @azure/msal-node --save
MSAL 初始化
您可以新增下列程式代碼來新增 MSAL 節點的參考:
const { PublicClientApplication } = require('@azure/msal-node');
然後,使用下列程式代碼初始化 MSAL:
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);
其中: 描述 clientId
這是應用程式在 Azure 入口網站 中註冊的應用程式標識碼。 您可以在應用程式[概觀] 頁面的 [Azure 入口網站 中找到此值。 authority
用戶要驗證的 STS 端點。 通常 https://login.microsoftonline.com/{tenant}
適用於公用雲端,其中 {tenant} 是您租用戶的名稱或租用戶標識符。
要求令牌
您可以使用 MSAL Node 的 acquireTokenInteractive 公用 API,透過外部使用者代理程式取得令牌,例如預設系統瀏覽器。
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;
}
下一步
若要深入瞭解使用 MSAL 節點進行電子桌面應用程式開發,請參閱教學課程: