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

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

注意

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

阶段 2:MSAL 先决条件

阶段Goals

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

背景

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

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

SDK 指南的这一阶段概述了 MSAL 集成过程,因为它与Intune相关;完整遵循链接的 MSAL 指南

为了简化Intune应用 SDK 集成过程,强烈建议 Android 应用开发人员在下载 Intune 应用 SDK 之前完全集成并测试 MSAL。Intune应用 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 配置文件中设置它来启用代理身份验证?
  • 是否在 中配置了Intune特定的 MSAL 设置AndroidManifest.xml
  • 是否测试了中转身份验证、确认已将工作帐户添加到 Android 帐户管理器,并测试了其他 Microsoft 365 应用的 SSO?
  • 如果实现了条件访问,是否同时测试了基于设备的 CA 和基于应用的 CA 来验证 CA 实现?

常见问题

ADAL 呢?

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

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

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

后续步骤

完成上述所有退出条件后,请继续学习第 3 阶段:使用 MAM 入门