配置应用的发布者域
应用的发布者的域名告知用户他们的信息发送到哪里。 发布者域还可以作为发布者验证的输入或先决条件。 根据应用注册时间以及发布者验证的状态,它会直接向用户显示 应用程序的同意提示。 应用程序的发布者域在同意 UX 上显示给用户(取决于发布者验证的状态),以让用户知道他们的信息被发送到哪里以获得信任。
在应用的同意提示中,将显示发布者域或发布者验证状态。 显示哪些信息取决于应用是否是 多租户应用、注册应用时以及应用的发布者验证状态。
了解多租户应用
多租户应用 是支持不属于单个组织目录的用户帐户的应用程序。 例如,多租户应用可能支持所有Microsoft Entra 工作或学校帐户,或者它可能同时支持Microsoft Entra 工作帐户或学校帐户和个人Microsoft帐户。
了解默认发布者域值
几个因素决定了为应用的发布者域设置的默认值:
- 应用是否在租户中注册。
- 租户是否具有经过租户验证的域名。
- 应用注册日期。
租户注册和租户验证的域
注册新应用时,应用的发布者域可能设置为默认值。 默认值取决于应用注册的位置。 发布者域值取决于应用的注册位置,具体而言,取决于该租户是否具有租户验证的域。
如果应用具有租户验证的域,则应用的发布者域默认为租户的主验证域。 如果应用没有租户验证域,并且应用未在租户中注册,则应用的默认发布者域为 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。
- 重定向具有自定义方案的 URI(非 HTTP 或 HTTPS)。
以编程方式配置发布者域
目前,不能使用 REST API 或 PowerShell 以编程方式设置发布者域。
后续步骤
- 了解如何将应用标记为“发布者已验证”。
- 排查发布者验证问题。