在 Microsoft Teams 中为助手配置使用 Microsoft Entra ID 的单点登录

Copilot Studio 支持对发布到 Microsoft Teams 1:1 聊天的 Copilot 进行单点登录 (SSO),这意味着 Copilot 可以使用其 Microsoft Teams 凭据自动登录用户。 仅在使用 Microsoft Entra ID 时支持 SSO。 其他服务提供商(如 Azure AD v1)不支持 SSO in Microsoft Teams。

重要提示

可以在聊天中使用 Microsoft Teams SSO,并且不需要手动身份验证。 若要对以前发布的 copilot 使用此方法,请将 copilot 重新配置为使用 Microsoft 进行身份验证,然后再次将其 Microsoft Teams发布到。 此更改可能需要几个小时才能生效。 如果用户正在进行对话并且更改似乎尚未生效,他们可以在聊天中键入“重新开始”,以强制对话使用最新版本的 Copilot 重新启动。 这些更改现在可用于用户和 Copilot 之间的 Teams 1:1 聊天。 它们尚不可用于群聊或频道消息。

Dynamics 365 客户服务 集成的 Copilot 不支持 SSO。

除非必要,否则请不要继续处理以下文件。 如果要对 Copilot 使用手动身份验证,请参阅 使用 Microsoft Entra ID 配置用户身份验证。

备注

如果您使用带有手动身份验证选项的 Teams SSO 身份验证,并且同时在自定义网站上使用助手,则必须使用应用程序清单部署 Teams 应用程序。

有关更多信息,请参阅下载助手的 Teams 应用程序清单

其他配置(例如“手动”旁边的身份验证选项)或使用一键式通过 Teams 部署 Copilot Studio 将不起作用。

先决条件

配置应用注册

在为 Teams 配置 SSO 之前,您需要使用 ID 配置用户身份验证 Microsoft Entra 。 此过程将创建设置 SSO 所需的应用程序注册。

  1. 创建应用注册。 请参阅使用 Microsoft Entra ID 配置用户身份验证中的说明。

  2. 添加重定向 URL。

  3. 生成客户端密码。

  4. 配置手动身份验证。

