階段 2:MSAL 必要條件和設定

Intune App SDK 會使用 Microsoft驗證連結庫 進行驗證和條件式啟動案例。 它也依賴 MSAL 向 MAM 服務註冊使用者身分識別,以便在不使用裝置註冊的情況下進行管理。

注意事項

本指南分成數個不同的階段。 從檢閱 階段 1:規劃整合開始。

階段目標

  • 使用 Microsoft Entra ID 註冊您的應用程式。
  • 將 MSAL 整合到您的 iOS 應用程式。
  • 確認您的應用程式可以取得令牌,以授與受保護資源的存取權。

設定 Microsoft Entra 應用程式註冊

MSAL 需要應用程式向 Microsoft Entra ID 註冊 ,並建立唯一的用戶端識別碼和重新導向 URI,以確保授與應用程式之令牌的安全性。 如果您的應用程式已經使用 MSAL 進行自己的驗證,則應該已有與應用程式相關聯的 Microsoft Entra 應用程式註冊/用戶端識別元/重新導向 URI。

如果您的應用程式尚未使用 MSAL,您必須在 Microsoft Entra ID 中設定應用程式註冊,並指定 Intune SDK 應該使用的用戶端識別碼和重新導向 URI。

如果您的應用程式目前使用ADAL來驗證使用者,請參閱將 應用程式移轉至適用於iOS和macOS的 MSAL ,以取得將應用程式從ADAL移轉至 MSAL 的詳細資訊。

建議您的應用程式連結至最新版本的 MSAL

請遵循 安裝 一節,將 MSAL 二進位檔放在您的應用程式中。

設定 MSAL

請遵循組 一節來設定 MSAL。 請務必遵循組態一節中的所有步驟。 如果您的應用程式已在 Microsoft Entra ID 中註冊,請忽略步驟 1。

下列各點包含設定 MSAL 並連結至該處的其他資訊。 如果套用至您的應用程式,請遵循這些程序代碼。

  • 如果您的應用程式未定義任何金鑰鏈存取群組,請將應用程式的套件組合識別元新增為第一個群組。
  • 將 新增至金鑰鏈存取群組,以啟用 MSAL 單一登錄 (SSO) com.microsoft.adalcache
  • 如果您要明確設定 MSAL 共用快取金鑰鏈群組,請確定它已設定為 <appidprefix>.com.microsoft.adalcache。 MSAL 會為您設定此專案,除非您覆寫它。 如果您要指定要取代 com.microsoft.adalcache的自訂 keychain 群組,請使用 金鑰 ADALCacheKeychainGroupOverride,在 IntuneMAMSettings 下的 Info.plist 檔案中指定 。

設定 Intune App SDK 的 MSAL 設定

在 Microsoft Entra ID 中為您的應用程式設定應用程式註冊之後,您可以將 Intune App SDK 設定為在對 Microsoft Entra ID 進行驗證期間使用應用程式註冊的設定。 如需填入下列設定的資訊,請參閱 設定 Intune App SDK 的設定:

  • ADALClientId
  • ADALAuthority
  • ADALRedirectUri
  • ADALRedirectScheme
  • ADALCacheKeychainGroupOverride

需要下列設定:

  1. 在專案的 Info.plist 檔案中,於具有索引鍵名稱ADALClientIdIntuneMAMSettings 字典底下,指定要用於 MSAL 呼叫的用戶端識別碼。

  2. 如果將對應至步驟 1 中所設定之用戶端標識符的 Microsoft Entra 應用程式註冊設定為僅用於單一 Microsoft Entra 租 ADALAuthority 使用者,請在應用程式的 Info.plist 檔案內的 IntuneMAMSettings 字典下設定密鑰。 指定 MSAL 要用來取得 Intune 行動應用程式管理服務令牌的 Microsoft Entra 授權單位。

  3. 此外,在具有索引鍵名稱ADALRedirectUriIntuneMAMSettings 字典下,指定要用於 MSAL 呼叫的重新導向 URI。 或者,如果應用程式的重新導向 URI 格式scheme://bundle_id為 ,您可以改為指定 ADALRedirectScheme

    或者,應用程式可以在運行時間覆寫這些Microsoft Entra 設定。 若要這樣做,只要在 類別上IntuneMAMSettings設定aadAuthorityUriOverrideaadClientIdOverrideaadRedirectUriOverride 屬性即可。

  4. 請確定已遵循將 iOS 應用程式許可權授與 Intune 行動應用程式管理 (MAM) 服務的步驟。 使用 Intune SDK 快速入門指南 中的指示,在授與 您的應用程式 Intune 行動應用程式管理服務的存取權下。

    注意事項

    如果應用程式保護原則與受控裝置相關,也必須建立已整合 Intune 之應用程式的應用程式組態配置檔。

    建議針對靜態且不需要在運行時間決定的所有設定使用 Info.plist 方法。 在運行時間指派給類別屬性的 IntuneMAMSettings 值會優先於 Info.plist 中指定的任何對應值,而且即使在應用程式重新啟動之後仍會保存。 SDK 會繼續將它們用於原則簽入,直到使用者取消註冊或清除或變更值為止。

使用 MSAL 進行應用程式起始驗證時的特殊考慮

建議應用程式不要使用 SFSafariViewController、SFAuththenticationSession 或 ASWebAuthenticationSession 作為任何應用程式起始 MSAL 互動式驗證作業的 Web 檢視。 根據預設,MSAL 會使用 ASWebAuthenticationSession,因此應用程式開發人員應該 明確地將 Web 檢視類型設定 為 WKWebView。 如果因為某些原因,您的應用程式必須針對任何互動式 MSAL 驗證作業使用 WKWebView 以外的 Web 檢視類型,則它也必須在應用程式 Info.plist 的字典底下IntuneMAMSettings設定為 。SafariViewControllerBlockedOverridetrue

警告

這會關閉 Intune 的 SafariViewController 勾點,以啟用驗證會話。 如果應用程式使用SafariViewController來檢視公司數據,這會造成應用程式中其他位置的數據外泄的風險,因此應用程式不應該在其中任何一種Web檢視類型中顯示公司數據。

結束準則

  • 您是否已在 Microsoft Entra 應用程式註冊頁面上註冊您的應用程式?
  • 您是否已將 MSAL 整合到應用程式中?
  • 您是否已藉由產生重新導向 URI 並在 MSAL 組態檔中設定代理程式驗證來啟用代理程式驗證?
  • 您確定 IntuneMAMSettings 字典中 MSAL 的必要設定資訊是否符合您Microsoft Entra 應用程式註冊中的設定資訊?

常見問題集

ADAL 呢?

Microsoft先前的驗證連結庫 Azure Active Directory 驗證連結庫 (ADAL) 已被 取代

如果您的應用程式已整合ADAL,請參閱 更新您的應用程式以使用 Microsoft 驗證連結庫 (MSAL) 。 若要將應用程式從 ADAL 移轉至 MSAL,請參閱 將應用程式移轉至適用於 iOS 和 macOS 的 MSAL

建議您先從 ADAL 移轉至 MSAL,再整合 Intune App SDK。

後續步驟

完成上述所有 結束準則 之後,請繼續進行 第 3 階段:Intune SDK 與 iOS 應用程式的整合