使用 Microsoft Entra 应用程序代理为已发布的应用设置自定义主页

本文介绍如何将应用配置为将用户定向到自定义主页。 使用应用程序代理发布应用时,可以设置内部 URL,但有时不是用户应首先看到的页面。 设置自定义主页,以便用户在访问应用时获得正确的页面。 无论用户是从 Microsoft Entra My Apps 还是 Microsoft 365 应用启动器访问应用,都可以看到你设置的自定义主页。

当用户启动应用时,默认情况下会定向到已发布应用的根域 URL。 着陆页通常设置为主页 URL。 当希望应用用户登录到应用中的特定页面时,请使用 Microsoft Entra PowerShell 模块定义自定义主页 URL。

下面是一种方案,说明公司为何会设置自定义主页:

  • 在企业网络中,用户转到 https://ExpenseApp/login/login.aspx 登录并访问应用。
  • 由于应用程序代理需要访问文件夹结构顶层的其他资源(如图像),您需将应用发布为https://ExpenseApp并设定为内部URL。
  • 默认的外部 URL https://ExpenseApp-contoso.msappproxy.net不能将外部用户定向到登录页。
  • 你想要将 https://ExpenseApp-contoso.msappproxy.net/login/login.aspx 设置为主页 URL,这样外部用户首先会看到登录页面。

注释

向用户授予对已发布应用的访问权限时,应用会显示在 “我的应用 ”和 Office 365 应用启动器中。

在您开始之前

在设置主页 URL 之前,请记住以下要求:

  • 指定的路径必须是根域 URL 的子域路径。

    例如,如果根域 URL 为 https://apps.contoso.com/app1/,则配置的主页 URL 必须以开头 https://apps.contoso.com/app1/

  • 如果对已发布的应用进行更改,更改可能会重置主页 URL 的值。 将来更新应用时,应重新检查并在必要时更新主页 URL。

可以通过 Microsoft Entra 管理中心或使用 PowerShell 设置主页 URL。

更改 Microsoft Entra 管理中心中的主页

若要通过 Microsoft Entra 管理中心更改应用的主页 URL,请执行以下步骤:

  1. 至少以应用程序管理员的身份登录到 Microsoft Entra 管理中心
  2. 请在右上角选择用户名。 验证是否已登录到使用应用程序代理的目录。 如果需要更改目录,请选择“切换目录”,然后选择使用应用程序代理的目录
  3. 访问 Entra ID>应用注册。 此时会显示已注册的应用列表。
  4. 从列表中选择你的应用。 将显示一个页面,其中显示了已注册应用的详细信息。
  5. 在“ 管理”下,选择“ 品牌”。
  6. 使用新路径更新 主页 URL
  7. 选择“保存” 已注册应用的品牌和属性页的屏幕截图,其中突出显示了“主页 URL”字段。

使用 PowerShell 更改主页

若要使用 PowerShell 配置应用的主页,需要:

  1. 安装 Microsoft Entra PowerShell 模块。
  2. 查找应用的 ObjectId 值。
  3. 使用 PowerShell 命令更新应用的主页 URL。

安装 Microsoft Entra PowerShell 模块

在使用 PowerShell 定义自定义主页 URL 之前,请安装 Microsoft Entra PowerShell 模块。 可以从 PowerShell Gallery 下载包,该库使用 Microsoft Graph API 终结点。

若要安装包,请执行以下步骤:

  1. 打开标准 PowerShell 窗口,然后运行以下命令:

    Install-Module -Name Microsoft.Graph
    

    如果运行的命令没有管理权限,请使用 -Scope CurrentUser 此选项。

  2. 在安装过程中,选择 Y 从 Nuget.org 安装两个包。这两个包是必需的。

查找应用的 ObjectId

可以通过按应用的显示名称或主页搜索应用来获取应用的 ObjectId。

  1. 在同一 PowerShell 窗口中,导入 Microsoft Entra 模块。

    Import-Module -Name Microsoft.Graph
    
  2. 以租户管理员身份登录到 Microsoft Entra 模块。

    Connect-Entra -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes 'Application.Read.All'
    
  3. 查找应用。 此示例通过使用 PowerShell 搜索显示名称为 SharePoint 的应用来查找 ObjectId。

    Get-EntraApplication | Where-Object { $_.DisplayName -eq "SharePoint" } | Format-List DisplayName, IdentifierUris, ObjectId
    

    应获得类似于此处所示的结果。 复制 ObjectId GUID 以在下一部分中使用。

    DisplayName       : SharePoint
    IdentifierUris    : https://sharepoint-iddemo.msappproxy.net/
    ObjectId          : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    

    或者,您可以拉取所有应用的列表,在列表中搜索具有特定显示名称或首页的应用,并在找到后复制该应用的 ObjectId。

    Get-EntraApplication | Format-List DisplayName, IdentifierUris, ObjectId
    

更新主页 URL

创建主页 URL,并使用该值更新应用。 继续使用同一 PowerShell 窗口,或者如果使用新的 PowerShell 窗口,请再次登录 Microsoft Entra 模块Connect-Entra -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID'。 然后,执行以下步骤:

  1. 创建一个变量来保存 ObjectId 复制的值。

    $objguid = "<object id>"
    
  2. 通过运行以下命令确认你拥有正确的应用。 输出应与在上一部分看到的输出相同(查找应用的 ObjectId)。

    Get-EntraApplication -ObjectId $objguid | Format-List DisplayName, IdentifierUris, ObjectId
    
  3. 将主页 URL 设置为所需的值。 该值必须是已发布应用的子域路径。 例如,如果将主页 URL 从 https://sharepoint-iddemo.msappproxy.net/ 更改为 https://sharepoint-iddemo.msappproxy.net/hybrid/,应用用户将直接转到自定义主页。

    使用此命令:

    Set-EntraApplication -ApplicationId $objguid -IdentifierUris 'https://sharepoint-iddemo.msappproxy.net/hybrid/'
    
  4. 若要确认更改成功,请再次从步骤 2 运行以下命令。

    Get-EntraApplication -ObjectId $objguid | Format-List DisplayName, IdentifierUris, ObjectId
    

    在本示例中,输出现在应如下所示:

    DisplayName       : SharePoint
    IdentifierUris    : https://sharepoint-iddemo.msappproxy.net/hybrid/
    ObjectId          : bbbbbbbb-1111-2222-3333-cccccccccccc
    
  5. 重启应用以确认主页显示为第一个屏幕,如预期所示。

注释

对应用所做的任何更改都可能会重置主页 URL。 如果主页 URL 重置,请重复本部分中的步骤将其设置回去。

后续步骤