适用于 Android 的 Intune App SDK - 了解 MSAL 先决条件

适用于 Android 的 Microsoft Intune App SDK 允许将 Intune 应用保护策略 (也称为 MAM 策略) 合并到本机 Java/Kotlin Android 应用中。 Intune 托管的应用程序是与 Intune 应用 SDK 集成的应用程序。 当 Intune 主动管理应用时,Intune 管理员可以轻松地将应用保护策略部署到 Intune 管理的应用。

注意

本指南分为几个不同的阶段。 首先查看 第 1 阶段:规划集成

阶段 2:MSAL 先决条件

阶段目标

  • 向 Microsoft Entra ID 注册应用程序。
  • 将 MSAL 集成到 Android 应用程序中。
  • 验证你的应用程序能否获取授予对受保护资源的访问权限的令牌。

背景

Microsoft身份验证库 (MSAL) 通过支持 Microsoft Entra ID 和 Microsoft 帐户,使应用程序能够使用 Microsoft 云。

MSAL 并不特定于 Intune。 Intune 依赖于 Microsoft Entra ID;所有 Intune 用户帐户都是 Microsoft Entra 帐户。 因此,集成 Intune 应用 SDK 的绝大多数 Android 应用程序都需要集成 MSAL 作为先决条件。

此阶段的 SDK 指南概述了与 Intune 相关的 MSAL 集成过程;完整遵循链接的 MSAL 指南

为了简化 Intune App SDK 集成过程,强烈建议 Android 应用开发人员在下载 Intune App SDK 之前完全集成和测试 MSAL。Intune App SDK 集成过程确实需要围绕 MSAL 令牌获取进行代码更改。 如果已确认应用的原始令牌获取实现按预期工作,则测试特定于 Intune 的令牌获取更改将更加容易。

若要了解有关 Microsoft Entra ID 的详细信息,请参阅什么是 Microsoft Entra ID?

若要了解有关 MSAL 的详细信息,请参阅 MSAL WikiMSAL 库列表

向 Microsoft Entra ID 注册应用程序

在将 MSAL 集成到 Android 应用程序之前,所有应用都需要向 Microsoft 标识平台注册。 按照快速入门中的步骤操作:在 Microsoft 标识平台 - Microsoft 标识平台中注册应用。 这将为应用程序生成 客户端 ID

接下来,按照说明授予应用对 Intune 移动应用管理服务的访问权限

(MSAL) 配置Microsoft身份验证库

首先,阅读 GitHub 上的 MSAL 存储库中的 MSAL 集成指南,特别是 使用 MSAL 的部分。

本指南介绍如何:

  • 将 MSAL 作为依赖项添加到 Android 应用程序。
  • 创建 MSAL 配置文件。
  • 配置应用程序的 AndroidManifest.xml.
  • 添加代码以获取令牌。

代理身份验证

单一登录 (SSO) 允许用户仅输入一次凭据,并使这些凭据自动跨应用程序工作。 MSAL 可以跨应用套件启用 SSO;通过 (Microsoft Authenticator 或 Microsoft Intune 公司门户) 使用代理应用程序,可以在整个设备上扩展 SSO。 条件访问还需要代理身份验证。 有关代理身份验证的更多详细信息,请参阅 使用 MSAL 在 Android 上启用跨应用 SSO

本指南假定你) 按照上述链接中的步骤操作,在应用程序 (中启用代理身份验证,尤其是 为代理生成重定向 URI配置 MSAL 以使用代理 进行配置和 验证代理集成 以进行测试。

如果未在应用程序中启用代理身份验证,请特别注意特定于 Intune 的 MSAL 配置

特定于 Intune 的 MSAL 环境配置

默认情况下,Intune 将从 Microsoft Entra 公共环境请求令牌。 如果应用程序需要非默认环境(如主权云),则必须将以下设置添加到应用程序的 AndroidManifest.xml. 设置后,输入的 Microsoft Entra 机构将为应用程序颁发令牌。 这可确保正确实施 Intune 的身份验证策略。

<meta-data
    android:name="com.microsoft.intune.mam.aad.Authority"
    android:value="https://AAD authority/" />

警告

大多数应用不应设置 Authority 参数。 此外,未集成 MSAL 的应用程序 不得 在清单中包含此属性。

有关非 Intune 特定的 MSAL 配置选项的更多详细信息,请参阅 Android Microsoft 身份验证库配置文件

有关主权云的更多详细信息,请参阅在 国家/地区云环境中使用 MSAL

退出条件

  • 是否已将 MSAL 集成到应用程序中?
  • 是否已通过生成重定向 URI 并在 MSAL 配置文件中设置它来启用代理身份验证?
  • 是否已在以下位置配置特定AndroidManifest.xml于Intune的 MSAL 设置?
  • 是否测试了代理身份验证、确认已将工作帐户添加到 Android 的帐户管理器,并测试了与其他 Microsoft 365 应用的 SSO?
  • 如果已实现条件访问,是否同时测试了基于设备的 CA 和基于应用的 CA 来验证 CA 实现?

常见问题

ADAL 呢?

Microsoft 以前的身份验证库 Azure Active Directory 身份验证库 (ADAL) 弃用

如果应用程序已集成 ADAL,请参阅 更新应用程序以使用 MSAL (身份验证库Microsoft) 。 若要将应用从 ADAL 迁移到 MSAL,请参阅 将 Android ADAL 迁移到 MSALADAL 和 MSAL 之间的差异

建议在集成 Intune 应用 SDK 之前从 ADAL 迁移到 MSAL。

后续步骤

完成上述所有退出条件后,继续转到第 3 阶段:MAM 入门