向主题添加最终用户身份验证
可以直接在助手对话内启用用户身份验证。 您可以将用户的基本属性(如姓名和 ID)分配给变量。 您还可以提示用户使用主题中的身份验证节点登录,该节点检索用户令牌,然后使用该令牌从后端系统检索用户信息。
备注
在 Copilot Studio 和 Microsoft Teams 中创建的助手自动配置为 Microsoft Entra ID 身份验证。
您还可以配置单一登录 (SSO),让您的用户无需手动登录。 有关详细信息,请参阅使用 Microsoft Entra ID 配置单一登录。
先决条件
向主题添加用户身份验证,以便允许客户直接在对话中登录。 然后,您可以使用用户变量个性化对话,或代表用户访问后端系统。
使用 Microsoft Entra ID 配置手动身份验证
在您的主题中使用身份验证之前,您需要使用 Microsoft Entra ID 配置用户身份验证。
按照使用 Microsoft Entra ID 配置用户身份验证中的说明进行操作。
使用“登录系统”主题添加用户身份验证
当您创建助手时,Copilot Studio 会自动添加一个名为登录的系统主题。 若要使用,您必须将您的助手身份验证设置为手动,并且要求用户登录。 当客户开始与助手对话时,登录主题会触发,并提示用户登录。 您可以酌情针对您的助手自定义登录主题。
重要提示
建议登录主题仅用于提供 Copilot Studio 提供的身份验证方法。 不应该对其进行修改来调用任何其他操作或流,或者其他身份验证方法。
在 Copilot Studio 中打开您的助手,选择页面顶部的设置,然后选择安全性。
选择身份验证。
选择手动进行身份验证,然后选择要求用户登录。
根据需要,配置所有手动身份验证字段。
选择保存。
向自定义主题添加用户身份验证
登录主题在对话开始对用户进行身份验证。 若要允许用户以后登录,可以将身份验证节点添加到任何自定义主题中。
当客户输入用户名和密码时,系统可能会提示他们输入验证代码。 用户登录后,将不会再次提示他们,即使他们到达另一个身份验证节点也不例外。
在页面顶部,选择设置,然后选择安全性。
选择身份验证磁贴。
备注
您必须选择手动进行身份验证,才能将用户身份验证添加到自定义主题。
清除要求用户登录复选框。
根据需要,配置所有手动身份验证字段。
选择保存。
选择页面顶部的主题。
选择添加节点 () >高级>身份验证。
使用配置有标识提供者的用户测试主题。
提示
针对登录成功和失败创建登录路径很重要。 登录可能由于多种原因而失败,包括标识提供者的登录体验错误。
身份验证变量
在针对您的助手配置用户身份验证时,可以在主题中使用身份验证变量。 下表根据您选择的身份验证选项比较这些变量的可用性:
有关变量的更多信息,请参阅使用变量。
身份验证变量 | 不进行身份验证 | 向 Microsoft 进行身份验证 | 手动进行身份验证 |
---|---|---|---|
User.DisplayName | 不可用 | 有空 | 有空 |
User.FirstName | 不可用 | 有空 | 有空 |
User.LastName | 不可用 | 有空 | 有空 |
User.PrincipalName | 不可用 | 有空 | 有空 |
User.Email | 不可用 | 有空 | 有空 |
User.Id | 不可用 | 有空 | 有空 |
User.IsLoggedIn | 不可用 | 有空 | 有空 |
User.AccessToken | 不可用 | 不可用 | 有空 |
SignInReason | 不可用 | 有空 | 有空 |
User.DisplayName
警告
不保证此变量包含值。 通过标识提供者的用户进行测试,以确保您的主题可以正确运行。
User.DisplayName
变量包含存储在标识提供程序中的显示名称。 请使用此变量来问候或引用最终用户,而无需他们明确告知助手他们的姓名,让对话更加个性化。
只要在配置手动身份验证时定义了 profile
范围,Copilot Studio 就会根据标识提供者提供的 name
声明自动设置 User.DisplayName
的值。 有关范围的更多信息,请参阅使用 Microsoft Entra ID 配置用户身份验证。
User.Id
警告
不保证此变量包含值。 通过标识提供者的用户进行测试,以确保您的主题可以正确运行。
User.Id
变量包含存储在标识提供程序中的用户的 ID。 使用 Power Automate 流中的此变量调用将 UserID 作为值的 API。
Copilot Studio 将根据标识提供者提供的 sub
声明自动设置 User.DisplayName
的值。
User.IsLoggedIn
User.IsLoggedIn
是存储用户登录状态的布尔变量。 true
的值指示用户已登录。 可使用此变量在主题中创建分支逻辑来检查成功登录,或仅在用户已登录时获取用户信息。
User.AccessToken
警告
务必将 User.AccessToken
变量仅传递到可信源。 其中包含用户身份验证信息,如果受到威胁,可能伤害用户。
User.AccessToken
变量中包含用户登录后获取的用户令牌。 可以将此变量传递到 Power Automate 流,以使其连接到后端 API 并获取用户信息,或代表用户执行操作。
请勿在消息节点内或您不信任的流中使用 User.AccessToken
。
SignInReason
SignInReason
是一个选择类型变量,指示用户何时必须登录。 它有两个可能的值:
SignInRequired
指示用户必须在开始对话时使用登录系统主题登录。 要求用户登录必须打开。Initializer
表示如果用户尚未登录,并且他们在对话中达到使用身份验证变量的时刻,则会提示他们登录。
相关内容
您还可以配置单一登录 (SSO),让您的用户无需手动登录。 有关详细信息,请参阅使用 Microsoft Entra ID 配置单一登录。