配置应用的发布者域
应用的发布者域告知用户其信息将发送到何处。 发布者域还可以作为发布者验证的输入或先决条件。 根据应用的注册时间和发布者验证的状态,它将在应用程序的同意提示上直接向用户显示。 应用程序的发布者域在同意 UX 上显示给用户(取决于发布者验证的状态),以让用户知道他们的信息被发送到哪里以获得信任。
应用的许可提示中会显示发布者域或发布者验证状态。 显示哪些信息取决于应用是否为多租户应用、注册应用的时间以及应用的发布者验证状态。
了解多租户应用
多租户应用是支持单个组织目录之外的用户帐户的应用。 例如,多租户应用可能支持所有 Microsoft Entra 工作或学校帐户,或者可能同时支持 Microsoft Entra 工作或学校帐户以及个人 Microsoft 帐户。
了解默认发布者域值
决定应用发布者域默认值的因素包括:
- 应用是否在租户中注册。
- 租户是否有租户验证的域。
- 应用的注册日期。
租户注册和租户验证的域
注册新应用时,应用的发布者域可设置为默认值。 默认值取决于应用的注册位置。 发布者域的值取决于该应用是否已在某个租户中注册,以及该租户是否具有租户验证的域。
如果存在租户验证的域,则应用的发布者域将默认为该租户的主要验证域。 如果应用没有租户验证的域,并且应用未在租户中注册,则应用的默认发布者域为 null。
下表使用示例方案描述发布者域的默认值:
租户验证的域 | 发布者域的默认值 |
---|---|
Null | null |
*.onmicrosoft.com |
*.onmicrosoft.com |
- *.onmicrosoft.com - domain1.com - domain2.com (主要验证域) |
domain2.com |
应用的注册日期
应用的注册日期还可确定应用的默认发布者域值。
如果多租户应用在 2019 年 5 月 21 日至 2020 年 11 月 30 日期间注册:
- 如果应用的发布者域未设置或设置为以
.onmicrosoft.com
结尾的域,则对于发布者域值,应用的同意提示显示为未验证。 - 如果应用有一个已验证的应用域,同意提示将显示这个已验证的域。
- 如果应用已验证发布者,发布者域将显示指示状态的蓝色已验证锁屏提醒。
如果多租户是在 2020 年 11 月 30 日之后注册的:
- 如果应用未经过发布者验证,则应用的同意提示显示未验证。 不会显示与发布者域相关的信息。
- 如果应用已验证发布者,则应用许可提示将显示蓝色的已验证锁屏提醒。
2019年 5 月 21 日之前创建的应用
如果应用在 2019 年 5 月 21 日之前注册,则即使未设置发布者域,应用的同意提示也会显示未验证。 我们建议设置发布者域值,这样用户就能在应用的同意提示中看到此信息。
在 Microsoft Entra 管理中心设置一个发布服务器域
提示
本文中的步骤可能因开始使用的门户而略有不同。
使用 Microsoft Entra 管理中心为应用设置发布服务器域:
如果有权访问多个租户,请使用右上角的“设置”图标 ,从“目录 + 订阅”菜单中选择在其中注册应用的租户。
在 Microsoft Entra 管理中心,浏览到“标识”>“应用程序”>“应用注册”。
搜索并选择要配置的应用。
在概述中管理下的资源菜单中,选择品牌。
在发布者域中选择下列任一选项:
- 如果尚未配置域,请选择配置域。
- 如果已配置域,请选择更新域。
如果应用已在租户中注册,则选择下列两个选项中的任意一个:
- 选择已验证域
- 验证新域
如果域尚未在租户中注册,则只会显示用于为应用程序验证新域的选项。
验证应用的新域
验证应用的新发布者域:
创建名为 microsoft-identity-association.json 的文件。 复制以下 JSON 并将其粘贴到 microsoft-identity-association.json 文件中:
{ "associatedApplications": [ { "applicationId": "<your-app-id>" }, { "applicationId": "<another-app-id>" } ] }
将
<your-app-id>
替换为应用的“应用(客户)ID”。 如需验证多个应用的新域,请使用所有相关的应用 ID。将文件托管在
https://<your-domain>.com/.well-known/microsoft-identity-association.json
中。 用验证域的名称替换<your-domain>
。选择验证并保存域。
域验证完成后,无需维护用于验证的资源。 验证完成后,可删除托管文件。
选择已验证域
如果租户包含已验证的域,请从选择已验证的域下拉菜单中选择一个域。
注意
为进行反序列化,内容将被解释为 UTF-8 JSON。 应返回的受支持 Content-Type
标头为 application/json
、application/json; charset=utf-8
或
。 如果你使用任何其他标头,可能会看到以下错误消息:
Verification of publisher domain failed. Error getting JSON file from https:///.well-known/microsoft-identity-association. The server returned an unexpected content type header value.
发布者域和应用的同意提示
配置发布者域会影响用户在应用同意提示中看到的内容。 要想了解有关同意提示组件的详细信息,请参阅了解应用同意体验。
下图显示了发布者域在 2019 年 5 月 21 日之前创建的应用的应用同意提示中的显示方式:
对于在 2019 年 5 月 21 日至 2020 年 11 月 30 日期间创建的应用,发布者域在应用的同意提示中的显示方式取决于发布者域和应用类型。 下图显示了使用不同的配置组合时,同意提示中会出现的内容:
对于在 2020 年 11 月 30 日之后创建的多租户应用,应用的同意提示中仅显示发布者验证状态。 下表描述了同意提示中显示的内容,具体取决于应用是否已验证。 单租户应用的同意提示保持不变。
发布者域和重定向 URI
使用任何工作或学校帐户或使用 Microsoft 帐户 (多租户) 进行用户登录的应用需遵循重定向 URI 中的一些限制条件。
单个根域限制
当多租户应用的发布者域值设置为 null 时,应用仅限于共享重定向 URI 的单个根域。 例如,不允许使用以下值的组合,因为根域 contoso.com
与 fabrikam.com
不匹配。
"https://contoso.com",
"https://fabrikam.com",
子域限制
允许子域,但必须显式注册根域。 例如,尽管以下 URI 共享一个根域,但不允许将其组合:
"https://app1.contoso.com",
"https://app2.contoso.com",
但是,如果开发人员显式添加根域,则允许组合:
"https://contoso.com",
"https://app1.contoso.com",
"https://app2.contoso.com",
限制异常
以下方案存在单个根域的限制:
- 单租户应用或面向单个目录中的帐户的应用。
- 使用 localhost 作为重定向 URI。
- 使用自定义方案(非 HTTP 或 HTTPS)的重定向 URI。
以编程方式配置发布者域
目前,无法使用 REST API 或 PowerShell 以编程方式设置发布者域。
后续步骤
- 了解如何将应用标记为“发布者已验证”。
- 排查发布者验证问题。