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


setAuthTokenProvider

Многоканальное взаимодействие для Customer Service предлагает набор возможностей, которые расширяют возможности Dynamics 365 Customer Service Enterprise, позволяя организациям мгновенно подключаться и взаимодействовать со своими клиентами по каналам обмена цифровыми сообщениями. Для доступа к многоканальному взаимодействию для Customer Service требуется дополнительная лицензия. Для получения дополнительной информации см. страницы Обзор цен на Dynamics 365 Customer Service и План цен на Dynamics 365 Customer Service.

Задает поставщика маркеров проверки подлинности.

Функция поставщика маркеров проверки подлинности при вызове с функцией обратного вызова в качестве параметра вызывает функцию обратного вызова с допустимой строкой веб-маркера JSON (JWT) в качестве аргумента.
Этот метод выдает ошибку, если значение параметра authTokenProvider не является функцией.

Это важно

  • В полезных данных маркера JWT значение, предоставленное для lwicontexts ключа, должно быть сериализованным пользовательским контекстом.
  • Пользовательский контекст представляет собой коллекцию пар ключ-значение. Для любого ключа допускаются только примитивные значения.
  • Ключи пользовательского контекста должны соответствовать переменным контекста, созданным для соответствующего рабочего потока в Многоканальном взаимодействии для Customer Service.
  • Поставщик токенов аутентификации будет вызываться виджетом чата при запуске нового чата.

Замечание

Методы SDK чата в реальном времени должны вызываться после возникновения события lcw:ready . Вы можете прослушивать это событие, добавив собственный прослушиватель событий в объект window.

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

Синтаксис

Microsoft.Omnichannel.LiveChatWidget.SDK.setAuthTokenProvider(authTokenProvider);

Параметры

Параметр Тип Description
authTokenProvider Функция Функция, которая при вызове с функцией обратного вызова в качестве аргумента получает маркер JWT и вызывает функцию обратного вызова с маркером JWT в качестве аргумента

Возвращаемое значение

None

Example

Пример полезных данных токена

{
    "sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e",
    "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\"}",
    "iat" : 1542622071,
    "iss" : "contosohelp.com",
    "exp" : 1542625672,
    "nbf" : 1542622072
}

Замечание

В приведенных выше полезных данных значение, соответствующее lwicontexts ключу, должно быть сериализованным пользовательским контекстом. Ключи msdyn_cartvalue и msdyn_isvip в сериализованном пользовательском контексте соответствуют переменным контекста, созданным для связанного рабочего потока в многоканальном взаимодействии для Customer Service.

let payloadToEncrypt = {
    "sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e",
    "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\"}",
    "iat" : 1542622071,
    "iss" : "contosohelp.com",
    "exp" : 1542625672,
    "nbf" : 1542622072
};

function convertToJwtToken(payloadToEncrypt){
    // Ideally, you call your service to convert the payload to a valid JWT token
    return Promise.resolve("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4N2I0ZDA2Yy1hYmMyLWU4MTEtYTliMC0wMDBkM2ExMGUwOWUiLCJsd2ljb250ZXh0cyI6IntcIm1zZHluX2NhcnR2YWx1ZVwiOlwiMTAwMDBcIiwgXCJtc2R5bl9pc3ZpcFwiOlwiZmFsc2VcIn0iLCJpYXQiOjE1NDI2MjIwNzEsImlzcyI6ImNvbnRvc29oZWxwLmNvbSIsImV4cCI6MTU0MjYyNTY3MiwibmJmIjoxNTQyNjIyMDcyfQ.r37z1M5rMyRYMOJ-rhyTRYFOgvl9N7KvTMueSFPkiuM");
}

window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
// Sets the auth-token provider
// Throws error if authTokenProvider is not a function
    convertToJwtToken(payloadToEncrypt).then(function (jwtToken){
        Microsoft.Omnichannel.LiveChatWidget.SDK.setAuthTokenProvider(function authTokenProvider(callback){
            callback(jwtToken);
        });
    });
});

Коды ошибок

При использовании этого метода могут возникать следующие ошибки.

Код ошибки Сообщение об ошибке
2 Не удалось выполнить метод поставщика маркеров проверки подлинности
3 Провайдер токенов аутентификации не предоставил токен
4 Поставщик токена аутентификации предоставил недействительный токен

Справочник по JavaScript API для SDK онлайн чата