共用方式為


快速入門:在範例桌面應用程式中登入使用者

在本快速入門中,您將使用範例應用程式來學習如何將驗證功能加入至桌面應用程式。 範例應用程式可讓使用者登入和註銷,並使用 Microsoft 驗證連結庫 (MSAL) 來處理驗證。

開始之前,請使用 選擇此頁面頂端的租用戶類型 選取器,以選取租用戶類型。 Microsoft Entra ID 提供兩個租用戶組態,員工外部。 員工租用戶設定適用於員工、內部應用程式和其他組織資源。 外部租戶是針對面向客戶的應用程式。

先決條件

  • 有有效訂閱的 Azure 帳戶。 如果您還沒有帳戶,免費建立帳戶
  • 此 Azure 帳戶必須具有管理應用程式的許可權。 下列任何Microsoft Entra 角色都包含必要的許可權:
    • 應用程式管理員
    • 應用程式開發人員
    • 雲端應用程式管理員
  • 工作人員租戶 您可以使用預設目錄或 設定新的租戶。
  • 使用下列設定,在 Microsoft Entra 系統管理中心註冊新的應用程式。 如需詳細資訊,請參閱 註冊應用程式
    • 名稱msal-node-desktop
    • 支援的帳戶類型僅限此組織目錄中的帳戶(單一租使用者)

新增重新導向 URI

您必須將重新導向 URI 新增至應用程式註冊。 此 URI 是用來在使用者登入後將使用者重新導向至應用程式。

若要指定應用程式類型,並將 URI 重新導向至您的應用程式註冊,請遵循下列步驟:

  1. 從已註冊應用程式的 [概觀] 頁面,在 [管理 ] 底下,選取 [驗證]
  2. 在 [平台組態] 頁面上,選擇 [新增平臺],然後選擇 [>行動裝置和桌面應用程式]
  3. 在 [重新導向 URI] 區段中,輸入 http://localhost
  4. 選擇 ,設定

下載範例專案

  • 若要複製範例,請開啟命令提示字元並流覽至您想要建立專案的位置,然後輸入下列命令:

    git clone https://github.com/Azure-Samples/ms-identity-javascript-nodejs-desktop.git
    
  • 下載 .zip 檔案。 將它解壓縮到名稱長度少於 260 個字元的檔案路徑。

設定專案

*擷取項目,開啟 ms-identity-JavaScript-nodejs-desktop-main 資料夾,然後開啟 .authConfig.js 檔案。 請將數值替換如下:

變數 描述 範例(s)
Enter_the_Cloud_Instance_Id_Here 註冊應用程式的 Azure 雲端實例 https://login.microsoftonline.com/ (包括尾端正斜線)
Enter_the_Tenant_Id_Here 租用戶標識碼或主要網域 contoso.microsoft.comaaaabbbb-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,
 };

執行應用程式

  1. 您必須安裝此範例的相依性一次:

    cd ms-identity-javascript-nodejs-desktop-main
    npm install
    
  2. 然後,透過命令提示字元或主控台執行應用程式:

    npm start
    
  3. 選取 登入 以開始登入程序。

    第一次登入時,系統會提示您提供同意,以允許應用程式登入並存取配置檔。 成功登入之後,系統會將您重新導向回應用程式。

下一步

若要深入瞭解使用 MSAL 節點進行電子桌面應用程式開發,請參閱教學課程:

先決條件

  • 具有有效訂用帳戶的 Azure 帳戶。 如果您還沒有帳戶,免費建立帳戶
  • 此 Azure 帳戶必須具有管理應用程式的許可權。 下列任何Microsoft Entra 角色都包含必要的許可權:
    • 應用程式管理員
    • 應用程式開發人員
    • 雲端應用程式管理員

新增轉址網址

您必須將重新導向 URI 新增至應用程式註冊。 此 URI 是用來在使用者登入後將使用者重新導向至應用程式。

若要將您的應用程式類型指定至您的應用程式註冊,請遵循下列步驟:

  1. 在 [管理] 下,選取 [身份驗證]。
  2. 在 [平臺組態] 頁面上,選取 [新增平臺],然後選取 [行動裝置和傳統型應用程式] 選項。
  3. 針對 自訂重新導向 URI,輸入 http://localhost,然後選擇 設定
  4. 選取 [設定] 以儲存變更。

註冊應用程式之後,就會獲指派 User.Read 許可權。 不過,由於租使用者是外部租使用者,因此客戶使用者本身無法同意此許可權。 您作為租用戶系統管理員,必須代表所有租用戶內的使用者同意此權限:

  1. 從 [應用程式註冊] 頁面中,選取您建立的應用程式(例如 ciam-client-app),以開啟其 [概觀] 頁面。

  2. 在 [管理] 下,選取 [API 許可權]

    1. 選取 [授與租使用者名稱><系統管理員同意],然後選取 [是]
    2. 選取 重新整理,然後確認 已授與的 <租戶名稱> 出現在權限 狀態 下方。

下載範例專案

若要取得傳統型應用程式範例程式代碼,執行下列命令,從 GitHub 下載 .zip 檔案 或複製範例 Web 應用程式:

git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git

如果您選擇下載 .zip 檔案,請將範例應用程式檔案解壓縮到一個其路徑總長度不超過 260 個字元的資料夾。

安裝專案相依性

  1. 開啟主控台視窗,並變更為包含電子範例應用程式的目錄:

    cd 1-Authentication\3-sign-in-electron\App
    
  2. 執行下列命令來安裝應用程式相依性:

    npm install && npm update
    

設定範例 Web 應用程式

  1. 在您的程式代碼編輯器中,開啟 App\authConfig.js 檔案。

  2. 尋找占位符:

    1. Enter_the_Application_Id_Here,並將它取代為您稍早註冊之應用程式的應用程式(用戶端)標識碼。

    2. Enter_the_Tenant_Subdomain_Here,並將它取代為 Directory (tenant) 子域。 例如,如果您的租戶主要網域是 contoso.onmicrosoft.com,請使用 contoso。 如果您沒有租戶名稱,請了解如何 查看租戶資訊

執行及測試範例 Web 應用程式

您現在可以測試範例電子桌面應用程式。 執行應用程式之後,桌面應用程式視窗會自動出現:

  1. 在您的終端機中,執行下列命令:

    npm start
    

    登入電子桌面應用程式的螢幕快照。

  2. 在出現的桌面視窗中,選取 [[登入] 或 [註冊] 按鈕。 瀏覽器視窗隨即開啟,系統會提示您登入。

  3. 在瀏覽器登入頁面上,輸入 電子郵件位址,選取 [下一步],輸入 密碼,然後選取 [登入]。 如果您沒有帳戶,請選取 [沒有帳戶?建立一個 連結,以啟動註冊流程。

  4. 如果您選擇註冊選項,請在填寫電子郵件、單次密碼、新密碼和更多帳戶詳細數據之後,完成整個註冊流程。 您會看到類似下列螢幕快照的頁面。 如果您選擇登入選項,您會看到類似的頁面。 頁面會顯示令牌 ID 聲明。

    電子桌面應用程式中檢視權杖聲明的螢幕快照。