使用 Microsoft Entra ID 配置选项卡应用

Microsoft Entra ID 基于应用用户的 Teams 标识提供对选项卡应用的访问权限。 使用Microsoft Entra ID 注册选项卡应用,以便向登录到 Teams 的应用用户授予对选项卡应用的访问权限。

在MICROSOFT ENTRA ID 中启用 SSO

在 Microsoft Entra ID 中注册选项卡应用并将其启用 SSO 需要进行应用配置,例如生成应用 ID、定义 API 范围以及为受信任的应用程序预授权客户端 ID。

配置Microsoft Entra ID 以将访问令牌发送到 Teams 客户端应用

在 Microsoft Entra ID 中创建新的应用注册,并使用范围 (权限) 公开其 (Web) API。 在Microsoft Entra ID 上公开的 API 与应用之间配置信任关系。 它允许 Teams 客户端代表应用程序和登录用户获取访问令牌。 可以为要预授权的受信任的移动、桌面和 Web 应用程序添加客户端 ID。

你可能还需要配置其他详细信息,例如在要面向选项卡应用的平台或设备上对应用用户进行身份验证。

仅支持用户级图形 API 权限,即电子邮件、配置文件、offline_access、OpenId。 如果需要访问其他 Graph 范围,例如 User.ReadMail.Read,请参阅 获取具有 Graph 权限的访问令牌

Microsoft Entra配置为 Teams 中的选项卡应用启用 SSO。 它使用访问令牌进行响应,以验证应用用户。

在配置应用之前

如果事先了解在Microsoft Entra ID 上注册应用的配置,则这非常有用。 在注册应用之前,请确保已准备好配置以下详细信息:

  • 单租户或多租户选项:应用程序是仅在注册它的 Microsoft 365 租户中使用,还是许多 Microsoft 365 租户都会使用它? 为一个企业编写的应用程序通常是单租户的。 由独立软件供应商编写并供许多客户使用的应用程序需要是多租户的,以便每个客户的租户都可以访问该应用程序。
  • 应用程序 ID URI:它是一个全局唯一的 URI,用于标识通过范围访问应用时公开的 Web API。 它也称为标识符 URI。 应用程序 ID URI 包括应用 ID 和托管应用的子域。 应用程序的域名和为 Microsoft Entra 应用程序注册的域名必须相同。 目前不支持每个应用有多个域。
  • 范围:可以授予授权应用用户或应用访问 API 公开资源的权限。

注意

  • 为组织构建的自定义应用 (LOB 应用) :为组织构建的自定义应用 (LOB 应用) 是组织或企业内部或特定应用。 你的组织可以通过 Microsoft Store 提供这些应用。
  • 客户拥有的应用:Azure AD B2C 租户中的客户拥有的应用也支持 SSO。

若要使用 Microsoft Entra ID 创建和配置应用以启用 SSO,请执行以下操作:

在Microsoft Entra ID 中配置应用

可以在 Microsoft Entra ID 中配置选项卡应用,以配置访问令牌的范围和权限。

先在Microsoft Entra ID 中注册应用,然后配置租户和应用的平台,然后才能启用它进行 SSO。 Microsoft Entra ID 会生成必须记下的新应用 ID。 稍后需要在应用清单 (以前称为 Teams 应用清单) 文件更新它。

注意

Microsoft Teams 工具包在 SSO 项目中注册 Microsoft Entra 应用程序。 如果你已使用 Teams 工具包创建应用,则可以跳过此部分。 但是,需要配置权限和范围,并信任客户端应用程序。

了解如何在Microsoft Entra ID 中注册应用

