使用原生驗證在範例 macOS 應用程式中登入使用者
適用於:具有灰色 X 符號的白色圓圈 工作人員租戶
外部租戶(了解更多)
本指南示範如何使用 Microsoft Entra External ID 來執行示範註冊和登入案例的 macOS 範例應用程式。
在本文中,您將瞭解如何:
- 在外部租用戶中註冊應用程式。
- 啟用公用用戶端和原生驗證流程。
- 在外部租使用者中建立使用者流程。
- 將您的應用程式與使用者流程產生關聯。
- 更新範例原生 macOS 應用程式,以使用您自己的外部租戶詳細資訊。
- 執行及測試範例原生 macOS 應用程式。
先決條件
註冊應用程式
若要讓應用程式能夠使用 Microsoft Entra 登入使用者,Microsoft Entra 外部 ID 需要了解您建立的應用程式。 應用程式註冊會建立應用程式與 Microsoft Entra 之間的信任關係。 當您註冊應用程式時,外部標識碼會產生稱為「應用程式」(用戶端)標識碼的唯一標識碼,這個值可用來在建立驗證要求時識別您的應用程式。
下列步驟示範如何在 Microsoft Entra 系統管理中心註冊您的應用程式:
以至少 應用程式開發人員身分登入 Microsoft Entra 系統管理中心。
如果您有多個租使用者的存取權,請使用頂端功能表中的 [設定] 圖示
,從 [目錄 + 訂用帳戶] 功能表切換至外部租使用者。
瀏覽至 身分識別>應用程式>應用程式註冊。
選擇 [+ 新增註冊。
在 [註冊應用程式] 頁面中出現;
- 請輸入一個有意義的應用程式名稱 ,這個名稱將顯示給應用程式的用戶,例如 ciam-client-app。
- 在 [支援的帳戶類型]下,選取 [僅限此組織目錄中的帳戶]。
選取 註冊。
應用程式 概觀 窗格會在成功註冊時顯示。 記錄 應用程式(用戶端)標識碼,以用於您的應用程式原始程式碼。
啟用公用用戶端和原生驗證流程
若要指定此應用程式是公用用戶端,而且可以使用原生驗證,請啟用公用用戶端和原生驗證流程:
- 從 [應用程式註冊] 頁面中,選取您要啟用公用用戶端和原生驗證流程的應用程式註冊。
- 在 [管理] 下,選取 [驗證]。
- 在 [進階設定] 下,允許公用用戶端流程:
- 針對 啟用下列行動和桌面流程,選取 [是]。
- 針對 [啟用原生驗證 的,請選擇 [是] 。
- 選取 [儲存] 按鈕。
授與管理員同意
註冊應用程式之後,就會獲指派 User.Read 許可權。 不過,由於租使用者是外部租使用者,因此客戶使用者本身無法同意此許可權。 您作為租用戶管理員,必須代表租用戶中所有的使用者同意此許可權:
從 [應用程式註冊] 頁面中,選取您建立的應用程式(例如 ciam-client-app),以開啟其 [概觀] 頁面。
在 [管理] 下,選取 [API 許可權]。
- 選取 [為 <您的租用戶名稱>授予管理員同意],然後選取 [是]。
- 選取 [[重新整理],然後確認 已授與 <租使用者名稱> 出現在許可權 狀態 底下。
建立使用者流程
請遵循下列步驟來建立使用者流程。
以至少 應用程式開發人員身分登入 Microsoft Entra 系統管理中心。
如果您有多個租戶的存取權,請務必使用包含您的外部租戶的目錄。
- 選取工具列中的 目錄 + 訂用帳戶 圖示。
- 在 入口網站設定 | 目錄 + 訂用帳戶 頁面中,於 [目錄名稱] 清單中尋找您的外部租用戶目錄,然後選取 [切換]。
在側邊欄選單中,選取 [身分識別]。
選取 [外部身分識別]>[使用者流程]。
選取 + 新增使用者流程。
在 建立 頁面上:
輸入使用者流程的 名稱,例如 SignInSignUpSample。
在 識別提供者 列表中,選取 電子郵件帳戶。 此識別提供者可讓使用者使用其電子郵件地址和密碼登入或註冊。
在 [電子郵件帳戶下,您可以選取兩個選項之一。 在本教學課程中,選取 [電子郵件與密碼。
- 具有密碼的電子郵件:允許新使用者以電子郵件地址作為登入名稱和密碼作為其第一個因素認證來註冊和登入。
- 電子郵件一次性密碼:允許新使用者使用電子郵件地址作為登入名稱和電子郵件一次性密碼作為其第一個因素認證來註冊和登入。 若要在使用者流程層級使用此選項,請確定您在租用戶層級啟用電子郵件單次密碼 (OTP)(選取 [所有識別提供者],然後針對 [電子郵件單次密碼] 選取 [已設定],選取 [[是] 選項,然後選取 [儲存]。
在 [使用者屬性下,您可以選擇註冊時要從使用者收集的屬性。 針對本指南,選取 [國家/地區] 和 [城市]。
選取 建立。 新的使用者流程會出現在 使用者流程 清單中。 如有必要,請重新整理頁面。
將應用程式與使用者流程產生關聯
若要讓客戶使用者在使用您的應用程式時看到註冊或登入體驗,您必須將您的應用程式與使用者流程產生關聯。 雖然許多應用程式可以與您的使用者流程相關聯,但單一應用程式只能與一個使用者流程相關聯。
在提要欄選單上,選取 [身分識別]。
選取 [外部身分識別],然後選取 [使用者流程]。
在 [使用者流程] 頁面中,選取稍早建立的[使用者流程名稱],例如,SignInSignUpSample。
在 [使用] 下,選取 [應用程式]。
選擇 新增應用程式。
從清單中選取應用程式,例如 ciam-client-app,或使用搜尋方塊來尋找應用程式,然後加以選取。
選擇 ,選。
一旦您將應用程式與使用者流程產生關聯,您就可以模擬用戶註冊或登入體驗,從 Microsoft Entra 系統管理中心內模擬用戶的註冊或登入體驗,以測試您的使用者流程。 若要這樣做,請使用 測試註冊和登入使用者流程中的步驟。
複製範例 macOS 應用程式
開啟 [終端機],然後流覽至您要保留程式代碼的目錄。
執行下列命令,從 GitHub 複製 macOS 應用程式:
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-macos-sample.git
請前往複製的存放庫目錄:
cd ms-identity-ciam-native-auth-macos-sample
設定範例 macOS 應用程式
在 Xcode 中,開啟 NativeAuthSampleAppMacOS.xcodeproj 專案。
開啟 NativeAuthSampleAppMacOS/Configuration.swift 檔案。
尋找佔位符:
-
Enter_the_Application_Id_Here
,並將它取代為您稍早註冊之應用程式的 應用程式(用戶端)標識碼。 -
Enter_the_Tenant_Subdomain_Here
,並將它取代為 Directory (tenant) 子域。 例如,如果您的租使用者的主要網域是contoso.onmicrosoft.com
,請使用 contoso。 如果您沒有租戶子域名,請瞭解如何 查看租戶詳情。
-
注意
請記得選取要建置的配置,並選擇執行已建置產品的目的地。 每個配置都包含代表可用目的地的實際或模擬裝置清單。
執行和測試範例 macOS 應用程式
若要建置並執行程式碼,請從 Xcode 的 產品 選單中選取 執行。 成功建置之後,Xcode 會在模擬器中啟動範例應用程式。
本指南會測試 電子郵件和密碼 使用。 輸入有效的電子郵件地址和密碼、選取 [註冊],然後啟動提交程式代碼畫面:
在上一個畫面上輸入您的電子郵件地址之後,應用程式會傳送驗證碼給它。 提交收到的程式代碼之後,應用程式會將您帶回上一個畫面,並自動將您登入。