通过

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

概述

本文介绍如何将应用配置为将用户定向到自定义主页。 使用应用程序代理发布应用时,可以设置内部 URL,但有时不是用户应首先看到的页面。 设置自定义主页,以便用户在访问应用时获得正确的页面。 无论用户是从Microsoft Entra 我的应用还是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,这样外部用户首先会看到登录页面。

注释

向用户授予对已发布应用的访问权限时,应用会显示在 我的应用Microsoft 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 库 下载使用 图形 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 窗口,请使用 Connect-Entra -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID'再次登录到Microsoft Entra模块。 然后,执行以下步骤:

  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 -ObjectId $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 重置,请重复本部分中的步骤将其设置回去。

后续步骤