Добавление аутентификации конечных пользователей в помощника
Важно
Возможности и функции Power Virtual Agents теперь являются частью Microsoft Copilot Studio после значительных инвестиций в генеративный искусственный интеллект и расширенную интеграцию с Microsoft Copilot.
Некоторые статьи и снимки экрана могут ссылаться на Power Virtual Agents, пока мы обновляем документацию и учебные материалы.
Вы можете включить аутентификацию пользователя непосредственно в разговоре помощника. Аутентификация пользователя означает, что вы можете получить основные свойства пользователя, такие как имя и идентификатор, в переменные, а также предложить пользователю войти в систему с помощью узла аутентификации, получить токен пользователя для этого пользователя, а затем использовать этот токен для получения информации о пользователе из серверной системы.
Заметка
В помощниках, созданных в веб-приложении и в Microsoft Teams, предварительно настроена аутентификация для использования аутентификации Только для Teams и Power Apps.
Можно также использовать единый вход (SSO), чтобы вашим пользователям не приходилось входить в систему вручную. Дополнительные сведения см. в Настройка единого входа для Интернета.
Предварительные условия
Добавьте аутентификацию пользователя в тему, чтобы ваши клиенты могли войти прямо в разговор. Вы можете затем персонализировать разговор с помощью пользовательских переменных и получить доступ к серверным системам от имени пользователя.
Настройка аутентификации вручную с помощью Microsoft Entra ID
Вам необходимо настроить аутентификацию пользователя с помощью Microsoft Entra ID, прежде чем вы сможете использовать аутентификацию в своих темах.
- Выполните инструкции в разделе Настройка аутентификации пользователя с помощью Microsoft Entra ID.
- Вернитесь к этой статье.
Добавьте проверку подлинности с системной темой Signin
Когда вы создаете помощника, Microsoft Copilot Studio автоматически добавляет системную тему под названием Вход. Чтобы использовать ее, вы должны установить аутентификацию вашего помощника вручную и потребовать от пользователей входа в систему. Когда клиент начинает разговор с помощником, срабатывает тема Вход и предлагает пользователю войти в систему. Вы можете настроить тему Вход в соответствии с потребностями вашего помощника.
В меню навигации в разделе Параметры выберите Безопасность.
Выберите плитку Проверка подлинности.
Выберите Вручную (для пользовательского веб-сайта), затем выберите Требовать входа для пользователей.
Добавление проверки подлинности с пользовательской логикой
Тема Signin аутентифицирует пользователя в начале разговора. Чтобы позволить пользователю войти в систему позже, вы можете добавить узел Аутентификация к любой пользовательской теме.
Когда клиенты вводят свои имя и пароль, им может быть предложено ввести проверочный код. После того как они вошли в систему, им больше не будет предложено это снова, даже если они достигнут другого узла Проверка подлинности.
В меню навигации в разделе Параметры выберите Безопасность.
Выберите плитку Проверка подлинности.
Выключите Требовать входа для пользователей.
В меню навигации выберите Темы, затем откройте тему, в которую вы хотите добавить проверку подлинности.
Выберите Добавить узел (+) и выберите Вызвать действие, а затем выберите Authenticate.
Протестируйте тему, используя пользователя, настроенного в вашем поставщике удостоверений.
Совет
Важно создать пути как для успешного входа, так и для неудачного. Вход может завершиться сбоем по многим причинам, в том числе из-за ошибок при входе в систему поставщика удостоверений.
Переменные аутентификации
Когда вы настроили аутентификацию пользователей для своего помощника, вы можете использовать переменные аутентификации в своих темах. В следующей таблице сравнивается доступность этих переменных в зависимости от выбранного варианта проверки подлинности.
Переменная аутентификации | Нет аутентификации | Только для Teams и Power Apps | Вручную |
---|---|---|---|
User.DisplayName | недоступно | в сети | в сети |
User.FirstName | недоступно | в сети | в сети |
User.LastName | недоступно | в сети | в сети |
User.PrincipalName | недоступно | в сети | в сети |
User.Email | недоступно | в сети | в сети |
User.Id | недоступно | в сети | в сети |
User.IsLoggedIn | недоступно | в сети | в сети |
User.AccessToken | недоступно | недоступно | в сети |
SignInReason | недоступно | в сети | в сети |
User.DisplayName
Предупреждение
Эта переменная не обязательно содержит значение. Протестируйте с пользователем от вашего поставщика удостоверений, чтобы убедиться, что тема работает правильно.
Переменная User.DisplayName
содержит отображаемое имя, которое хранится в поставщике удостоверений. Используйте эту переменную для приветствия или обращения к пользователю без необходимости явно давать имя помощнику, что делает разговор более персонализированным.
Microsoft Copilot Studio автоматически устанавливает значение User.DisplayName
из утверждения name
, предоставленного поставщиком удостоверений, при условии, что область действия profile
была определена при настройке ручной аутентификации. Дополнительную информацию об области действия см. в разделе Настройка аутентификации пользователя с помощью Microsoft Entra ID.
User.Id
Предупреждение
Эта переменная не обязательно содержит значение. Протестируйте с пользователем от вашего поставщика удостоверений, чтобы убедиться, что тема работает правильно.
Переменная User.Id
содержит идентификатор пользователя, хранящийся в поставщике удостоверений. Используйте это значение в потоках Power Automate для вызова API, которые принимают UserID в качестве значения.
Microsoft Copilot Studio автоматически устанавливает значение User.DisplayName
из утверждения sub
, предоставленного поставщиком удостоверений.
User.IsLoggedIn
User.IsLoggedIn
— это переменная логического типа, в которой хранится статус входа пользователя. Значение true
указывает, что пользователь вошел в систему. Вы можете использовать эту переменную для создания логики ветвления в своих темах, которая проверяет успешный, или для извлечения информации о пользователе, только если пользователь вошел в систему.
User.AccessToken
Предупреждение
Убедитесь, что вы передаете переменную User.AccessToken
только для доверенных источников. Она содержит информацию об аутентификации пользователя, которая, если она скомпрометирована, может нанести вред пользователю.
Переменная User.AccessToken
содержит токен пользователя, полученный после входа пользователя в систему. Вы можете передать эту переменную в потоки Power Automate, чтобы они могли подключаться к серверным API-интерфейсам и получать информацию о пользователе или выполнять действия от имени пользователя.
Не используйте User.AccessToken
в узлах Сообщение или в потоках, которым вы не доверяете.
SignInReason
SignInReason
— это переменная типа "выбор", которая указывает, когда пользователь должен войти в систему. Возможные значения:
SignInRequired
указывает, что пользователь должен войти в систему в начале разговора, используя системную тему Signin. Параметр Требовать входа для пользователей должен быть включен.Initializer
указывает, что если пользователь еще не вошел в систему и достигает точки в беседе, в которой используются переменные проверки подлинности, пользователю будет предложено войти в систему.
См. также
Можно также использовать единый вход (SSO), чтобы вашим пользователям не приходилось входить в систему вручную. Дополнительные сведения см. в Настройка единого входа для Интернета.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по