Синхронизация пользовательских аватаров из внешнего каталога

В версии IVA One 1.2 реализована синхронизация пользовательских аватаров, полученных из внешнего каталога. При обновлении на версию IVA One 1.2 в веб-панели администрирования IVA ID необходимо добавить новый атрибут ldapAvatarFile и настроить его валидацию и маппинг.

Для возможности синхронизации пользователей, в веб-панели администрирования IVA ID должна быть предварительно настроена интеграция с внешним каталогом пользователей

Добавление атрибута

Порядок выполняемых действий:

  1. войти в панель администрирования IVA ID по адресу https://<IVA_ID_DOMAIN>/admin (где <IVA_ID_DOMAIN> — доменное имя IVA ID, например, id.example.ru) и выбрать пространство (realm) IVA ID IVA

  2. добавить атрибут:
    Перейти в раздел Realm settingsПерейти на вкладку User profileНажать кнопку Create attributeCreate attribute: настроить параметры атрибута:

    • секция General settings — поле Attribute [Name]: ввести ldapAvatarFile

      Добавление нового атрибута
    • секция Permission: снять флаговые кнопки со всех параметров Admin

      Настройка прав
    • нажать кнопку Create

Добавление валидатора

Порядок выполняемых действий:

  1. войти в панель администрирования IVA ID по адресу https://<IVA_ID_DOMAIN>/admin (где <IVA_ID_DOMAIN> — доменное имя IVA ID, например, id.example.ru) и выбрать пространство (realm) IVA ID IVA

  2. добавить валидатор:
    Перейти в раздел Realm settingsПерейти на вкладку User profileВ столбце Attribute [Name] выбрать атрибут ldapAvatarFileСекция Validations: нажать кнопку Add validatorОкно Add validatorНастроить параметры валидатора:

    • поле Validator type: выбрать length

    • поле Minimum length: ввести 0

    • поле Maximum length: ввести 409600

      Формула подсчета: Максимальное разрешение 256 × 256, максимальный размер изображения — 300 КБ, с учетом кодирования base64 — 4 × (300 × 1024) / 3 = 409600 символов
      Не рекомендуется превышать максимальный размер изображения в 300 КБ — это может повлиять на синхронизацию пользователей из внешнего LDAP-каталога
    • переключатель Trimming disabled: перевести в положение Иконка Переключатель включен

    • сохранить настройки валидатора, нажав кнопку Save

      Добавление валидатора
  3. сохранить настройки атрибута, нажав кнопку Save

Настройка маппинга

Порядок выполняемых действий:

  1. войти в панель администрирования IVA ID по адресу https://<IVA_ID_DOMAIN>/admin (где <IVA_ID_DOMAIN> — доменное имя IVA ID, например, id.example.ru) и выбрать пространство (realm) IVA ID IVA

  2. перейти в раздел User federationВыбрать LDAP-каталогВкладка Mappers

  3. добавить маппер для внешнего LDAP-каталога:

    • нажать кнопку Add mapperCreate new mapper

    • указать параметры маппера:

      • поле Name: ввести ldapAvatarFile

      • поле Mapper type: выбрать user-attribute-ldap-mapper

      • поле User Model Attribute: ввести ldapAvatarFile

      • поле LDAP Attribute: указать имя атрибута с аватаром на внешнем LDAP-каталоге, например jpegPhoto

        Имя атрибута LDAP Attribute необходимо уточнять в схеме LDAP-каталога
    • нажать кнопку Save

      Добавление маппера

Возможные проблемы

В настройках внешнего LDAP-каталога выбор Sync All Users и Sync Changed Users не всегда приводит к синхронизации пользователей.

Порядок выполняемых действий:

  1. проверить, что в настройках пространства (realm) IVA ID IVA настроен NATS-провайдер:
    Перейти в раздел Realm settingsПерейти на вкладку EventsСекция Event listenersПоле Event listeners: убедиться, что настроен NATS-провайдер (в примере: iva-id-nats-provider)

  2. настроить период синхронизации изменившихся пользователей в настройках внешнего LDAP-каталога:
    Перейти в раздел User federationВыбрать LDAP-каталогСекция Synchronization settingsНастроить период синхронизации:

    • поле Batch size: 10

    • переключатель Periodic full sync: в положении Иконка Переключатель включен

    • поле Full sync period: 60

    • переключатель Periodic changed users sync: в положении Иконка Переключатель выключен

      Настройка периода синхронизации