使用 Microsoft Entra ID 配置单点登录

重要提示

继在生成式人工智能的重大投资和跨 Microsoft Copilot 的增强集成之后,Power Virtual Agents 功能和特性现已成为 Microsoft Copilot Studio 的一部分

在我们更新文档和培训内容时,一些文章和截图可能会参考 Power Virtual Agents。

Copilot Studio 支持单一登录 (SSO)。 SSO允许网站上的助手为已经登录已部署助手的页面或应用程序的客户进行登录。

先决条件

例如,助手托管在用户已登录的企业 Intranet 中或应用中。

为 Copilot Studio 配置 SSO 主要分四个步骤:

  1. 在 Microsoft Entra ID 中为您的自定义画布创建一个应用程序注册。

  2. 要为助手定义自定义范围:

  3. 在 Copilot Studio 中配置身份验证以启用 SSO。

  4. 配置您的自定义区域 HTML 代码以启用 SSO。

重要提示

当助手出现以下任一情况时,目前不支持 SSO:

支持的渠道

下表详细介绍了当前支持 SSO 的渠道。 您可以在 Microsoft Copilot Studio 创意论坛中建议支持其他渠道。

频道 受支持
Azure 机器人服务渠道 不支持
自定义网站 受支持
演示网站 不支持
Facebook 不支持
Microsoft Teams1 受支持
移动应用 不支持
Customer Service 全渠道2 受支持

1 如果您还启用了 Teams 渠道,您需要按照为 Teams 渠道配置 SSO 文档中的配置说明操作。 未能按照该页面上的说明配置 Teams SSO 设置,会致使您的用户在使用 Teams 渠道时始终无法通过身份验证。

2 仅支持实时聊天渠道。 有关详细信息,请参阅配置转接到 Dynamics 365 Customer Service

为自定义网站创建应用注册

要启用 SSO,您需要创建两个单独的应用注册:

  • 身份验证应用程序注册,为您的助手启用 Microsoft Entra ID 用户身份验证
  • 一个画布应用注册,它支持自定义网页的 SSO

出于安全原因,我们不建议在您的助手和自定义网站上重复使用相同的应用程序注册。

  1. 按照使用 Microsoft Entra ID 配置用户身份验证中的说明创建身份验证应用程序注册。
  2. 再次按照相同的说明创建第二个应用程序注册,作为您的画布应用程序注册。
  3. 返回到本文。

配置画布应用注册

  1. 创建画布应用注册后,转到身份验证,然后选择添加平台

  2. 平台配置下,选择添加平台,然后选择 Web

  3. 重定向 URL 下,输入您的网页的 URL,例如 http://contoso.com/index.html

    配置网页的屏幕截图。

  4. 隐式授权和混合流部分中,打开访问令牌(用于隐式流)ID 令牌(用于隐式和混合流)

  5. 选择配置

查找您的助手令牌终结点 URL

  1. 在 Copilot Studio 中,转到设置,然后选择渠道

  2. 选择移动应用

  3. 令牌终结点下面,选择复制

    在 Copilot Studio 中复制令牌终结点 URL 的屏幕截图。

在网页中配置 SSO

使用 Copilot Studio 的 GitHub 存储库中提供的代码为重定向 URL 创建网页。 从 GitHub 存储库复制代码,使用以下说明对其进行修改。

  1. 转到 Azure 门户内的概览页面,从画布应用注册中复制应用程序(客户端)ID目录(租户)ID

    Azure 门户中应用注册概览页面的屏幕截图,突出显示概览、应用程序 ID 和目录 ID。

  2. 要配置 Microsoft 身份验证库 (MSAL):

    • clientId 分配给您的应用程序(客户端)ID
    • authority 分配给 https://login.microsoftonline.com/,将您的目录(租户)ID 添加到末尾。

    例如:

    var clientApplication;
        (function (){
        var msalConfig = {
            auth: {
                clientId: '692e92c7-xxxx-4060-76d3-b381798f4d9c',
                authority: 'https://login.microsoftonline.com/7ef988bf-xxxx-51af-01ab-2d7fd011db47'     
            },
    
  3. theURL 变量设置为以前复制的令牌终结点 URL。 例如:

    (async function main() {
    
        var theURL = "https://1c0.0.environment.api.powerplatform.com/powervirtualagents/bots/5a099fd/directline/token?api-version=2022-03-01-preview"
    
  4. 编辑 userId 的值以包含自定义前缀。 例如:

    var userId = clientApplication.account?.accountIdentifier != null ? 
            ("My-custom-prefix" + clientApplication.account.accountIdentifier).substr(0, 64) 
            : (Math.random().toString() + Date.now().toString()).substr(0,64);
    
  5. 保存您的更改。

使用您的网页测试您的助手

  1. 在浏览器中打开网页。

  2. 选择登录

    使用验证码登录的屏幕截图

    备注

    如果您的浏览器阻止弹出窗口,或者您正在使用匿名或隐私浏览窗口,系统会提示您登录。 否则,使用验证码完成登录。

    新的浏览器选项卡将打开。

  3. 切换到新标签页,复制验证码。

  4. 使用您的助手切换回该选项卡,并将验证码粘贴到助手对话中。