在範例 iOS (Swift) 行動應用程式中登入使用者
本指南示範如何設定範例 iOS 行動應用程式來登入使用者。
在本文中,您將執行下列工作:
- 在 Microsoft Entra 系統管理中心註冊應用程式。
- 新增平台重新導向 URL。
- 啟用公用用戶端流程。
- 更新 iOS 設定程式碼範例檔案,即可對外部租用戶詳細資料使用您自己的 Microsoft Entra 外部 ID。
- 執行和測試範例 iOS 行動應用程式。
必要條件
註冊應用程式
若要讓應用程式能夠使用 Microsoft Entra 登入使用者,Microsoft Entra 外部 ID 必須知道您建立的應用程式。 應用程式註冊會在應用程式與 Microsoft Entra 之間建立信任關係。 註冊應用程式時,外部 ID 會產生稱為「應用程式 (用戶端) 識別碼」的唯一識別碼,這個值可在建立驗證要求時用來識別您的應用程式。
下列步驟顯示如何在 Microsoft Entra 系統管理中心內註冊您的應用程式:
至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示 ,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
選取 + 新增註冊。
在出現的 [註冊應用程式] 頁面中;
- 輸入要向應用程式使用者顯示的有意義應用程式「名稱」,例如 ciam-client-app。
- 在 [支援的帳戶類型] 底下,選取 [僅在此組織目錄中的帳戶]。
選取註冊。
應用程式的 [概觀] 窗格會在成功註冊時顯示。 記錄 [應用程式 (用戶端) 識別碼],以用於您的應用程式原始程式碼。
新增平台重新導向 URL
若要在應用程式註冊中指定您的應用程式類型,請遵循下列步驟:
- 在 [管理] 底下,選取 [驗證]。
- 在 [平台設定] 頁面中,選取 [新增平台],然後選取 [iOS/macOS] 選項。
- 輸入您專案的組合識別碼。 若已下載範例程式碼,則此值為
com.microsoft.identitysample.ciam.MSALiOS
。 - 選取 [設定] 並儲存顯示在 [iOS/macOS 設定] 窗格中的 [MSAL 設定],以便稍後在設定應用程式時可加以輸入。
- 選取完成。
啟用公用用戶端流程
若要將您的應用程式識別為公用用戶端,請遵循下列步驟:
在 [管理] 底下,選取 [驗證]。
在 [進階設定] 下方的 [允許公用用戶端流程],選取 [是]。
選取儲存以儲存變更。
授與管理員同意
註冊應用程式之後,就會獲 指派User.Read 許可權。 不過,由於租使用者是外部租使用者,因此客戶使用者本身無法同意此許可權。 身為管理員的您必須代表租用戶中的所有使用者同意此權限:
從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。
在 [管理] 之下選取 [API 權限]。
- 選取 [代表 <您的租用戶名稱> 授與管理員同意],然後選取 [是]。
- 選取 [重新整理],然後確認 [為租用戶名稱>授與] <出現在許可權的 [狀態] 底下。
複製範例 iOS 行動應用程式
若要取得範例應用程式,您可以從 GitHub 加以複製,或將其下載為 .zip 檔案。
若要複製範例,請開啟命令提示字元,並瀏覽至您想要建立專案的位置,然後輸入下列命令:
git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-ios-sample.git
設定範例 iOS 行動應用程式
若要啟用 Microsoft Graph 資源的驗證和存取,請遵循下列步驟來設定範例:
在 Xcode 中,開啟您複製的專案。
開啟 /MSALiOS/Configuration.swift 檔案。
尋找預留位置:
Enter_the_Application_Id_Here
,並將其取代為您稍早註冊的應用程式所使用的應用程式 (用戶端) 識別碼。Enter_the_Redirect_URI_Here
,並將其取代為您稍早新增平台重新導向 URL 時所下載的 Microsoft 驗證程式庫 (MSAL) 組態檔中的 kRedirectUri 值。Enter_the_Protected_API_Scopes_Here
,並將其取代為授與管理員同意中記錄的範圍。 若尚未記錄任何範圍,可以將此範圍清單留白。Enter_the_Tenant_Subdomain_Here
,並將其取代為目錄 (租用戶) 子網域。 例如,若租用戶主要網域是contoso.onmicrosoft.com
,請使用contoso
。 若不知道租用戶子網域,請了解如何讀取租用戶詳細資料。
您已設定應用程式,且準備好執行。
執行並測試 iOS 範例應用程式
若要建置和執行您的應用程式,請遵循下列步驟:
- 若要建置和執行您的程式碼,請從 Xcode 中的 [產品] 功能表選取 [執行]。 成功建置之後,Xcode 會在模擬器中啟動範例應用程式。
- 選取 [以互動方式取得權杖] 以要求存取權杖。
- 若選取 [API - 執行 GET] 來呼叫受保護的 ASP.NET Core Web API,則會收到錯誤。
如需呼叫受保護 Web API 的詳細資訊,請參閱後續步驟