Поделиться через


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

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

Заметка

Агенты, созданные в Copilot Studio и в Microsoft Teams, автоматически настраиваются для проверки подлинности Microsoft Entra ID.

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

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

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

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

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

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

Добавление проверки подлинности с системной темой "Вход"

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

Внимание!

Рекомендуется использовать тему Вход в систему только для предоставления метода проверки подлинности, предоставляемого Copilot Studio. Ее не следует изменять для вызова каких-либо других действий или потоков или других методов аутентификации.

  1. Откройте агент в Copilot Studio, выберите Параметры в верхней части страницы, затем выберите Безопасность.

  2. Выберите Аутентификация.

  3. Выберите Аутентификация вручную, а затем выберите Требовать входа для пользователей.

  4. Настройте все поля аутентификации вручную по мере необходимости.

  5. Выберите Сохранить.

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

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

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

  1. Выберите Параметры вверху страницы, затем выберите Безопасность.

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

    Заметка

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

  3. Снимите флажок Требовать входа для пользователей.

  4. Настройте все поля аутентификации вручную по мере необходимости.

  5. Выберите Сохранить.

  6. Выберите Темы в верхней части страницы.

  7. Выберите Добавить узел ( ) >Расширенные>Аутентификация.

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

Совет

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

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

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

Дополнительные сведения о переменных см. в разделе Обзор переменных.

Переменная аутентификации Без аутентификации Проверка подлинности через Майкрософт Проверка подлинности вручную
User.DisplayName Недоступно На месте На месте
User.FirstName Недоступно На месте На месте
User.LastName Недоступно На месте На месте
User.PrincipalName Недоступно На месте На месте
User.Email Недоступно На месте На месте
User.Id Недоступно На месте На месте
User.IsLoggedIn Недоступно На месте На месте
User.AccessToken Недоступно Недоступно На месте
SignInReason Недоступно На месте На месте

User.DisplayName

Предупреждение

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

Переменная User.DisplayName содержит отображаемое имя, хранящееся в поставщике удостоверений. Используйте эту переменную для приветствия или обращения к пользователю без необходимости явно давать имя агенту, что делает разговор более персонализированным.

Copilot Studio автоматически устанавливает значение User.DisplayName из утверждения name, предоставленного поставщиком удостоверений, при условии, что область действия profile была определена при настройке ручной аутентификации. Дополнительную информацию об области действия см. в разделе Настройка аутентификации пользователя с помощью Microsoft Entra ID.

User.Id

Предупреждение

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

Переменная User.Id содержит идентификатор пользователя, хранящийся в поставщике удостоверений. Используйте это значение в потоках Power Automate для вызова API, которые принимают UserID в качестве значения.

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