Всем доброго времени суток. В данной статье мы рассмотрим процесс добавления и настройки пользовательских атрибутов в виджете “Домик” для версий Insight 2.3 и выше, работающих совместно с Keycloak версии 20+. Особенность данного процесса заключается в необходимости создания специальных клиентских областей и мапперов в Keycloak в связи с внедрением авторизации OAuth 2.0.
Особенности работы с атрибутами
При работе с атрибутами важно учитывать два режима доступа к профилям пользователей:
- Режим редактора (Insight конструктор): система обращается к профилю пользователя-разработчика через виджет “Домик”.
- Режим плеера: система обращается к параметрам авторизационного контейнера через тот же компонент.
Важно: Если вы вошли в Insight конструктор под пользователем editor и авторизовались в проекте под учетной записью test_user, атрибуты должны быть настроены для обоих пользователей для корректного отображения.
Пошаговая инструкция по добавлению атрибутов
Шаг 1: Выбор пользователя
Откройте административную консоль Keycloak и выберите пользователя, которому хотите присвоить атрибут.
Шаг 2: Добавление атрибута
Перейдите в атрибуты пользователя и добавьте новый атрибут с необходимым ключом и значением.
Шаг 3: Переход к клиентским областям
Откройте области клиента (Client Scopes) и нажмите кнопку “Создать область клиента”.
Шаг 4: Создание клиентской области
Создайте клиентскую область с типом “Default”.
Шаг 5: Создание маппера
В новой созданной области клиента перейдите в MapPers и нажмите “Создать”.
Шаг 6: Выбор типа маппера
В выпадающем списке найдите и выберите “User Attribute”.
Шаг 7: Настройка маппера
Создайте маппер, указав:
- Название (Name)
- Имя атрибута в поле User Attribute
- Имя клейма в Token Claim Name
Важно: Правильно выберите Claim JSON Type в зависимости от значения атрибута:
- Для текста: string
- Для целых чисел: int
- Для булевых значений: boolean
Шаг 8: Привязка области к клиенту
Добавьте созданную область клиенту, указанному в файле worker.json контейнера editor (обычно это клиент “player”).
Процесс добавления клиентской области:
Проверка настройки
После выполнения всех шагов атрибут должен появиться в списке доступных переменных виджета “Домик”.
Если атрибут не отображается, проверьте:
- Корректность настройки атрибута для всех задействованных пользователей
- Правильность создания и настройки клиентской области
- Корректность настройки маппера
- Успешность привязки клиентской области к нужному клиенту
Удачи в настройке атрибутов!