Skip to main content

2026 年 4 月 13 日

将移动用户重定向到 Omnissa Access 以进行身份验证

在成功的配置中,访问 AD FS 联合应用程序 Web 门户的用户可以选择其身份验证方法。通过将 AD FS 配置为对桌面用户进行身份验证,并将移动用户路由到 Omnissa Access 进行身份验证,您可以自动执行此选择。

使用以下过程实施“移动设备信任”(MainUseCases.md)。在此用例中,您可以通过 Workspace ONE UEM 获得 Omnissa Access 提供的独特移动设备管理功能。桌面用户可以继续使用他们所熟悉的现有 AD FS 身份验证工作流。

此用例适用于通过应用程序门户(例如,对于 Office 365,导航到 portal.office.com)直接登录到 AD FS 联合应用程序的用户。当用户以这种方式启动 SP 启动的流程时,AD FS 会根据用户的设备类型将身份验证请求路由到相应的身份提供程序。

  • 如果用户从台式机登录,AD FS 会作为身份提供程序处理身份验证请求。桌面用户的登录体验保持不变,因为他们使用自己熟悉的 AD FS 凭据登录应用程序。
  • 如果用户从移动设备登录,AD FS 会将身份验证请求转发至作为受信任的身份提供程序(或声明提供程序)的 Omnissa Access。Omnissa Access 会验证用户的凭据,然后 Workspace ONE UEM 会根据生效的设备状态策略管理用户对应用程序的访问权限。

**注意:**以下过程使用 AD FS Web 主题来运行包含移动重定向代码的 HRD 页面。如果您的依赖方仅包含一个声明提供程序,则 HRD 页面(及其相关代码)不会运行。

有关 SP 启动的身份验证流程的更多信息,请参阅 IdP 启动和 SP 启动的身份验证流程

必备条件

执行将 AD FS 联合应用程序与 Workspace ONE Intelligent Hub 集成中所述的过程。

过程

  1. 使用完全管理员特权登录到 AD FS 服务器。

  2. 以管理员身份运行 PowerShell。

  3. 通过输入以下 cmdlet 创建工作文件夹。

    mkdir c:\myscripts
    
  4. 导出默认 AD FS Web 主题。

    Export-AdfsWebTheme –Name "Default" –DirectoryPath c:\myscripts
    

    “命令”窗口的屏幕截图,其中显示了导出命令的详细信息

    导出 cmdlet 会在 c:\myscripts\script 文件夹中创建一个 onload.js 文件。要根据用户设备类型指定身份验证选项,请修改此 JavaScript 文件。

  5. 在文本编辑器(如 Notepad++ )中打开 C:\myscripts\script\onload.js,并将以下 JavaScript 代码添加到文件的开头。

    按如下方式替换代码中的占位符值。

    占位符值AD FS 4.0 的替换值AD FS 3.0 的替换值
    {AccessTenant}Omnissa Access 服务的完全限定域名 (FQDN)Omnissa Access 服务的 FQDN
    {AD FS claims provider}'AD Authority''http://{ADFSdomain}/adfs/services/trust' (其中 {ADFSdomain} 是 AD FS 服务器的 FQDN)
    var myCheckHRD = document.getElementById('hrdArea');
    if (myCheckHRD) 
    {    
       // redirect mobile traffic to Workspace ONE
       if (navigator.userAgent.match(/iPad|iPhone|Android|Windows Phone/i) != null)
       {
           HRD.selection('https://{AccessTenant}/SAAS/API/1.0/GET/metadata/idp.xml');
       }
       // ADDITIONAL LOGIC FOR iPadOS AND iOS 13 iPad DEVICES
       else if (navigator.userAgent.match(/Macintosh/i) != null)
       {
           if(navigator.maxTouchPoints > 2)
               {
                   HRD.selection('https://{AccessTenant}/SAAS/API/1.0/GET/metadata/idp.xml');
               }
           else
               {
                   HRD.selection('{AD FS claims provider}');
               }
       }
    
       // else authenticate with local AD claims provider        
       else 
       {
           HRD.selection('{AD FS claims provider}');
       }
    
       // hide HRD selector from user
       var hrdui = document.getElementById("bySelection");
       hrdui.style.display = "none";
    }    
    

此代码指定 Omnissa Access 服务作为用户从移动设备登录的身份验证选项。它指定 AD FS 作为用户从所有其他设备登录的身份验证选项。它还指示 AD FS 自动路由身份验证请求,而不会提示用户执行操作。

**注意:**从 Apple iPad 设备上的 iOS 13 开始,默认用户代理为 macOS,而不是 iPad。必须更新依赖用户代理信息来确定设备类型的所有服务。此 JavaScript 代码包含用于支持 Apple 当前 iOS 产品(包括 iPadOS)的额外逻辑。Apple 可能会在未来的版本中更改“适用于 iPadOS 和 iOS 13 iPad 设备的其他逻辑”的行为。如果其行为发生更改,则可能需要修改此代码脚本以反映这种变化。

  1. 将更新后的 onload.js 文件放入 c:\myscripts\script 文件夹中,覆盖旧文件。

    接下来,您可以通过创建引用更新后的 onload.js 文件的 AD FS Web 主题来自定义 AD FS 登录页面。

  2. 在 PowerShell 中,创建 AD FS Web 主题。

    New-AdfsWebTheme –Name "WS1ACCESS" –SourceName "Default"
    
  3. 导入更新后的 onload.js 文件。

    Set-AdfsWebTheme -TargetName WS1ACCESS -AdditionalFileResource
                   @{Uri='/adfs/portal/script/onload.js';path="c:\myscripts\script\onload.js"}
    
  4. 激活新的 Web 主题。

    要将移动流量从单个 AD FS 应用程序重定向到移动设备,请执行以下操作:

    Set-AdfsRelyingPartyWebTheme
    -TargetRelyingPartyName "Microsoft Office 365 Identity Platform"
    -SourceWebThemeName "WS1ACCESS"
    

    要将移动流量从所有 AD FS 应用程序重定向到移动设备,请执行以下操作:

    Set-AdfsWebConfig -ActiveThemeName "WS1ACCESS"
    
  5. 要保存更改,请重新启动 AD FS 服务。

    Restart-Service adfssrv
    

    **注意:**如果要恢复为默认 AD FS Web 主题,请输入以下 cmdlet:

    Set-AdfsWebConfig -ActiveThemeName "Default"
    

    适用于 iOS 的 AD FS 身份验证顺序

    适用于 iOS 设备的 AD FS 身份验证顺序图

    适用于 Android 的 AD FS 身份验证顺序

    适用于 Android 设备的 AD FS 身份验证顺序图

此页面对您有帮助吗?

对本主题提供反馈

本主题对您有帮助吗?

请勿填写任何个人信息或机密信息。

正在生成链接…