查找 Microsoft Teams 渠道应用 ID

  1. 在中 Copilot Studio,打开要为其配置 SSO 的 Copilot。

  2. 在助手的设置下,选择渠道。 选择 Microsoft Teams 磁贴。

  3. Microsoft Teams 如果频道尚未连接到您的副驾驶,请选择 “打开 Teams”。 有关更多信息,请参阅 将 Copilot 连接到 Microsoft Teams 通道

  4. 选择 Edit details(编辑详细信息),展开 More(更多),然后选择 App ID (应用程序 ID字段旁边的 Copy(复制 )。

    Teams 渠道详细信息的屏幕截图,突出显示了 Copy (复制) 按钮。

将 Microsoft Teams 渠道应用 ID 添加到应用注册中

  1. 转到 Azure 门户。 打开您为助手配置用户身份验证时创建的应用注册的应用注册边栏选项卡。

  2. 在侧窗格上选择公开 API。 为应用程序 ID URI 选择设置

    应用程序 ID URI 的“设置”按钮位置的屏幕截图。

  3. 输入“api://botid-{teamsbotid}”,并将“{teamsbotid}”替换为之前找到的 Teams 频道应用 ID 。 在此示例中, 应用程序 ID URI 将设置为“api://botid-aaa8ae75-b379-4fff-b7fc-56499f22611d”。

    在应用程序 ID URI 框中输入的格式正确的 URI 的屏幕截图。

  4. 选择保存

在同意过程中,当用户/管理员授予应用程序权限时,应用程序有权调用 API。 要详细了解同意,请参阅 Microsoft 标识平台中的权限和同意

如果管理员同意选项可用,则必须授予同意:

  1. 在应用注册边栏选项卡上的 Azure 门户中,转到 API 权限

  2. 选择为 <您的租户名称> 授予管理员同意,然后选择

    突出显示“授予管理员同意”按钮的屏幕截图。

小费

为避免用户必须同意每个应用程序,全局管理员、应用程序管理员或云应用程序管理员可以 授予对应用程序注册的租户范围的同意

添加 API 权限

  1. 在应用注册边栏选项卡上的 Azure 门户中,转到 API 权限

  2. 选择添加权限,选择 Microsoft Graph

  3. 选择委托的权限。 此时将显示权限列表。

  4. 展开 OpenId 权限

  5. 选择 OpenIdProfile

  6. 选择添加权限

    openid 和 profile 权限已打开的屏幕截图。

为您的助手定义自定义范围

  1. 在应用注册边栏选项卡上的 Azure 门户中,转到公开 API

  2. 选择添加范围

    突出显示“添加范围”按钮的屏幕截图。

  3. 设置以下属性:

    属性 价值
    范围名称 输入 “Test.Read”
    谁可以同意? 选择管理员和用户
    管理员同意显示名称 输入 “Test.Read”
    管理员同意说明 输入“允许应用程序让用户登录”。
    选择已启用

    备注

    范围名称 “Test.Read” 是一个占位符值,应替换为在您的环境中有意义的名称。

  4. 选择添加范围

添加 Microsoft Teams 客户端 ID

重要提示

在以下步骤中,应直接使用为 Microsoft Teams 客户端 ID 提供的值,因为它们在所有租户中是相同的。

  1. 在 Azure 门户中,在应用注册边栏选项卡上,转到 公开 API,选择添加客户端应用程序

    突出显示“添加客户端应用程序”按钮的屏幕截图。

  2. 在 客户端 ID 字段中,输入移动/桌面的 Microsoft Teams 客户端 ID,即“1fec8e78-bce4-4aaf-ab1b-5451cc387264”。 选中您先前创建的范围的复选框。

    在“添加客户端应用程序”窗格中输入的客户端 ID 的屏幕截图。

  3. 选择添加应用程序

  4. 重复上述步骤,但对于 Client ID( 客户端 ID),输入 on the web 的 Microsoft Teams 客户端 ID,即“5e3ce6c0-2b1f-4285-8d4b-75ee78787346”。

  5. 确认公开 API 页面将列出 Microsoft Teams 客户端应用 ID。

    正确列出 Microsoft Teams 客户端 ID 的“公开 API”页面的屏幕截图。

总而言之, Microsoft Teams 添加到 Expose an API 页面的两个 客户端 ID 是:

  • 1fec8e78-bce4-4aaf-ab1b-5451cc387264
  • 5e3ce6c0-2b1f-4285-8d4b-75ee78787346

将令牌交换 URL 添加到 Copilot 的身份验证设置

要更新 Microsoft Entra ID 身份验证设置 Copilot Studio,必须添加令牌交换 URL 以允许 Microsoft Teams 和 Copilot Studio 共享信息。

  1. 在应用注册边栏选项卡上的 Azure 门户中,转到公开 API

  2. 在 Scopes(范围) ,选择 Copy to clipboard( 复制到剪贴板 )图标。

  3. 在 Copilot Studio Copilot 的设置下,选择 安全性,然后选择 身份验证 磁贴。

  4. 对于令牌交换 URL(SSO 需要),粘贴之前复制的范围。

  5. 选择保存

    令牌交换 URL Copilot Studio 粘贴位置的屏幕截图。

将 SSO 添加到助手的 Microsoft Teams 渠道

  1. 在 Copilot Studio 中的助手设置下,选择渠道

  2. 选择 Microsoft Teams 磁贴。

  3. 选择编辑详细信息,展开更多

  4. 对于 AAD 应用程序的客户端 ID,从应用注册输入应用程序(客户端)ID

    要获取此值,打开 Azure 门户。 然后,在应用注册边栏选项卡中,转到概览。 复制应用程序(客户端)ID 框中的值。

    Azure 门户中查找应用程序(客户端)ID 的位置的屏幕截图。

  5. 对于资源 URI,从应用注册输入应用程序 ID URI

    要获取此值,打开 Azure 门户。 然后,在应用注册边栏选项卡中,转到公开 API。 复制应用程序 ID URI 框中的值。

    Azure 门户中查找应用程序 ID URI 的位置的屏幕截图。

  6. 选择保存,然后选择关闭

    在 Teams 频道 Copilot Studio中粘贴应用程序 ID URI 的位置的屏幕截图。

  7. 再次发布 Copilot,以便向客户提供最新的更改。

  8. 选择 在 Teams 中打开副驾驶,以开始与副驾驶的新 Microsoft Teams 对话,并验证它是否会自动将你登录。

已知问题

如果您首先使用手动身份验证发布了 Copilot,而没有 Teams SSO,则 Teams 中的 Copilot 将持续提示用户登录。