适用于 Warehouse Management 移动应用的基于用户的身份验证

Warehouse Management 移动应用支持以下类型的基于用户的身份验证:

  • 设备代码流身份验证
  • 用户名和密码身份验证

重要提示

用于登录的所有 Microsoft Entra ID 帐户必须仅授予一组最低的权限,它们必须具有最低权限才能执行其仓库任务。 对仓库移动设备用户活动的权限应严格进行限制。 请勿使用管理员帐户登录设备。

管理设备、Microsoft Entra ID 用户和移动设备用户的场景

出于安全目的,Warehouse Management 移动应用使用 Microsoft Entra ID 来对应用和 Dynamics 365 Supply Chain Management 之间的连接进行身份验证。 管理各种设备和用户的 Microsoft Entra ID 用户帐户有两个基本场景:一个场景是每个 Microsoft Entra ID 用户帐户代表一台唯一设备,另一种场景是每个 Microsoft Entra ID 用户代表一名唯一工作人员。 在每种情况下,每个工作人员在仓库管理模块中都设置了一条仓库工作人员记录,以及为每条仓库工作人员记录设置了一个或多个移动设备用户帐户。 对于具有多个移动设备用户帐户的仓库工作人员帐户,可以将其中一个帐户设为默认移动设备用户帐户。 两种场景如下:

  • 为每台移动设备使用一个 Microsoft Entra ID 用户帐户 - 在此场景中,管理员将 Warehouse Management 移动应用设置为使用设备代码流身份验证用户名/密码身份验证来通过设备的 Microsoft Entra ID 帐户连接到 Supply Chain Management。 (在此场景中,工作人员无需 Microsoft Entra ID 用户帐户。)然后,该应用会显示一个登录页面,允许工作人员登录到应用,以便他们可以访问在其库位应用给他们的工作和其他记录。 工作人员使用分配到其仓库工作人员记录的移动设备用户帐户之一的用户 ID 和密码登录。 因为工作人员必须始终输入用户 ID,因此是否将移动设备用户帐户之一设置为仓库工作人员记录的默认帐户并不重要。 当工作人员注销时,应用仍通过 Supply Chain Management 进行身份验证,但会再次显示登录页面,以便下一名工作人员可以使用其移动设备用户帐户登录。
  • 为每个工作人员使用一个 Microsoft Entra ID 用户帐户 - 在此场景中,每个用户在 Supply Chain Management 中都有一个链接到其仓库工作人员帐户的 Microsoft Entra ID 用户帐户。 因此,Microsoft Entra ID 用户登录就是指工作人员需要使用 Supply Chain Management 对应用进行身份验证并登录到应用,前提是为仓库工作人员帐户设置默认用户 ID。 此场景还支持单一登录 (SSO),因为可以在设备上的其他应用(例如 Microsoft Teams 或 Outlook)之间共享相同的 Microsoft Entra ID 会话,直到工作人员注销 Microsoft Entra ID 用户帐户。

设备代码流身份验证

使用设备代码身份验证时,Warehouse Management 移动应用会生成并显示一个唯一的设备代码。 然后,要设置设备的管理员必须将此设备代码输入到在线窗体中,同时输入 Microsoft Entra ID 用户帐户的凭据(名称和密码),该帐户表示设备本身或正在登录的工作人员(具体取决于管理员实现系统的方式)。 在某些情况下,根据 Microsoft Entra ID 用户帐户的配置方式,管理员可能还需要审核登录。 除了唯一设备代码之外,移动应用会显示相应的 URL,管理员必须在其中输入该代码和 Microsoft Entra ID 用户帐户的凭据。

