注册调用 Web API 的移动应用

可以借助本文中的说明注册你正在创建的移动应用程序。

支持的帐户类型

移动应用程序支持的帐户类型取决于要启用的体验,以及要使用的流。

交互式令牌获取的受众

大多数移动应用程序使用交互式身份验证。 如果应用使用这种形式的身份验证,则你可以从任何帐户类型将用户登录。

集成 Windows 身份验证、用户名-密码以及 B2C 的受众

如果拥有通用 Windows 平台 (UWP) 应用,则可使用集成 Windows 身份验证 (IWA) 使用户登录。 若要使用 IWA 或用户名-密码身份验证,则应用程序需在你自己的业务线 (LOB) 开发人员租户中使用户登录。 在独立软件供应商 (ISV) 方案中,应用程序可以在 Microsoft Entra ID 组织中将用户登录。

还可以使用传递 B2C 颁发机构和策略的社交标识将用户登录。 若要使用此方法,只能使用交互式身份验证和用户名-密码身份验证。 用户名-密码身份验证目前仅在 Xamarin.iOS、Xamarin.Android 和 UWP 上受支持。

有关详细信息,请参阅方案和支持的身份验证流以及方案和支持的平台与语言

平台配置和重定向 URI

交互式身份验证

构建使用交互式身份验证的移动应用时,最关键的注册步骤是重定向 URI。

  1. 至少以应用程序开发人员的身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“应用注册”。

  3. 选择“新注册”。

  4. 输入应用程序的“名称”。

  5. 对于“支持的帐户类型”设置,请选择“仅限此组织目录中的帐户”。

  6. 选择注册

  7. 选择“身份验证”,然后选择“添加平台”。

    Add a platform.

  8. 如果支持平台列表,请选择“iOS/macOS”。

    Choose a mobile application.

  9. 输入你的捆绑 ID,然后选择“配置”。

    Enter your bundle ID.

完成这些步骤后,系统将会计算重定向 URI,如下图所示。

Resulting redirect URI.

如果你偏向于手动配置重定向 URI,可以通过应用程序清单进行配置。 下面是清单的建议格式:

  • iOSmsauth.<BUNDLE_ID>://auth
    • 例如,输入 msauth.com.yourcompany.appName://auth
  • Androidmsauth://<PACKAGE_NAME>/<SIGNATURE_HASH>
    • 可以通过 KeyTool 命令使用发布密钥或调试密钥来生成 Android 签名哈希。

用户名-密码身份验证

提示

本文中的步骤可能因开始使用的门户而略有不同。

如果应用仅使用用户名-密码身份验证,则无需为应用程序注册重定向 URI。 此流将往返访问 Microsoft 标识平台。 不会在任何特定 URI 上调用你的应用程序。

但是,请将应用程序标识为公共客户端应用程序。 为此,请执行以下操作:

  1. 还是在 Microsoft Entra 管理中心,在“应用注册”中选择你的应用,然后选择“身份验证”。

  2. 在“高级设置”>“允许公共客户端流”>“启用以下移动和桌面流:”中,选择“是”。

    Enable public client setting on Authentication pane in Azure portal

API 权限

适用于已登录用户的移动应用程序调用 API。 应用需要请求委托的权限。 这些权限也称为范围。 根据所需的体验,可以通过 Azure 门户以静态方式请求委托的权限。 或者,可以在运行时动态请求这些权限。

以静态方式注册权限可让管理员轻松审批应用。 建议使用静态注册。

后续步骤

转到此方案中的下一篇文章:应用代码配置