Добавление аутентификации конечных пользователей в помощника

Важно

Возможности и функции Power Virtual Agents теперь являются частью Microsoft Copilot Studio после значительных инвестиций в генеративный искусственный интеллект и расширенную интеграцию с Microsoft Copilot.

Некоторые статьи и снимки экрана могут ссылаться на Power Virtual Agents, пока мы обновляем документацию и учебные материалы.

Вы можете включить аутентификацию пользователя непосредственно в разговоре помощника. Аутентификация пользователя означает, что вы можете получить основные свойства пользователя, такие как имя и идентификатор, в переменные, а также предложить пользователю войти в систему с помощью узла аутентификации, получить токен пользователя для этого пользователя, а затем использовать этот токен для получения информации о пользователе из серверной системы.

Заметка

В помощниках, созданных в веб-приложении и в Microsoft Teams, предварительно настроена аутентификация для использования аутентификации Только для Teams и Power Apps.

Можно также использовать единый вход (SSO), чтобы вашим пользователям не приходилось входить в систему вручную. Дополнительные сведения см. в Настройка единого входа для Интернета.

Предварительные условия

Добавьте аутентификацию пользователя в тему, чтобы ваши клиенты могли войти прямо в разговор. Вы можете затем персонализировать разговор с помощью пользовательских переменных и получить доступ к серверным системам от имени пользователя.

Настройка аутентификации вручную с помощью Microsoft Entra ID

Вам необходимо настроить аутентификацию пользователя с помощью Microsoft Entra ID, прежде чем вы сможете использовать аутентификацию в своих темах.

  1. Выполните инструкции в разделе Настройка аутентификации пользователя с помощью Microsoft Entra ID.
  2. Вернитесь к этой статье.

Добавьте проверку подлинности с системной темой Signin

Когда вы создаете помощника, Microsoft Copilot Studio автоматически добавляет системную тему под названием Вход. Чтобы использовать ее, вы должны установить аутентификацию вашего помощника вручную и потребовать от пользователей входа в систему. Когда клиент начинает разговор с помощником, срабатывает тема Вход и предлагает пользователю войти в систему. Вы можете настроить тему Вход в соответствии с потребностями вашего помощника.

  1. В меню навигации в разделе Параметры выберите Безопасность.

  2. Выберите плитку Проверка подлинности.

  3. Выберите Вручную (для пользовательского веб-сайта), затем выберите Требовать входа для пользователей.

    Снимок экрана страницы проверки подлинности Microsoft Copilot Studio с выбранным и выделенным параметром «Требовать входа для пользователей».

    Снимок экрана запроса на вход.

Добавление проверки подлинности с пользовательской логикой

Тема Signin аутентифицирует пользователя в начале разговора. Чтобы позволить пользователю войти в систему позже, вы можете добавить узел Аутентификация к любой пользовательской теме.

Когда клиенты вводят свои имя и пароль, им может быть предложено ввести проверочный код. После того как они вошли в систему, им больше не будет предложено это снова, даже если они достигнут другого узла Проверка подлинности.

  1. В меню навигации в разделе Параметры выберите Безопасность.

  2. Выберите плитку Проверка подлинности.

  3. Выключите Требовать входа для пользователей.

  4. В меню навигации выберите Темы, затем откройте тему, в которую вы хотите добавить проверку подлинности.

  5. Выберите Добавить узел (+) и выберите Вызвать действие, а затем выберите Authenticate.

  6. Протестируйте тему, используя пользователя, настроенного в вашем поставщике удостоверений.

Совет

Важно создать пути как для успешного входа, так и для неудачного. Вход может завершиться сбоем по многим причинам, в том числе из-за ошибок при входе в систему поставщика удостоверений.

Переменные аутентификации

Когда вы настроили аутентификацию пользователей для своего помощника, вы можете использовать переменные аутентификации в своих темах. В следующей таблице сравнивается доступность этих переменных в зависимости от выбранного варианта проверки подлинности.

Переменная аутентификации Нет аутентификации Только для 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), чтобы вашим пользователям не приходилось входить в систему вручную. Дополнительные сведения см. в Настройка единого входа для Интернета.