Copilot Studio 支持发布至 Microsoft Teams 一对一聊天的应用程序使用单点登录 (SSO)。 通过使用此支持,代理可以使用其Microsoft Teams凭据自动登录用户。 仅当使用 Microsoft Entra ID 时支持 SSO。
Important
您可在 Microsoft Teams 聊天中使用 SSO 而无需手动身份验证。 若要对以前发布的代理使用此方法,请重新配置代理以将 Authenticate 与 Microsoft 配合使用,然后将其再次发布到Microsoft Teams。 可能需要几个小时的时间才能使此更改生效。 如果用户正在进行对话,但更改尚未生效,则他们可以在聊天中键入“重新开始”,强制让对话以最新版本的智能体重新开始。 这些更改现在可用于用户与客服代表之间的 Teams 1:1 聊天。 它们尚不适用于群聊或频道消息。
与 Dynamics 365 Customer Service 集成的智能体不支持SSO。
除非必要,请勿继续操作以下文档。 如果要对智能体使用手动身份验证,请参阅使用 Microsoft Entra ID 配置用户身份验证。
注释
如果将 Teams SSO 身份验证与手动身份验证选项结合使用,并且同时在自定义网站上使用智能体,则必须使用应用清单部署 Teams 应用。
有关详细信息,请参阅下载代理的 Teams 应用清单。
其他配置(例如,手动配置以外的身份验证选项,或通过使用 Copilot Studio 一键部署 Teams 的方式)不起作用。
先决条件
配置应用注册
配置 Teams 的 SSO 前,请先通过 Microsoft Entra ID 设置用户验证。 此流程将创建应用注册,用于配置 SSO。
创建应用注册。 请参阅使用 Microsoft Entra ID 配置用户身份验证中的说明。
添加重定向 URL。
生成客户端密码。
配置手动身份验证。
查找 Teams 频道应用 ID
在 Copilot Studio 中,打开要为其配置 SSO 的智能体。
转到你的代理的频道页面,然后选择Teams 和 Microsoft Copilot图块。
在 Teams 和 Microsoft Copilot 配置面板中,选择编辑详情,展开更多,然后在 App ID 字段旁选择复制。
将您的 Teams 渠道应用程序 ID 添加到应用程序注册中
转到 Azure 门户。 打开为代理配置用户身份验证时创建的应用注册实例。
在侧窗格上选择公开 API。 为应用程序 ID URI 选择设置。
输入
api://botid-{teamsbotid},将{teamsbotid}替换为您之前找到的 Teams 频道应用 ID。
选择“保存”。
授予管理员同意
当用户或管理员在同意过程中授予权限时,应用程序将获得调用 API 的授权。 要详细了解同意,请参阅 Microsoft 标识平台中的权限和同意。
若管理员同意选项可用,请授予同意:
在Azure门户中的应用注册中,转到 API 权限。
选择授予 <您的租户名称> 管理员同意,然后选择确认。
Important
为了避免用户必须同意每个应用程序,至少拥有应用程序管理员或云应用程序管理员角色的人员可以授予租户范围内对应用程序注册的同意。
添加 API 权限
在Azure门户中的应用注册中,转到 API 权限。
选择添加权限,选择 Microsoft Graph。
选择委托的权限。 权限列表将显示。
展开 OpenId 权限。
选择 openid 和 个人信息。
选择添加权限。
为您的代理设置自定义范围
在Azure门户中,在应用注册实例上,转到 Expose API。
选择添加范围。
设置以下属性:
财产 Value 范围名称 按 Enter 键 Test.Read谁可以同意? 选择管理员和用户 管理员同意显示名称 按 Enter 键 Test.Read管理员同意说明 按 Enter 键 Allows the app to sign the user in.State 选择 “已启用” 注释
范围名称
Test.Read为占位符值。 在您的环境中,用一个有意义的名称来替换它。选择添加范围。
添加 Microsoft Teams 客户端 ID
Important
在以下步骤中,请字面上使用为 Microsoft Teams 客户端 ID 提供的值,因为这些客户端 ID 在所有租户中都是相同的。
在Azure门户中,在应用注册实例上,转到 Expose api并选择添加客户端应用程序。
在客户端 ID 字段中,输入 Microsoft Teams 移动/桌面的客户端 ID,即
1fec8e78-bce4-4aaf-ab1b-5451cc387264。 勾选您先前创建的范围的复选框。
选择添加应用程序。
重复前面的步骤,但在客户端 ID 处输入 Microsoft Teams 网页版的客户端 ID,即
5e3ce6c0-2b1f-4285-8d4b-75ee78787346。确认公开 API 页面将列出 Microsoft Teams 客户端应用 ID。
总之,您需要将两个 Microsoft Teams 客户端 ID 添加到公开 API 页面:
1fec8e78-bce4-4aaf-ab1b-5451cc3872645e3ce6c0-2b1f-4285-8d4b-75ee78787346
将令牌交换 URL 添加到代理的身份验证设置
若要更新Copilot Studio中的Microsoft Entra ID身份验证设置,请添加令牌交换 URL,以便Microsoft Teams和Copilot Studio可以共享信息。
在Azure门户中,在应用注册实例上,转到 Expose API。
在范围选项中,选择复制到剪贴板图标。
在 Copilot Studio 的代理设置下,选择安全,然后选择身份验证磁贴。
对于令牌交换 URL(SSO 需要),粘贴之前复制的权限范围。
选择“保存”。
为你的代理的 Teams 频道添加单点登录
在 Copilot Studio 的智能体设置中,选择频道。
选择Teams和Microsoft Copilot图块。
选择编辑详细信息,展开更多。
对于 AAD 应用的客户端 ID,请在应用注册中输入应用程序(客户端)ID。
获取此值需打开 Azure 门户。 然后,在应用注册中,前往概览。 复制应用程序(客户端)ID 框中的值。
对于资源 URI,请输入应用注册中的应用程序 ID URI。
获取此值需打开 Azure 门户。 然后,在应用注册中,转到公开 API。 复制应用程序 ID URI 框中的值。
选择“保存”,然后“关闭”。
再次发布代理,向客户提供最新更改。
选择 在 Teams 中查看代理,以便在 Teams 中与您的代理开始新对话,并验证是否能够自动登录。
已知问题
如果您首次通过手动身份验证而不使用 Teams SSO 发布智能体,则团队中的智能体将持续提示用户登录。