设备代码身份验证可简化身份验证流程,因为用户无需管理证书或客户端密码。 但是,它会施加一些额外的要求和限制:

  • 您应该为每台设备或每名工作人员创建一个唯一的 Microsoft Entra ID 用户帐户。 此外,这些帐户应严格进行限制,以便只能执行仓库移动设备用户活动
  • 如果生成的设备代码未用于身份验证并将在 15 分钟后过期,Warehouse Management 移动应用将隐藏它。 用户需要再次按连接,移动应用才能生成新的代码。
  • 如果设备保持空闲达到 90 天,则会自动注销。
  • Intune 等移动批量部署 (MDM) 系统不支持设备代码流,因为代码是在未经身份验证的设备尝试连接到 Supply Chain Management 时生成的。

用户名/密码身份验证

当您使用用户名/密码身份验证时,每名工作人员都必须输入与设备或自身关联的 Microsoft Entra ID 用户名和密码(具体取决于您要使用的身份验证场景)。 他们可能还需要输入移动设备用户帐户 ID 和密码,具体取决于他们的仓库工作人员记录设置。 此身份验证方法支持单一登录 (SSO),这还支持移动批量部署 (MDM)。

在 Microsoft Entra ID 中创建 Web 服务应用程序

若要使 Warehouse Management 移动应用与特定 Supply Chain Management 服务器交互,必须在 Microsoft Entra ID 中为 Supply Chain Management 租户注册一个 Web 服务应用程序。 以下过程显示了一种完成此任务的方法。 有关详细信息和备用方法,请参阅此过程后的链接。

  1. 在 Web 浏览器中,转至 https://portal.azure.com

  2. 输入有权访问 Azure 订阅的用户的名称和密码。

  3. 在 Azure 门户的左侧导航窗格上,选择 Microsoft Entra ID

  4. 确保使用 Supply Chain Management 使用的 Microsoft Entra ID 的实例。

  5. 管理列表中,选择应用注册

  6. 在工具栏中,选择新注册打开注册应用程序向导。

  7. 输入应用程序的名称,选择仅此组织目录中的帐户选项,然后选择注册

  8. 将打开您的新应用注册。 记下应用程序(客户端)ID 值,因为后面需要该值。 本文后面将此 ID 称为客户端 ID

  9. 管理列表中,选择身份验证

  10. 在新应用的身份验证页面上,将启用以下移动和桌面流选项设置为,以为您的应用程序启用设备代码流。 然后选择保存

  11. 选择添加平台

  12. 配置平台对话框中,选择移动和桌面应用程序

  13. 配置桌面 + 设备对话框中,将自定义重定向 URI 字段设置为以下值:

    ms-appx-web://microsoft.aad.brokerplugin/S-1-15-2-3857744515-191373067-2574334635-916324744-1634607484-364543842-2321633333
    
  14. 选择配置以保存设置并关闭对话框。

  15. 您将返回到身份验证页面,该页面现在显示您的新平台配置。 再次选择添加平台

  16. 配置平台对话框中,选择 Android

  17. 配置您的 Android 应用对话框中,设置以下字段:

    • 包名称 - 输入以下值:

      com.microsoft.warehousemanagement
      
    • 签名哈希 - 输入以下值:

      hpavxC1xAIAr5u39m1waWrUbsO8=
      
  18. 选择配置以保存设置并关闭对话框。 然后,选择完成以返回到身份验证页面,该页面现在显示您的新平台配置。

  19. 再次选择添加平台

  20. 配置平台对话框中,选择 iOS / macOS

  21. 配置您的 iOS 或 macOS 应用对话框中,将捆绑包 ID 字段设置为 com.microsoft.WarehouseManagement

  22. 选择配置以保存设置并关闭对话框。 然后,选择完成以返回到身份验证页面,该页面现在显示您的新平台配置。

  23. 高级设置部分中,将允许公共客户端流设置为

  24. 管理列表中,选择 API 权限

  25. 选择添加权限

  26. 请求 API 权限对话框中的 Microsoft API 选项卡上,选择 Dynamics ERP 磁贴,然后选择委托的权限磁贴。 在 CustomService 下,选中 CustomService.FullAccess 复选框。 最后,选择添加权限以保存所做的更改。

  27. 在左侧导航窗格中上,选择 Microsoft Entra ID

  28. 管理列表中,选择企业应用程序。 然后,在新的管理列表中,选择所有应用程序

  29. 在搜索窗体中,输入您之前在此过程中为应用输入的名称。 确认所找到的应用的应用程序 ID 值与您之前复制的客户端 ID 相匹配。 然后,选择名称列中的链接,以打开应用的属性。

  30. 管理列表中,选择属性

  31. 是否需要分配?选项设置为,并将是否对用户可见?选项设置为。 然后,选择工具栏上的保存

  32. 管理列表中,选择用户和组

  33. 在工具栏上,选择添加用户/组

  34. 添加分配页面上,选择用户标题下的链接。

  35. 用户对话框中,选择您将使用的每个用户,以便通过 Supply Chain Management 对设备进行身份验证。

  36. 选择选择以应用您的设置并关闭对话框。 然后,选择分配以应用您的设置,并关闭添加分配页面。

  37. 安全性列表中,选择权限

  38. 选择为 <您的租户> 授予管理员同意,并代表您的用户授予管理员同意。 如果您缺少必要的权限,请返回到管理列表,打开属性,然后将是否需要分配?选项设置为 False。 然后,每个用户都可以单独授予同意。

