Настройка параметров проверки подлинности
Многоканальное взаимодействие для Customer Service предлагает набор возможностей, которые расширяют возможности Dynamics 365 Customer Service Enterprise, позволяя организациям мгновенно подключаться и взаимодействовать со своими клиентами по каналам обмена цифровыми сообщениями. Для доступа к многоканальному взаимодействию для Customer Service требуется дополнительная лицензия. Для получения дополнительной информации см. страницы Обзор цен на Dynamics 365 Customer Service и План цен на Dynamics 365 Customer Service.
Заметка
Информация о доступности функций следующая.
Dynamics 365 Contact Center — внедренное | Dynamics 365 Contact Center — автономное | Dynamics 365 Customer Service |
---|---|---|
Да | Да | Да |
Вы можете создать настройки аутентификации для проверки подлинности вошедшего в систему клиента из домена и извлечения информации на основе определенных контекстных переменных. Вы можете различать своих анонимных клиентов от клиентов с проверкой подлинности и создавать правила на основе переменных контекста.
Например, можно создать отдельные очереди для анонимных клиентов и клиентов с проверкой подлинности. Поскольку у вас будет больше информации о ваших клиентах с проверкой подлинности, вы также можете назначить им приоритеты на основе определенных переменных, например значения корзины или привилегированное статус.
После создания записи параметров проверки подлинности необходимо добавить ее в экземпляр канала в настройках канала рабочего потока, чтобы она заработала. Аутентификация поддерживается для следующих каналов:
- Чат
- Apple Messages for Business
Чтобы указать, аутентифицирован ли клиент, агент получает уведомление в разделе Сводка разговора . Поле Аутентифицировано устанавливается на Да или Нет в зависимости от статуса аутентификации клиента. Узнайте больше на странице Резюме беседы
Предварительные условия
- Убедитесь, что ваша организация имеет опыт работы с OAuth 2.0 и веб-токенами JSON (JWT).
- Убедитесь, что у вас есть разрешения на защищенные столбцы. Подробнее см. в разделе Настройка разрешений для доступа к защищенным столбцам.
Создание записи параметров проверки подлинности для чата
Вы можете создать запись настройки проверки подлинности чата в приложении администрирования:
На карте сайта центра администрирования Customer Service выберите Параметры клиентов в разделе Служба поддержки клиентов. Открывается страница Параметры клиентов.
В разделе Параметры проверки подлинности выберите Управление. Откроется страница Параметры проверки подлинности.
Выберите Новые настройки аутентификации, а затем укажите следующую информацию на странице Добавить настройку аутентификации :
Имя: введите имя параметра проверки подлинности.
Владелец: Примите значение по умолчанию или измените его на требуемое значение.
Тип аутентификации: По умолчанию неявный поток OAuth 2.0 не может быть отредактирован.
URL-адрес открытого ключа: укажите URL-адрес открытого ключа домена. Этот URL-адрес используется для проверки информации, поступающей из веб-токена (JWT) JavaScript Object Notation (JSON) домена, в который вошел клиент.
Функция клиента JavaScript: определите функцию клиента JavaScript для использования для проверки подлинности. Эта функция извлекает токен из конечной точки токена.
Подробнее о том, как найти URL-адрес открытого ключа и функцию клиента JavaScript, читайте в разделах Настройка для Power Apps порталов или Настройка для пользовательских порталов далее в этой статье.
Выберите Сохранить.
Создание записи настройки с аутентификацией для чата с помощью OAuth 2.0
Выполните шаги с 1 по 3 в разделе Создание записи настроек аутентификации для чата и введите следующие данные на странице Добавление настроек аутентификации :
- Имя: имя параметра проверки подлинности.
- Тип канала: чат в реальном времени.
- Тип аутентификации: неявный поток OAuth 2.0
Выберите Далее и на странице Сведения введите следующую информацию:
- Пользовательское действие токена: ссылка на пользовательский код для проверки токенов, предоставленных вашим поставщиком удостоверений, и возврата идентификатора пользователя, прошедшего проверку подлинности.
- URL-адрес токена: URL-адрес, используемый для обмена вашего кода авторизации на токен, передаваемый вашему пользовательскому действию для получения идентификатора пользователя.
- URL перенаправления: URL, переданный исходному запросу кода авторизации, который является обязательным параметром в вызовах обмена токенами конечная точка.
- Идентификатор клиента: идентификатор клиента, переданный на биржу токенов конечная точка.
- Секрет клиента: секрет, который аутентифицирует клиента, переданного на биржу токенов конечная точка.
- Область: области, для которых пользователь авторизован с помощью токена, полученного в потоке.
Сохраните изменения.
Добавить проверку подлинности в мини-приложение чата
В Центр администрирования Customer Service отредактируйте мини-приложение чата в настройках рабочего потока, а затем перейдите на вкладку Поведения .
В поле Параметры проверки подлинности найдите и выберите запись аутентификации для чата.
Когда выполнивший вход клиент на портале открывает мини-приложение чата, функция клиента JavaScript передает JWT от клиента к серверу. JWT расшифровывается и проверяется с помощью открытого ключа, а затем информация передается чат-агенту в Многоканальное взаимодействие для Customer Service. Как администратор, вы также можете передавать дополнительную информацию о выполнившем вход клиенте в JWT путем определения настраиваемых переменных контекста. Переменные контекста должны быть определены точно так же, как в рабочем потоке, связанном с мини-приложение чата. Узнайте больше на странице Управление переменными контекста
Настройка для порталов Power Apps
Если вы добавляете аутентификацию для мини-приложение чата на веб-сайте, разработанном с использованием Power Apps порталов, то URL открытого ключа и клиентская функция JavaScript будут доступны «из коробки». Вам необходимо загрузить пользовательский сертификат, чтобы иметь действительный URL открытого ключа на Power Apps порталах.
-
URL-адрес открытого ключа:
<portal_base_URL>/_services/auth/publickey
-
Функция клиента JavaScript:
auth.getAuthenticationToken
Портал Power Apps пытается автоматически связать запись контакта с беседой через контекст, переданный в его клиентской функции JavaScript.
Настройка для пользовательских порталов
Если вы добавляете аутентифицированный чат на пользовательский веб-сайт, который не разработан с использованием Power Apps порталов, ваша команда веб-разработчиков должна выполнить следующие шаги, прежде чем ваш Администратор сможет настроить аутентифицированный чат:
Создайте пару из открытого и закрытого ключей на своих серверах аутентификации. Ключи должны быть сгенерированы с использованием алгоритма RSA256.
Следующий пример кода предназначен для генерации пар закрытых и открытых ключей.
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048 openssl rsa -pubout -in private_key.pem -out public_key.pem
Создайте конечная точка, который возвращает ваши открытые ключи. Серверы Многоканальное взаимодействие используют открытые ключи для проверки токена JWT, переданного в ходе авторизации запроса чата. URL-адрес этого конечная точка необходимо ввести в приложение администратора при создании записи настроек аутентификации.
Ваш открытый ключ конечная точка выглядит примерно так:
-----BEGIN PUBLIC KEY----- NIIBIjANBgkqhkiG9w0BAQEFABCOPQ8AMIIBCgKCAQEAn+BjbrY5yhSpLjcV3seP mNvAvtQ/zLwkjCbpc8c0xVUOzEdH8tq4fPi/X5P/Uf2CJomWjdOf1wffmOZjFasx ELG+poTqy5uX2dNhH6lOMUsV31QGG36skLivpLBCSK6lWlzsV6WGkb/m8r86aGzp jtNhw8yvoTYB4updDrJ8pC+tx4EWK0WEmKn1GsW6TjUtxJjcTLI1puSbmcGHbkSi RSbWkKPqaEVFALprw+W5ZCung5QX3KOkY/rJd+2JwULm7okyQCQaF7qwa5i9Uf65 7M6ZL4vsDevq7E/v3tf6qxpSSHzt4XspXVQty9QHhqDqBEY3PfI4L2JjgIGuPhfS YQIDAQAB -----END PUBLIC KEY-----
Если вам нужно использовать несколько открытых ключей, ваша конечная точка открытого ключа может возвращать набор пар <kid, publickey>
, где kid
обозначает идентификатор ключа. Пары идентификаторов ключей должны быть уникальными. Ребенку необходимо передать токен JWT в шаг 4. Если вы используете несколько ключей, ваш открытый ключ конечная точка должен вернуть что-то похожее на следующий пример. Открытый ключ закодирован в формате base64.
[
{
"kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",
"publicKey": LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
"expiry": 1608495423
},
{
"kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",
"publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
"expiry": 1608495423
}
]
Вам нужен сервис, который генерирует JWT для отправки на серверы Многоканальное взаимодействие в рамках запуска чата для аутентифицированного пользователя.
a. Заголовок JWT выглядит примерно так, как показано в следующем примере.
{ "alg": "RS256", "typ": "JWT", }
Если вы используете несколько открытых ключей, вам необходимо передать идентификатор ключа (kid). Ваш заголовок выглядит примерно так, как показано в следующем примере:
{ "alg": "RS256", "typ": "JWT", "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=" }
b. Полезные данные JWT должны включать:
Как минимум, следующие утверждения:
Утверждение Определение iss Издатель токена. iat Дата выпуска токена в числовом формате даты. exp Дата истечения срока действия этого токена, в числовом формате даты. дочерний объект Тема утверждения.
ПРИМЕЧАНИЕ: Мы рекомендуем вам передавать GUID записи контакта или учетной записи в обслуживание клиентов для вошедшего в систему пользователя. Этот GUID используется для идентификации и привязки записи контакта к разговору. Поиск записей выявляет записи, имеющие активный код статуса для контактов или учетных записей. Идентификация записи не работает, если вы используете пользовательские коды статуса.lwicontexts Переменные контекста, которые передаются как часть разговора либо для целей маршрутизации, либо для отображения агенту.
Подробнее см. в
Управление пользовательским контекстом
Метод setAuthTokenProvider
Автоматическая идентификация записей с помощью переменных контекстаЛюбые другие данные, которые вы хотите передать.
Ваша полезная нагрузка должна выглядеть примерно так, как показано в следующем примере:
{ "sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e", "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\", \"portalcontactid\":\"87b4d06c-abc2-e811-a9b0-000d3a10e09e\"}", "iat" : 1542622071, "iss" : "contosohelp.com", "exp" : 1542625672, "nbf" : 1542622072 }
c. Подпись JWT должна быть подписана вашим закрытым ключом.
Заметка
- Если токен устарел или недействителен, мини-приложение чата выдает событие ошибки.
- Метод setContextProvider не поддерживается для аутентифицированного чата. Вы должны передавать свои lwicontext как часть полезных данных JWT.
Создайте на своем веб-сайте функцию JavaScript, которая принимает функцию обратного вызова и возвращает JWT в функцию обратного вызова. Чтобы избежать тайм-аута, эта функция JavaScript должна возвращать JWT в течение 10 секунд. Этот JWT должен соответствовать следующим критериям:
Он должен содержать заголовок, полезную нагрузку и подпись из шаг 3.
Он должен быть подписан закрытым ключом из пары ключей в шаг 1.
Мы рекомендуем сгенерировать ваш JWT на вашем веб-сервере.
Имя этого метода JavaScript используется для создания записи настроек аутентификации в приложении администратора обслуживание клиентов.
// This is a sample JavaScript client function auth.getAuthenticationToken = function(callback){ var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { callback(xhttp.responseText); } }; xhttp.onerror = function(error) { callback(null); }; //Replace this with a call to your token generating service xhttp.open("GET", "https://contosohelp.com/token", true); xhttp.send(); }
Вашему разработчику необходимо предоставить следующую информацию вашему Многоканальное взаимодействие Администратор:
a. URL-адрес службы открытого ключа из шага 2.
Пример: https://www.contoso.com/auth/publickey
b. Имя клиентской функции JavaScript из шага 4. В прямом эфире мини-приложение чата это имя вызывается внутри во время начала чата.
Пример: auth.getAuthenticationToken
Заметка
Если ваш пользовательский интерфейс открывает кнопку чата до того, как пользователи будут аутентифицированы, обязательно перенаправьте их на свою страницу аутентификации по мере необходимости. Вы можете настроить перенаправление в методе шаг 4 или как в более раннем шаг в вашем пользовательском потоке.
Следующий рисунок демонстрирует такую настройку.
Затем вы можете настроить чат с аутентификацией, выполнив следующие действия:
Настройка чата с аутентификацией
Перейдите в приложение администратора и создайте запись настроек аутентификации с информацией из шаг 5 предыдущего раздела. Подробнее см. в разделе Создание записи настроек аутентификации для чата
Свяжите настройки аутентификации с мини-приложение чата, который имеет аутентифицированный опыт. Узнайте больше на странице Добавьте аутентификацию в мини-приложение чата
На следующем рисунке показана последовательность вызовов, когда пользователь обращается к вашему чату в настройке с аутентификацией.
Создание параметров проверки подлинности для Apple Messages for Business
Предварительные условия
Администраторам, настраивающим параметры аутентификации, необходимы дополнительные разрешения безопасности. Узнайте больше на странице Настройка разрешений безопасности для поля
Убедитесь, что ваша организация имеет практические навыки работы с процессом подключения OAuth 2.0 OpenID. Соответствующие шаги описаны в следующем разделе.
Убедитесь, что в вашей организации есть хотя бы одно Функциональное сообщение типа проверки подлинности Apple Messages for Business. Для настройки требуется расширенная конфигурация сообщений.
Создание записи настроек проверки подлинности для Apple Messages for Business с использованием потока OAuth 2.0 OpenID Connect
На карте сайта центра администрирования Customer Service выберите Параметры клиентов, а затем выберите Управление параметрами аутентификации. Появится список существующих настроек аутентификации.
Выберите Новый параметр проверки подлинности и на странице Добавить параметр проверки подлинности укажите следующие данные:
На странице Тип канала введите имя, а затем выберите Apple Messages for Business в качестве типа канала.
Измените тип аутентификации Поток OAuth 2.0 OpenID Connect.
На странице Добавить параметр проверки подлинности укажите следующие сведения:
-
ID клиента: идентификатор клиента OAuth 2.0, выданный сервером авторизации.
-
Секрет клиента: секрет клиента, используемый для проверки подлинности запросов, отправляемых на сервер авторизации.
-
Область действия: каждая добавленная область действия определяет, какие фрагменты пользовательских данных вы запросили у клиента. Содержимое области должно точно соответствовать тому, которое доступно через вашего поставщика услуг.
- URL-адрес маркера доступа: конечная точка поставщика услуг, где можно запросить маркер доступа.
-
URL-адрес расшифрованного токена: конечная точка, по которому API OAuth 2.0 может получить запрошенную в области информацию о клиенте.
- Дополнительные параметры: позволяет службам проверки подлинности получать дополнительные параметры из запроса.
-
ID клиента: идентификатор клиента OAuth 2.0, выданный сервером авторизации.
На странице Дополнительные сведения вы можете дополнительно указать время истечения срока действия токена доступа в секундах. Срок действия по умолчанию составляет один час.
По истечении указанного времени поле Аутентифицировано в разделе Сводка о клиенте ранее аутентифицированной беседы изменится на Нет.На странице Расширенные сообщения выберите Добавить, а затем выберите одно или несколько расширенных сообщений для связи с этим параметром аутентификации.
Просмотрите страницу Сводка, затем выберите Далее. Параметр проверки подлинности настроен.
На странице Сведения о перенаправлении скопируйте URL-адрес. Вы добавляете этот URL на веб-сайт поставщика услуг аутентификации в разрешенные URL-адреса обратного вызова.
Выберите Готово.
Добавление проверки подлинности в канал Apple Messages for Business
Откройте рабочий поток, содержащий экземпляр канала, для которого вы хотите добавить аутентификацию.
На странице Поведение настроек канала перейдите к настройкам аутентификации, включите эту возможность, а затем выберите нужную настройку из раскрывающегося меню. Узнайте больше на странице Настройка Apple Messages for Business канала
Чтобы просмотреть или обновить параметры аутентификации для каждого экземпляра канала, выберите Изменить.
Дополнительные сведения
Добавление мини-приложения чата
Настройка опроса перед разговором
Создать быстрые ответы
Создание и управление рабочими часами
Внедрение мини-приложения чат в порталы Power Apps
Автоматическая идентификация клиентов