使用 Microsoft Entra 应用程序代理为已发布的应用设置自定义主页
本文讨论如何配置应用以将用户定向到自定义主页。 使用应用程序代理发布应用时,需要设置内部 URL,但有时这不是用户首先会看到的页面。 请设置自定义主页,以便用户可以在访问应用时转到正确的页面。 无论用户是通过 Microsoft Entra 中的“我的应用”,还是通过 Microsoft 365 应用启动器访问应用,都会看到你设置的自定义主页。
当用户启动应用时,他们默认会定向到已发布应用的根域 URL。 登陆页通常设置为主页 URL。 如果希望应用用户登录到应用中的特定页面,请使用 Azure AD 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,请执行以下步骤:
至少以应用程序管理员的身份登录到 Microsoft Entra 管理中心。
请在右上角选择用户名。 验证是否已登录到使用应用程序代理的目录。 如果需要更改目录,请选择“切换目录”,然后选择使用应用程序代理的目录。
浏览到“标识”>“应用程序”>“应用注册”。 此时将显示已注册应用的列表。
从列表中选择应用。 此时将出现一个显示已注册应用的详细信息的页面。
在“管理”下,选择“品牌打造” 。
使用新路径更新“主页 URL”。
选择“保存”。
使用 PowerShell 更改主页
若要使用 PowerShell 配置应用的主页,需执行以下操作:
- 安装 Azure AD PowerShell 模块。
- 查找应用的 ObjectId 值。
- 使用 PowerShell 命令来更新应用的主页 URL。
安装 Azure AD PowerShell 模块
在使用 PowerShell 定义自定义主页 URL 之前,请安装 Azure AD PowerShell 模块。 可以从 PowerShell 库下载使用图形 API 终结点的包。
若要安装包,请执行以下步骤:
打开标准 PowerShell 窗口,并运行以下命令:
Install-Module -Name AzureAD
如果运行的命令没有管理权限,请使用
-scope currentuser
选项。在安装期间,请选择“Y”,安装来自 Nuget.org 的两个包。这两个包是必需的。
查找应用的 ObjectId
通过使用应用的显示名称或主页搜索应用来获取应用的 ObjectId。
在同一 PowerShell 窗口中,导入 Microsoft Entra 模块。
Import-Module AzureAD
以租户管理员身份登录到 Microsoft Entra 模块。
Connect-AzureAD
查找应用。 此示例使用 PowerShell 通过搜索显示名称为
SharePoint
的应用来查找 ObjectId。Get-AzureADApplication | Where-Object { $_.DisplayName -eq "SharePoint" } | Format-List DisplayName, Homepage, ObjectId
随后应会返回如下所示的结果。 复制 ObjectId GUID,以便在下一部分中使用。
DisplayName : SharePoint Homepage : https://sharepoint-iddemo.msappproxy.net/ ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
或者,可以只拉取所有应用的列表,在列表中搜索具有特定显示名称或主页的应用,并在找到应用后复制应用的 ObjectId。
Get-AzureADApplication | Format-List DisplayName, Homepage, ObjectId
更新主页 URL
创建主页 URL,并在应用中更新此值。 继续使用同一 PowerShell 窗口;若要使用新 PowerShell 窗口,请使用 Connect-AzureAD
来再次登录到 Microsoft Entra 模块。 然后,执行以下步骤:
创建一个变量来保存所复制的
ObjectId
值。$objguid = "<object id>"
通过运行以下命令来确认有正确的应用。 输出应与上一部分中看到的输出相同(查找应用的 ObjectId)。
Get-AzureADApplication -ObjectId $objguid | Format-List DisplayName, Homepage, ObjectId
创建一个空白应用程序对象用于保存想要做出的更改。
$appnew = New-Object "Microsoft.Open.AzureAD.Model.Application"
将主页 URL 设置为所需的值。 该值必须是已发布应用的子域路径。 例如,如果将主页 URL 从
https://sharepoint-iddemo.msappproxy.net/
更改为https://sharepoint-iddemo.msappproxy.net/hybrid/
,则应用用户将直接转到自定义主页。$homepage = "https://sharepoint-iddemo.msappproxy.net/hybrid/"
对主页进行更新。
Set-AzureADApplication -ObjectId $objguid -Homepage $homepage
若要确认更改是否成功,请再次运行以下步骤 2 中的命令。
Get-AzureADApplication -ObjectId $objguid | Format-List DisplayName, Homepage, ObjectId
对于我们的示例,输出现在应如下所示:
DisplayName : SharePoint Homepage : https://sharepoint-iddemo.msappproxy.net/hybrid/ ObjectId : bbbbbbbb-1111-2222-3333-cccccccccccc
重新启动应用以确认主页是否显示为第一个屏幕(如预期)。
注意
对应用进行任何更改都可能会重置主页 URL。 如果主页网址重置,请重复执行此部分中的步骤,重置主页网址。