階段 2:MSAL 必要條件和設定
Intune 應用程式 SDK 會使用Microsoft驗證連結庫進行驗證和條件式啟動案例。 它也依賴 MSAL 向 MAM 服務註冊使用者身分識別,以便在不使用裝置註冊的情況下進行管理。
注意事項
本指南分成數個不同的階段。 從檢閱 階段 1:規劃整合開始。
階段 Goals
- 向 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
請遵循組 態 一節來設定 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
需要下列設定:
在專案的 Info.plist 檔案中,於具有索引鍵名稱
ADALClientId
的 IntuneMAMSettings 字典底下,指定要用於 MSAL 呼叫的用戶端識別碼。如果對應至步驟 1 中所設定之用戶端識別碼的 Microsoft Entra 應用程式註冊設定為只在單一 Microsoft Entra 租使用者中使用,
ADALAuthority
請在應用程式 Info.plist 檔案內的 IntuneMAMSettings 字典下設定密鑰。 指定 MSAL 要用來取得 Intune 行動應用程式管理服務令牌的 Microsoft Entra 授權單位。此外,在具有索引鍵名稱
ADALRedirectUri
的 IntuneMAMSettings 字典下,指定要用於 MSAL 呼叫的重新導向 URI。 或者,如果應用程式的重新導向 URI 格式scheme://bundle_id
為 ,您可以改為指定ADALRedirectScheme
。或者,應用程式可以在運行時間覆寫這些 Microsoft Entra 設定。 若要這樣做,只要在 類別上
IntuneMAMSettings
設定aadAuthorityUriOverride
、aadClientIdOverride
和aadRedirectUriOverride
屬性即可。請確定已遵循將 iOS 應用程式許可權授與 Intune Mobile App Management (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
設定為 。SafariViewControllerBlockedOverride
true
警告
這會關閉 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 應用程式整合。