有关如何在 Microsoft Entra ID 中设置 Web 服务应用程序的详细信息,请参阅以下资源:

设置员工、用户和仓库工作人员记录 Supply Chain Management

在工作人员可以开始使用移动应用登录之前,您在 Azure 中分配到企业应用的每个 Microsoft Entra ID 帐户都必须在 Supply Chain Management 中具有相应的员工记录、用户记录和仓库工作人员记录。 有关如何设置这些记录的信息,请参阅移动设备用户帐户

单一登录

若要使用单一登录 (SSO),您必须运行 Warehouse Management 移动应用版本 2.1.23.0 或更高版本。

SSO 使用户无需输入密码即可登录。 它的工作原理是重复使用 Intune 公司门户(仅 Android)、 Microsoft Authenticator(AndroidiOS)或设备上其他应用中的凭据。

注意

SSO 要求您使用用户名/密码身份验证。

在 Microsoft Entra ID 中创建 Web 服务应用程序中的过程描述了准备系统以使用 SSO 所需的所有设置。 但是,若要使用 SSO,您还必须执行以下步骤之一,具体取决于您配置连接的方式。

  • 如果您在 Warehouse Management 移动应用中手动配置连接,则必须在移动应用的编辑连接页面上启用代理身份验证选项。
  • 如果您使用 JavaScript 对象表示法 (JSON) 文件或 QR 码配置连接,则必须在您的 JSON 文件或 QR 码中包含 "UseBroker": true

重要提示

  • 若要使用移动批量部署 (MDM),您必须启用 SSO。
  • Warehouse Management 移动应用支持共享的设备模式

对使用基于用户的身份验证的设备取消访问权限

如果设备丢失或遭到入侵,您必须取消设备对 Supply Chain Management 的访问权限。 如果使用设备代码流对设备进行身份验证,请务必在 Microsoft Entra ID 中禁用关联的用户帐户,以便对丢失或遭到威胁的设备撤销访问权限。 通过在 Microsoft Entra ID 中禁用用户帐户,您可以有效地对使用与该用户帐户关联的设备代码的任何设备撤销访问权限。 出于此原因,我们建议您为每台设备分配一个 Microsoft Entra ID 用户帐户。

若要在 Microsoft Entra ID 中禁用用户帐户,请按照以下步骤操作。

  1. 登录 Azure 门户
  2. 在左侧导航窗格上,选择 Microsoft Entra ID,然后确保位于正确目录中。
  3. 管理列表中,选择用户
  4. 找到与设备代码关联的用户帐户,然后选择名称以打开用户的个人资料。
  5. 在工具栏上,选择撤销会话以撤销用户帐户的会话。

注意

根据您设置身份验证系统的方式,您可能还需要更改用户帐户的密码或完全禁用用户帐户。

其他资源