← Назад к Unicrafter

Зачем нужен JWT?

История переписки в виджете хранится в localStorage браузера клиента. Если посетитель зайдёт на сайт из другого браузера или устройства, он не увидит предыдущих сообщений. Чтобы это исправить, можно настроить синхронизацию переписки в виджете с помощью уникального идентификатора — User Token.

Схема работы

  1. Пользователь авторизуется на сайте клиента.
  2. Сервер клиента генерирует JWT с данными пользователя, подписанный секретным ключом из личного кабинета Jivo.
  3. Токен передаётся в браузер и отправляется в виджет через jivo_api.setUserToken(token).
  4. Jivo проверяет подпись и синхронизирует историю переписки с этим идентификатором.
// На фронтенде — вызвать после загрузки виджета
function jivo_onLoadCallback() {
  jivo_api.setUserToken('<токен с сервера>');
}

Инструмент 1: Декодер JWT

Вставьте любой JWT-токен — он будет разобран на три части прямо в браузере. Секретный ключ не нужен.

Декодировать токен

Инструмент 2: Верификатор подписи (HS256)

Проверьте, что токен подписан правильным секретным ключом. Это тот же ключ, что указан в Jivo → Настройки → Интеграции → JWT.

Для канала на этой странице user secret задан как: X|h"33)Kn%19VejL2~4-5c3!Sm6\:%[<,XCg[6=Iun0Y — используйте его для проверки и генерации токенов на этой странице.

Проверить подпись

Инструмент 3: Генератор токена (HS256)

Заполните данные пользователя, укажите секретный ключ — получите готовый JWT для передачи через jivo_api.setUserToken().

Сгенерировать токен

jivo_api.setUserToken(token)

Вставьте токен в скобки метода и нажмите кнопку — метод будет вызван на живом виджете этой страницы.

Вызвать метод
jivo_api.setUserToken()

Реализация на вашем сайте

Для интеграции вам потребуется реализовать генерацию JWT-токена на серверной стороне вашего сайта. Токен подписывается по алгоритму HS256 с использованием секретного ключа, который вы задаёте в личном кабинете Jivo: Управление → Каналы связи → Настроить → Настройки интеграции для разработчиков.

Минимальный payload должен содержать поле id — уникальный идентификатор пользователя в виде строки, статичный для каждого посетителя (например, ID из вашей базы данных). Дополнительно можно передавать name, email, phone, а также стандартные поля iat и exp.

JWT — открытый стандарт (RFC 7519). Готовые библиотеки для всех популярных языков (PHP, Node.js, Python, Go, Java и др.) и интерактивный отладчик доступны на jwt.io.

↑