在MICROSOFT ENTRA ID 中注册新应用

  1. 在 Web 浏览器上打开 Azure 门户

  2. 选择 应用注册 图标。

    Microsoft Entra管理中心页。

    将显示 应用注册 页。

  3. 选择 + 新建注册 图标。

    Microsoft Entra管理中心上的新注册页。

    将显示注册应用程序页。

  4. 输入要显示给应用用户的应用名称。 如果需要,可以在稍后阶段更改名称。

    Microsoft Entra管理中心中的应用注册页。

  5. 选择可以访问应用的用户帐户的类型。 可以从组织目录中的单个或多租户选项中进行选择,或仅限制对个人 Microsoft 帐户的访问。

    支持的帐户类型的选项
    选项 选择此选项可...
    此组织目录中的帐户仅 (Microsoft - 单租户) 生成仅供租户中(或来宾)用户使用的应用程序。
    此应用通常称为为组织 (LOB 应用) 构建的自定义应用,是Microsoft 标识平台中的单租户应用程序。
    任何组织目录中的帐户 (任何Microsoft Entra ID 租户 - 多租户) 允许任何Microsoft Entra租户中的用户使用应用程序。 例如,如果要生成 SaaS 应用程序,并且打算将其提供给多个组织,则此选项适用。
    这种类型的应用在Microsoft 标识平台称为多租户应用程序。
    任何组织目录中的帐户 (任何Microsoft Entra ID 租户 - 多租户) 和个人 Microsoft 帐户 (,例如 Skype、Xbox) 面向最广泛的客户集。
    通过选择此选项,你将注册一个多租户应用程序,该应用程序可以支持具有个人 Microsoft 帐户的应用用户。
    仅限个人 Microsoft 帐户 仅为拥有个人 Microsoft 帐户的用户生成应用程序。

    注意

    无需输入 重定向 URI 即可为选项卡应用启用 SSO。

  6. 选择“注册”。 浏览器上弹出一条消息,指出应用已创建。

    在Microsoft Entra管理中心注册应用。

    将显示具有应用 ID 和其他配置的页面。

    应用注册成功。

  7. 记下并保存 应用程序 (客户端中的应用 ID) ID ,以便稍后更新应用清单。

    你的应用在Microsoft Entra ID 中注册。 现在,你已获得选项卡应用的应用 ID。

配置访问令牌的范围

创建新的应用注册后,配置范围(权限)选项,以便将访问令牌发送到 Teams 客户端,并授权受信任的客户端应用程序启用 SSO。

若要配置范围并授权受信任的客户端应用程序,需要:

  • 若要公开 API:为应用配置范围(权限)选项。 公开 Web API 并配置应用程序 ID URI。
  • 若要配置 API 范围:定义 API 的范围,以及可以同意某个范围的用户。 只能让管理员为特权较高的权限提供许可。
  • 配置授权客户端应用程序:为要预授权的应用程序创建授权客户端 ID。 它允许应用用户访问你配置的应用范围(权限),而无需任何进一步的同意。 仅预授权你信任的那些客户端应用程序,因为应用用户将没有机会拒绝同意。

公开 API

  1. 从左窗格中选择“管理>公开 API”。

    公开 API 菜单选项。

    随即显示“公开 API”页。

  2. 选择“ 添加 ”,以以 的形式 api://{AppID}生成应用程序 ID URI。

    设置应用 ID URI

    将显示用于设置应用程序 ID URI 的部分。

  3. 以此处所述的格式输入应用程序 ID URI。

    应用程序 ID URI。

    • 应用程序 ID URI 预填充了应用 ID (GUID) 格式api://{AppID}
    • 应用程序 ID URI 格式必须为: api://fully-qualified-domain-name.com/{AppID}
    • api://{AppID} 之间出入 fully-qualified-domain-name.com(即 GUID)。 例如,api://example.com/{AppID}。

    其中

    • fully-qualified-domain-name.com 是提供选项卡应用的人类可读域名。 应用程序的域名和为 Microsoft Entra 应用程序注册的域名必须相同。

      如果使用的是隧道服务(如 ngrok),则必须在 ngrok 子域发生更改时更新此值。

    • AppID 是注册应用时生成的 (GUID) 的应用 ID。 可以在“概述”部分中进行查看。

    重要

    • 敏感信息:应用程序 ID URI 记录为身份验证过程的一部分,不得包含敏感信息。

    • 具有多种功能的应用的应用程序 ID URI:如果要生成具有机器人、消息传递扩展和选项卡的应用,请输入应用程序 ID URI 作为 api://fully-qualified-domain-name.com/botid-{YourClientId},其中 {YourClientId} 是机器人应用 ID。

    • 域名的格式:对域名使用小写字母。 请勿使用大写。

      例如,若要创建具有资源名称的应用服务或 Web 应用,请执行以下操作 demoapplication

      如果使用了基本资源名称 URL 将为... 支持格式...
      demoapplication https://demoapplication.example.net 所有平台
      DemoApplication https://DemoApplication.example.net 仅限桌面、Web 和 iOS。 Android 不支持此功能。

      使用小写选项 demoapplication 作为基本资源名称。

  4. 选择“保存”

    浏览器上弹出一条消息,指出应用程序 ID URI 已更新。

    应用程序 ID URI 消息

    应用程序 ID URI 显示在页面上。

    应用程序 ID URI 已更新

  5. 记下并保存应用程序 ID URI,以便稍后更新应用清单。

配置 API 范围

  1. 在此 API 部分定义的“作用域”中选择“+ 添加作用域”。

    选择作用域

    将显示 “添加范围 ”页。

  2. 输入配置范围的详细信息。

    屏幕截图显示如何在 Azure 中添加范围详细信息。

    1. 输入范围名称。 此字段是必需的。
    2. 选择可以对此范围表示同意的用户。 默认选项为 仅限管理员
    3. 输入管理员同意显示名称。 此字段是必需的。
    4. 输入管理员同意的说明。 此字段是必需的。
    5. 输入 用户同意显示名称
    6. 输入用户同意说明。
    7. 为状态选择“启用”选项。
    8. 选择“添加作用域”。

    浏览器上弹出一条消息,指出已添加范围。

    范围添加的消息

    定义的新范围显示在页面上。

    添加和显示的范围

配置已授权的客户端应用程序

  1. 将“公开 API ”页移动到“授权客户端应用程序”部分,然后选择“+ 添加客户端应用程序”。

    授权的客户端应用程序

    将显示“添加客户端应用程序”页。

  2. 为要为应用的 Web 应用程序授权的应用程序输入相应的 Microsoft 365 客户端 ID。

    添加客户端应用程序

    注意

    • 适用于 Teams、Microsoft 365 应用和 Outlook 的移动、桌面和 Web 应用程序的 Microsoft 365 客户端 ID 是必须添加的实际 ID。
    • 对于 Teams 选项卡应用,需要 Web 或 SPA,因为 Teams 中不能有移动或桌面客户端应用程序。
    1. 选择以下客户端 ID 之一:

      使用客户端 ID 用于授权...
      1fec8e78-bce4-4aaf-ab1b-5451cc387264 Teams 移动或桌面应用程序
      5e3ce6c0-2b1f-4285-8d4b-75ee78787346 Teams Web 应用程序
      4765445b-32c6-49b0-83e6-1d93765276ca Microsoft 365 Web 应用程序
      0ec893e0-5785-4de6-99da-4ed124e5296c Microsoft 365 桌面应用程序
      d3590ed6-52b3-4102-aeff-aad2292ab01c Microsoft 365 移动应用程序
      d3590ed6-52b3-4102-aeff-aad2292ab01c Outlook 桌面应用程序
      bc59ab01-8403-45c6-8796-ac3ef710b3e3 Outlook Web 应用程序
      27922004-5251-4030-b22d-91ecd9a37ea4 Outlook 移动应用程序
    2. 选择在 授权范围内 为应用创建的应用程序 ID URI,将范围添加到公开的 Web API。

    3. 选择“添加应用程序”

      浏览器上弹出一条消息,指出已添加授权的客户端应用。

      客户端应用程序添加了消息

      授权应用的客户端 ID 显示在页面上。

      添加并显示的客户端应用

注意

可以授权多个客户端应用程序。 重复此过程的步骤以配置另一个已授权的客户端应用程序。

已成功配置应用范围、权限和客户端应用程序。 确保记下并保存应用程序 ID URI。 接下来,配置访问令牌版本。

配置访问令牌版本

必须为应用定义访问令牌版本。 此配置是在Microsoft Entra应用程序应用清单中进行的。

定义访问令牌版本

  1. 从左窗格中选择“管理>清单 ”。

    Microsoft Entra管理中心清单

    此时会显示Microsoft Entra应用程序应用清单。

  2. 输入 2 作为 accessTokenAcceptedVersion 属性的值。

    注意

    如果你在应用注册期间选择了“仅限个人 Microsoft 帐户”或“任何Microsoft Entra目录-多租户) 和个人 Microsoft 帐户” ((例如 Skype 和 Xbox) )中的任何 (组织目录中的帐户,请将 属性的值accessTokenAcceptedVersion更新为 2。

    接受的访问令牌版本的值

  3. 选择“保存

    浏览器上弹出一条消息,指出已成功更新应用清单。

    清单更新的消息

祝贺你! 你已在为选项卡应用启用 SSO 所需的MICROSOFT ENTRA ID 中完成了应用配置。

后续步骤

另请参阅