快速入門:從Node.js傳統型應用程式登入使用者並呼叫 Microsoft Graph
在本快速入門中,您會下載並執行程式碼範例,示範電子桌面應用程式如何登入使用者,並取得存取令牌以呼叫 Microsoft Graph API。
本快速入門使用 Microsoft Authentication Library for Node.js (MSAL Node) 搭配 PKCE 的授權碼流程。
必要條件
- Node.js
- Visual Studio Code 或其他程式碼編輯器
註冊並下載範例應用程式
請遵循下列步驟來開始使用。
步驟 1:註冊應用程式
提示
本文中的步驟可能會根據您從開始的入口網站稍有不同。
若要註冊您的應用程式,並手動將應用程式的註冊資訊新增至您的解決方案,請遵循下列步驟:
- 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心。
- 如果您有多個租使用者的存取權,請使用頂端功能表中的 [設定] 圖示,切換至您想要從 [目錄 + 訂用帳戶] 功能表註冊應用程式的租使用者。
- 流覽至 [身分>識別應用程式> 應用程式註冊 然後選取 [新增註冊]。
- 輸入應用程式的名稱,例如
msal-node-desktop
。 您的應用程式使用者可能會看到此名稱,而且您稍後可以加以變更。 - 選取 [暫存器] 以建立應用程式。
- 在 [管理] 底下,選取 [驗證]。
- 選取 [新增平臺>行動和桌面應用程式]。
- 在 [ 重新導向 URI] 區段中,輸入
http://localhost
。 - 選取設定。
步驟 2:下載電子範例專案
步驟 3:設定電子範例專案
*擷取項目,開啟 ms-identity-JavaScript-nodejs-desktop-main 資料夾,然後開啟 .authConfig.js 檔案。 取代值,如下所示:
變數 | 描述 | 範例 |
---|---|---|
Enter_the_Cloud_Instance_Id_Here |
註冊應用程式的 Azure 雲端實例 | https://login.microsoftonline.com/ (包括尾端正斜線) |
Enter_the_Tenant_Id_Here |
租用戶標識碼或主要網域 | contoso.microsoft.com 或 aaaabbbb-0000-cccc-1111-dddd2222eeee |
Enter_the_Application_Id_Here |
您註冊之應用程式的用戶端識別碼 | 00001111-aaaa-2222-bbbb-3333cccc4444 |
Enter_the_Redirect_Uri_Here |
您註冊之應用程式的重新導向 URI | msal00001111-aaaa-2222-bbbb-3333cccc4444://auth |
Enter_the_Graph_Endpoint_Here |
您的應用程式將呼叫的 Microsoft Graph API 雲端實例 | https://graph.microsoft.com/ (包括尾端正斜線) |
您的檔案看起來應該如下所示:
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,
};
步驟 4:執行應用程式
您必須安裝此範例的相依性一次:
cd ms-identity-javascript-nodejs-desktop-main npm install
然後,透過命令提示字元或主控台執行應用程式:
npm start
選取 [登入 ] 以啟動登入程式。
第一次登入時,系統會提示您提供同意,以允許應用程式登入並存取配置檔。 成功登入之後,系統會將您重新導向回應用程式。
其他相關資訊
範例的運作方式
當使用者第一次選取 [登入 ] 按鈕時, acquireTokenInteractive
會呼叫 MSAL 節點的方法。 此方法會將使用者重新導向至使用 Microsoft 身分識別平台 端點登入、取得授權碼,然後交換存取令牌。
MSAL 節點
MSAL Node 是用來登入使用者和要求令牌的連結庫,用來存取受 Microsoft 身分識別平台 保護的 API。 如需如何搭配傳統型應用程式使用 MSAL 節點的詳細資訊,請參閱 這篇文章。
您可以執行下列 npm 命令來安裝 MSAL 節點。
npm install @azure/msal-node --save
下一步
若要深入瞭解使用 MSAL 節點進行電子桌面應用程式開發,請參閱教學課程: