Оглавление |
---|
Описание решения
Для поддержки технологии SSO (single sing-on, технология единого входа) в рамках комплекса SoftWLC поддержана возможность интеграции с решением Keycloak (https://www.keycloak.org/), в основе которого используется протокол OAUTH 2.0 (https://oauth.net). Данное решение позволяет отказаться от использования локальных учетных записей (далее УЗ) для аутентификации и авторизации в Eltex-EMS, Личном кабинете (далее ЛК), Конструкторе порталов (далее КП) и eltex-radius-nbi и выполнять ее на основе БД пользователей Keycloak или использовать интеграцию Keycloak с LDAP.
Общая схема аутентификации в ЛК / КП
Drawio | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
AuthCode (authorization code) - временный код, который клиент должен обменять на AccessToken. AuthCode выдается сервером авторизации, на который обращается клиент после его аутентификации. С этим кодом пользователь возвращается на страницу приложения, которое обменивает его на AccessToken.
AccessToken - специальная строка, которую пользователь использует для выполнения запросов к приложению.
Схема процесса авторизации и взаимодействия
...
Установка
Полноценного этапа установки у сервиса нет, в основном старт сервиса заключается в исполнении скрипта или поднятии контейнеров.
...
ЛК/КП с NBI
Drawio | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Общая схема аутентификации и авторизации в EMS
Drawio | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Подсказка |
---|
Для выполнения запросов к NBI EMS использует сервисную УЗ "softwlc_service". |
Настройка Keycloak
Сервис Keycloak запускается в docker-контейнере. Подробнее про возможные концепции старта сервиса можно посмотреть здесь в официальной документации к сервису.
...
Минимальные требования к хостовой машине, на которой выполняется запуск контейнера: 4G RAM, 4 CPU,
...
50Gb HDD.
Так же потребуется установить сервис docker и docker-compose.
Запуск сервиса в Docker с помощью Docker compose
Рассмотрим работу через docker Перед запуском контейнера на хостовую машину потребуется установить docker и плагин compose.
...
Установка docker.
Установка плагина compose.
Далее создать на хостовой машине папку:
Без форматирования |
---|
sudo mkdir /opt/keycloak |
В этой папке создать файл docker-compose.yml:
Блок кода | ||||
---|---|---|---|---|
| ||||
version: "3.9" |
выполнить запуск командой:
Без форматирования |
---|
sudo docker compose up -d |
после запуска контейнера следует дождаться полного старта сервиса и убедиться, что он находиться в состоянии "healthy":
Без форматирования |
---|
$ sudo docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS keycloak quay.io/keycloak/keycloak:20.0.5 "/opt/keycloak/bin/k…" keycloak 2 days ago Up 2 days (healthy) 8443/tcp, 0.0.0.0:8282->8080/tcp, :::8282->8080/tcp postgres library/postgres:15 "docker-entrypoint.s…" keycloak-postgres 2 days ago Up 2 days (healthy) 0.0.0.0:5435->5432/tcp, :::5435->5432/tcp |
Подсказка |
---|
Посмотреть полную информацию о конфигурации и параметрах можно в официальной документации. |
Подсказка |
---|
Посмотреть более полную конфигурацию можно здесь |
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
docker compose up -d |
После старта сервиса можно перейти в web для его конфигурации http://{serverIp}:8282 , данные для входа указаны в конфигурации docker-compose.yml KEYCLOAK_ADMIN и KEYCLOAK_ADMIN_PASSWORD.
Раскрыть | ||
---|---|---|
| ||
Входим в Administration Console |
Настройка
Подсказка | ||
---|---|---|
| ||
Первоначальная
Конфигурация Realms
Согласно документации keycloak "master" realm мы используем только для создание других realms. В свою очередь созданные нами realms из мастера мы будем конфигурировать в будущем и интегрировать с приложениями.
Раскрыть | ||
---|---|---|
| ||
Подсказка | ||
---|---|---|
| ||
A realm manages a set of users, credentials, roles, and groups. A user belongs to and logs into a realm. Realms are isolated from one another and can only manage and authenticate the users that they control. |
Таким образом мы можем создавать разные области, в которых будет собственная настройка для авторизации и аутентификации.
...
title | Создаем новый realm |
---|
В секцию "Realm name" внесем "softwlc" и нажмем на кнопку создания.
После создания вы автоматически окажетесь в новом realm, дальнейшие настройки мы продолжаем в нем.
Конфигурация Clients
Сущность client - нужна нам для связи keycloak с конкретным приложением.
Создадим клиент для взаимодействия с wifi-cab в качестве общего примера:
...
title | Создаем новый client |
---|
Step 1:
Step 2:
Step 3:
Step 4 (set extra settings):
Подсказка |
---|
На этом этапе у разных клиентов, которых необходимо будет создавать в будущем, будет отличаться лишь название. |
Для корректной работы нужно создать следующие клиенты:
- wifi-cab - для работы с личным кабинетом.
portal-constructor - для работы с порталом.
- nbi - для правильного взаимодействия с back-сервисом.
- ems - для работы с системой управления.
Конфигурация Mappers
Сущность mapper - нужна нам для определения keycloak какой атрибут пользователя передать в приложение.
Каждое приложение использует свои mappers, поэтому иногда процедуру требуется сделать несколько раз в зависимости от приложения.
Создадим mapper для взаимодействия с wifi-cab в качестве общего примера:
...
title | Создание mapper |
---|
Для примера создается атрибут роли. Все остальные атрибуты создают по-аналогии.
Если есть исключения - это будет отдельно выделено.
Step 1:
Step 2:
Предупреждение |
---|
При создании mapper для атрибута Eltex-Domain обязательно нужно включить "Multivalued" |
Подсказка |
---|
Чтобы настроить нужные mappers следует обратиться к таблице атрибутов в документации |
Конфигурация Groups
Сущность group - нужна нам для применения к пользователям общих политик, например атрибутов.
Создадим группу для взаимодействия с wifi-cab в качестве общего примера:
Раскрыть | ||
---|---|---|
| ||
Step 1: Step 2: Step 3 (добавление атрибутов): Step 4 (место для добавления пользователей): |
Атрибуты для приложений могут различаться, поэтому при создании групп берите информацию согласно таблице атрибутов.
Таблица атрибутов, используемых SoftWLC
...
Да.
Обязательный
для: ЛК/КП/NBI.
...
Примечание |
---|
Для корректного запуска рекомендуется установить compose плагин по инструкции |
...
--spi-login-protocol-openid-connect-suppress-logout-confirmation-screen
...
--spi-login-protocol-openid-connect-legacy-logout-redirect-uri
...
По умолчанию в Keycloak в настройке "Require SSL" установлено значение "External requests". Это означает, что подключаться к серверу по протоколу HTTP смогут только пользователи из подсетей "127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/12, 172.16.0.0/12". https://www.keycloak.org/docs/latest/server_admin/#_ssl_modes |
Раскрыть | ||||||
---|---|---|---|---|---|---|
| ||||||
В данном примере предполагается что используется БД postgres. Проверить имя контейнера с БД postgres:
Выполнить команду для исправления записи в БД:
Перезапустить контейнеры:
|
Примечание |
---|
Для всех новых создаваемых realm значение настройки "Require SSL" будет "External requests". Потребуется для нового realm в разделе "Realm settings" изменить настройку "Require SSL" : "None". |
Настройка Keycloak
Keycloak - первоначальная настройка
Отрыть браузер, в браузере пере"Настройка конструктора порталов" йти на страницу http://<IP-адрес сервера>:8282 и выбрать раздел Administration Console. После выбора раздела будет совершен переход на страницу авторизации.
Данные для входа указаны в конфигурации docker-compose.yml в переменных окружения KEYCLOAK_ADMIN и KEYCLOAK_ADMIN_PASSWORD (по умолчанию admin / admin).
После ввода логина/пароля откроется административная консоль:
Создание Realm
Realm - область управления, которая содержит совокупность всех данных: пользователей, учетные данные, роли и группы; необходимых для аутентификации и авторизации пользователей данного realm. Каждый realm изолирован от других realm-ов.
Для одного комплекса SoftWLC достаточно одного realm.
Предупреждение |
---|
Realm "master" можно использовать только для создания других realms. Не редактируйте и не пытайтесь удалить данный realm. |
Для создания нового realm требуется нажать на список с выбором текущего realm (сразу после старта сервиса будет выбран единственный realm "master") и в открывшемся меню нажать кнопку "Create Realm":
В параметрах при создании нового realm достаточно указать только его имя. Имя может быть произвольным, здесь и в дальнейшем будет использовано имя realm "softwlc".
Нажимаем кнопку "Create". После создания переход в новый realm выполниться автоматически, дальнейшие настройки выполняются в нем.
Создание Clients
Client - объект, который содержит совокупность параметров, необходимых для связи с определенным приложением.
Для настройки взаимодействия сервисов SoftWLC с Keycloak потребуется создать три clients:
- wifi-cab - для взаимодействия с ЛК;
- portal-constructor - для взаимодействия с КП;
- ems - для взаимодействия с EMS.
Подсказка |
---|
Имена clients могут быть произвольными, однако для удобства настройки и администрирования рекомендуется использовать названия сервисов SoftWLC. |
Примечание |
---|
Перед любыми действиями с realm необходимо убедиться, что Вы находитесь в целевом realm. |
Создание client для Личного кабинета
В созданном realm "softwlc" переходим в раздел clients и нажимаем кнопку "Сreate client":
В открывшемся окне вводим в поле "Client ID": "wifi-cab" и нажимаем клавишу "Next":
В следующем окне включаем настройку "Client authentication" и контролируем, что включена "Authentication flow": "Standard flow":
Нажимаем кнопку "Save".
Откроются дополнительные настройки. Во вкладке "Settings" задаем параметр "Valid redirect URIs": "http://<IP-адрес сервера SoftWLC>:8080/wifi-cab/sso":
и нажимаем кнопку "Save".
Подсказка |
---|
При необходимости, если используется несколько экземпляров приложения eltex-wifi-cab, можно указать несколько различных значений "Valid redirect URIs", нажав на кнопку "Add valid redirec URIs". |
Создание client для Конструктора порталов
В созданном realm "softwlc" переходим в раздел clients и нажимаем кнопку "Сreate client":
В открывшемся окне вводим в поле "Client ID": "portal-constructor" и нажимаем клавишу "Next":
В следующем окне включаем настройку "Client authentication", контролируем, что включена "Authentication flow": "Standard flow":
Нажимаем кнопку "Save".
Откроются дополнительные настройки. Во вкладке "Settings" задаем параметр "Valid redirect URIs": "http://<IP-адрес сервера SoftWLC>:8080/epadmin/sso":
и нажимаем кнопку "Save".
Подсказка |
---|
При необходимости, если используется несколько экземпляров приложения eltex-portal-constructor, можно указать несколько различных значений "Valid redirect URIs", нажав на кнопку "Add valid redirec URIs". |
Создание client для EMS
В созданном realm "softwlc" переходим в раздел clients и нажимаем кнопку "Сreate client":
В открывшемся окне вводим в поле "Client ID": "ems" и нажимаем клавишу "Next":
В следующем окне НЕ включаем настройку "Client authentication", контролируем, что включена "Authentication flow": "Standard flow":
Нажимаем кнопку "Save".
Предупреждение |
---|
Перепроверьте, не включена ли настройка "Client authentication". При создании client для приложения Eltex-EMS включать настройку "Client authentication" НЕ нужно! |
Откроются дополнительные настройки. Во вкладке "Settings" задаем параметр "Valid redirect URIs": "http://localhost":
и нажимаем кнопку "Save".
Настройка mappers
Mapper (далее "маппер") отвечает за передачу атрибута пользователя в приложение. Настройка необходимых атрибутов выполняется отдельно для каждого "client". Для каждого приложения существует своя таблица атрибутов, которые необходимо настроить.
Настройка mappers для Личного кабинета
Для ЛК поддержаны атрибуты:
Имя атрибута | Применение | Обязательность |
---|---|---|
Eltex-User-Role | Передача роли пользователя | Да |
Eltex-Domain | Передача домена пользователя | Да |
User-Name | Передача имени пользователя | Да |
Eltex-User-Timezone | Передача таймзоны пользователя | Да |
Для добавления атрибутов переходим в realm "softwlc", открываем client "wifi-cab" и открываем вкладку "Client scopes":
В данной вкладке открываем "Assigned client scope" и нажимаем "wifi-cab-dedicated":
Нажимаем кнопку "Configure a new mapper":
Выбираем в колонке "Name" "User Attribute".
В открывшемся окне заполняем поля названием атрибута (в приведенном примере Eltex-User-Role):
"Name" : "Eltex-User-Role"
"User-Attribute": "Eltex-User-Role"
"Token Claim Name": "Eltex-User-Role"
Нажимаем кнопку "Save".
Аналогично добавляем атрибуты "User-Name" и "Eltex-User-Timezone".
Предупреждение |
---|
При создании маппера для атрибута "Eltex-Domain" необходимо включить параметр "Multivalued". |
Состояние мапперов для client "wifi-cab" после настройки:
Настройка mappers для Конструктора порталов
Для КП поддержаны атрибуты аналогичные ЛК. Настройка мапперов для client "portal-constructor" выполняется аналогично настройке мапперов для ЛК:
Имя атрибута | Применение | Обязательность |
---|---|---|
Eltex-User-Role | Передача роли пользователя | Да |
Eltex-Domain | Передача домена пользователя | Да |
User-Name | Передача имени пользователя | Да |
Eltex-User-Timezone | Передача таймзоны пользователя | Нет |
Примечание |
---|
Рекомендуем при наличии возможности все же указать значение параметра "Eltex-User-Timezone" . Данный параметр требуется для корректного отображения времени входа в КП и даты создания ресурсов (изображений, видео и т.п.). |
Состояние мапперов для client "portal-constructor" после настройки:
Настройка mappers для EMS
Если для ЛК и КП атрибуты совпадают, то для EMS в связи с архитектурными отличиями используется практически полностью другой набор атрибутов. Атрибуты, которые используются при настройке client для приложения EMS, имеют в своем названии "EMS". В частности, ЛК/КП и EMS имеют различный набор ролей. Настройки роли EMS определяют домен пользователя, для пользователя ЛК/КП же требуется указание отдельного атрибута Eltex-Domain.
Предупреждение |
---|
Обратите внимание, Eltex-User-Role и Eltex-EMS-Role - разные атрибуты! |
Подсказка |
---|
При настройке mappers для EMS используется атрибут Eltex-EMS-Role. |
Домен пользователя определяется настройками роли. Настройка атрибутов выполняется в clients "ems".
Имя атрибута | Применение | Обязательность |
---|---|---|
User-Name | Передача имени пользователя | Да |
Eltex-EMS-Role | Имя роли в EMS | Да |
Eltex-EMS-ResendTrap | Настройка профайла пользователя: Пересылать аварии на Email | Нет |
Eltex-EMS-SendLogs | Настройка профайла пользователя: Пересылать логи на Email | Нет |
Eltex-EMS-SendOntProblems | Настройка профайла пользователя: Пересылать проблемы ONT на Email | Нет |
Eltex-EMS-IpList | Настройка профайла пользователя: IP-адрес для режима "multiuser" | Нет |
Последовательность действий при добавлении мапперов аналогична ЛК и КП. Состояние мапперов для client "ems" после настройки:
Предупреждение |
---|
При настройке мапперов для EMS необходимо проконтролировать, что настройка "Add to access token" включена! |
Особенности взаимодействия сервиса eltex-radius-nbi с Keycloak
Сервис eltex-radius-nbi при взаимодействии с Keycloak использует токен (AccessToken), с которым к нему обратилось приложение (ЛК, КП или EMS), при этом используются ограничения на права обращения к методам NBI из роли пользователя.
Для обращения непосредственно к api eltex-radius-nbi можно использовать системных пользователей или создать их в ЛК.
Добавление и настройка Groups
Groups - группа общих политик и атрибутов, применяемых к пользователю.
Рекомендуется создать группу для каждого приложения и в рамках группы приложения создать подгруппы для каждого набора привилегий пользователей.
Создание групп
Для создания группы в realm "softwlc" перейдем в меню Groups и нажмем кнопку "Create group":
в поле name указать имя группы "wifi-cab" и нажать кнопку "Create".
Аналогичным способом создать группы для приложений КП и EMS. В итоге получится следующий список групп:
Создание и настройка подгрупп
В группе "wifi-cab" нажать на справа от названия группы. В открывшемся меню:
нажать "Create group".
В открывшемся окне ввести имя группы "default_provider". Имя группы может быть любым, рекомендуется использовать имя, совпадающее с названием роли в ЛК/EMS:
и нажать кнопку "Create".
После создания подгруппы раскрываем группу "wifi-cab" и нажимаем на ранее созданную подгруппу "default_provider":
Вводим:
- "Key": "Eltex-User-Role"
- "Value": "default_provider"
нажимаем кнопку "Save".
После сохранения автоматически внизу добавиться новая строка для ввода следующего значения. Аналогичным образом добавим значения для атрибутов "Eltex-Domain" и "Eltex-User-Timezone". После этого список атрибутов примет вид:
Подсказка |
---|
При необходимости указать несколько доменов можно указать атрибут "Eltex-Domain" несколько раз с разными значениями доменов. |
Примечание |
---|
Корректным написанием домена является перечисление доменов с конца дерева вверх через ".", например: "Novosibirsk.root" или "Eltex.Novosibirsk.root". |
Аналогичным образом создаем подгруппу и настраиваем ее для КП. Итоговый вид:
Так же создаем подгруппу "SuperUser" для группы "ems" и добавляем в нее необходимые атрибуты:
Для корректного взаимодействия с EMS достаточно выполнить настройку в подгруппе атрибута "Eltex-EMS-Role". Другие атрибуты EMS рекомендуется настраивать индивидуально для пользователя.
Добавление и настройка пользователей
Примечание |
---|
Не рекомендуется создавать пользователя с именем "admin", т.к. это имя совпадает с именем пользователя под которым выполняется управление Keycloak и он не может с этим именем войти в EMS. |
Для добавления пользователя необходимо открыть realm "softwlc" и нажать "Users":
В открывшемся окне нажать кнопку "Create new user" и ввести в поле "Username" имя пользователя (в приведенном примере user):
нажать кнопку "Create".
После создания пользователя автоматически откроются его свойства (User details), в них переходим на вкладку "Attributes":
Вводим:
- "Key": "User-Name"
- "Value": "user"
нажимаем кнопку "Save". Имя пользователя и значение атрибута могут не совпадать. При аутентификации необходимо вводить в качестве имени пользователя значение указанное в атрибуте "User-Name".
Что бы задать/изменить пароль пользователя переходим на вкладку "Credentials" и нажимаем кнопку "Set password":
вводим и подтверждаем пароль, нажимаем кнопку "Save".
Переходим на вкладку Groups и нажимаем кнопку "Join Group", раскрываем группу "wifi-cab" и выбираем подгруппу "default_provider":
И нажимаем кнопку "Join".
Аналогичным образом добавляем пользователя в подгруппы "portal-constructor - default_provider" и "ems - SuperUser". В итоге членство пользователя в группах будет выглядеть следующим образом:
Интеграция с LDAP
Возможна интеграция Keycloak с LDAP. В приведенном примере рассматривается интеграция с OpenLDAP. Установка и настройка OpenLDAP в данной документации не рассматривается. Предполагается, что он уже установлен и готов к работе.
Документация Keycloak по настройке интеграции с LDAP.
Интеграция с LDAP может иметь разную конфигурацию и при необходимости можно выбрать иные настройки.
Далее в инструкции указан один из вариантов интеграции.
Настройка взаимодействия с LDAP
Настройка интеграции с LDAP выполняется в рамках одного realm.
Откроем realm "softwlc" и перейдем на вкладку "User federation":
В открывшейся вкладке нажимаем на кнопку "Add Ldap providers" и заполняем параметры взаимодействия с LDAP:
Параметр | Значение |
---|---|
Console display name | ldap |
Vendor | Other |
Connection URL | ldap://ldap.eltex.loc |
Bind type | simple |
Bind DN | uid=ivan.ivanov,ou=Отдел SoftWLC,dc=eltex,dc=loc |
Bind credentials | 123456 |
Edit mode | READ_ONLY |
Users DN | dc=eltex,dc=loc |
Username LDAP attribute | uid |
RDN LDAP attribute | uid |
UUID LDAP attribute | uid |
User object classes | * |
Search scope | Subtree |
Import users | ON |
Periodic full sync | ON |
Full sync period | 300 |
В настройках "Connection URL", "Bind DN", "Bind credentials", "Users DN" необходимо указать параметры подключения к определенному LDAP, в приведенном примере приведены тестовые данные.
После выполнения настроек нажимаем кнопку "Save".
Раскрыть | ||
---|---|---|
| ||
После сохранения настроек рекомендуется проверить соединение и возможность подключения к LDAP со стороны Keycloak:
- для проверки соединения необходимо в разделе "Connection and authentication settings" нажать на кнопку "Test connection";
- для проверки аутентификации под используемой УЗ надо нажать на кнопку "Test authentication".
В случае успешного подключения вверху справа появиться сообщение
В случае проблем с соединением надо проверить доступность сервера LDAP по указанному адресу, а также проверить работоспособность УЗ и правильность введенных данных.
Настройка group-ldap-mapper
Предположим, что отсутствует возможность указать нужные атрибуты сразу в LDAP. В этом случае потребуется решить следующие задачи:
- Добавление пользователей из LDAP в Keycloak
- Добавление пользователей LDAP в группы Keycloak
- Добавление нужных атрибутов в рамках Keycloak
Откроем созданный коннект подключения к LDAP и в нем перейдем во вкладку "Mappers":
Нажмем на кнопку "Add mapper". В открывшемся окне введем:
- Name: "group-mapper"
- Mapper type: выберем "group-ldap-mapper" - после этого раскроется полный список параметров настройки:
настроим параметры:
- LDAP Groups DN: "ou=eltexGroups,ou=eltex.dc=eltex,dc=loc" - пространство, где будем выполняться поиск групп;
- Group Name LDAP: "cn" - название параметра, где указано имя группы;
- Group Object Classes: "posixGroup" - название параметра, указывающего признак группы;
- Preserve Group Interface: отключить;
- Ignore Missing Groups: включить игнорирование отсутствующих групп;
- Membership LDAP Attribute: "memberUid" - название параметра, указывающего признак вхождения в группу;
- Membership Attribute Type: "UID" - указывает каким типом добавлен пользователь в группу;
- Membership User LDAP Attribute: "uid" - имя пользователя в LDAP по которому идет маппинг в группу.
Нажимаем кнопку "Save".
Предупреждение |
---|
Параметры, указанные в примере конфигурации могут различаться для разных LDAP, при необходимости рекомендуется воспользоваться документацией LDAP и Keycloak. |
После сохранения настроек переходим в добавленный LDAP, раскрываем меню справа вверху и выбираем "Sync all users":
В случае успешной синхронизации вверху справа появиться сообщение вида: .
После этого станет видно новые группы и пользователей, которых можно добавлять в группы.
Настройка маппинга имени пользователя в атрибут User-Name
Настройку маппинга имени пользователя LDAP в атрибут User-Name выполняется в рамках настройки мапперов каждого client realm.
Выполним настройку для client "wifi-cab". Для этого откроем "Clients" - "wifi-cab" - "Client scopes" - "wifi-cab-dedicated" - атрибут "User-Name":
заменим значение "User Attribute" на "firstName" и нажмем кнопку "Save".
Далее необходимо настроить аналогичным образом мапперы clients для portal-constructor и ems.
Добавление пользователей в группу
Добавление пользователей импортированных из LDAP в ранее созданные группы ems, portal-constructor, wifi-cab выполняется аналогично добавлению пользователей Keycloak.
На примере группы wifi-cab: нажимаем "Groups" - "wifi-cab" переходим в подгруппу "default_provider" - "Members" и нажимаем кнопку "Add member":
выбираем пользователя "eltex" (в приведенном примере данные пользователи импортированы из LDAP) и нажимаем кнопку "Add".
После этого данный пользователь появиться в подгруппе "default_provider". Аналогичным образом добавляем пользователя в подгруппы "portal-constructor - default_provider" и "ems - SuperUser".
Настройка NBI
Настройка взаимодействия с Keycloak выполняться в файле конфигурации "/etc/eltex-radius-nbi/radius_nbi_config.txt" в разделе:
Блок кода |
---|
# SSO settings
sso.enabled=true
sso.clientSecret=
sso.clientId=
# SSO REST
sso.rest.server.protocol=http
sso.rest.server.address=<IP-адрес сервера Keycloak>
sso.rest.server.port=8282
sso.rest.server.timeout.sec=10
# possible value for sso.rest.protocol.provider are "rtk", "keycloak"
sso.rest.protocol.provider=keycloak
#the "version" settings only matter when "provider=rtk"
sso.rest.protocol.version=2.0
#the "username" settings only matter when "provider=rtk"
sso.rest.username=
#the "password" settings only matter when "provider=rtk"
sso.rest.password=
# SSO SETTINGS
sso.rest.getToken.path=/realms/softwlc/protocol/openid-connect/token
sso.rest.getUserInfo.path=/realms/softwlc/protocol/openid-connect/userinfo |
В данной конфигурации необходимо указать параметры подключения к серверу Keycloak:
- sso.enabled=true - включение возможности входа по SSO
- sso.rest.server.address=<IP-адрес сервера Keycloak>
- sso.rest.server.port=8282 - порт сервера Keycloak, по умолчанию 8282
- sso.rest.protocol.provider=keycloak - тип используемого SSO сервера - "keycloak"
- sso.rest.getToken.path=/realms/softwlc/protocol/openid-connect/token - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
- sso.rest.getUserInfo.path=/realms/softwlc/protocol/openid-connect/userinfo - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
Выполнить рестарт сервиса:
Без форматирования |
---|
sudo systemctl restart tomcat8 |
Настройка личного кабинета
Примечание |
---|
После включения интеграции с keycloak станет невозможно добавлять/редактировать/удалять системных пользователей! |
Настройка взаимодействия с Keycloak выполняться в файле конфигурации "/etc/eltex-wifi-cab/system.xml" в разделе:
Блок кода |
---|
<!-- SSO Settings -->
<entry key="sso.enabled">true</entry>
<entry key="sso.redirectUri">http://IP-адрес ЛК:8080/wifi-cab/sso</entry>
<entry key="sso.clientSecret">HoDKUreDl0xmjUgV7p19YADAT5fvtOOG</entry>
<entry key="sso.clientId">wifi-cab</entry>
<entry key="sso.localauth.enabled">true</entry>
<!-- SSO Auth -->
<entry key="sso.auth.server.protocol">http</entry>
<entry key="sso.auth.server.address">IP-адрес сервера Keycloak</entry>
<entry key="sso.auth.server.port">8282</entry>
<entry key="sso.auth.auth.path">/realms/softwlc/protocol/openid-connect/auth</entry>
<entry key="sso.auth.logout.path">/realms/softwlc/protocol/openid-connect/logout</entry>
<!-- SSO REST -->
<entry key="sso.rest.server.protocol">http</entry>
<entry key="sso.rest.server.address">IP-адрес сервера Keycloak</entry>
<entry key="sso.rest.server.port">8282</entry>
<entry key="sso.rest.server.timeout.sec">10</entry>
<entry key="sso.rest.protocol.provider">keycloak</entry> <!-- rtk/keycloak -->
<entry key="sso.rest.protocol.version">2.0</entry> <!--setting only matters when provider=rtk-->
<entry key="sso.rest.username"></entry> <!--setting only matters when provider=rtk-->
<entry key="sso.rest.password"></entry> <!--setting only matters when provider=rtk-->
<entry key="sso.rest.getToken.path">/realms/softwlc/protocol/openid-connect/token</entry>
<entry key="sso.rest.getUserInfo.path">/realms/softwlc/protocol/openid-connect/userinfo</entry> |
- <entry key="sso.enabled">true</entry> - включение возможности входа по SSO
- <entry key="sso.redirectUri">http://IP-адрес ЛК:8080/wifi-cab/sso</entry> - адрес ЛК для обратного редиректа. Данная настройка должна совпадать с настройкой указанной в realm в разделе Settings в параметре Valid redirecr URLs.
- <entry key="sso.clientSecret">HoDKUreDl0xmjUgV7p19YADAT5fvtOOG</entry> - secret, необходимый для взаимодействия с realm. Находится в настройках клиента wifi-cab " в разделе Credentials" в поле "Client secret".
Раскрыть | ||
---|---|---|
| ||
- <entry key="sso.clientId">wifi-cab</entry> - имя клиента, как оно указано в настройках Keycloak (Clients)
- <entry key="sso.localauth.enabled">true</entry> - разрешение локальной аутентификации в ЛК (для запрета необходимо указать "false")
- <entry key="sso.auth.server.protocol">http</entry> - тип используемого протокола
- <entry key="sso.auth.server.address">IP-адрес сервера Keycloak</entry> - адрес сервера Keycloak
- <entry key="sso.auth.server.port">8282</entry> - порт сервера Keycloak (по умолчанию 8282)
- <entry key="sso.auth.auth.path">/realms/softwlc/protocol/openid-connect/auth</entry> - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
- <entry key="sso.auth.logout.path">/realms/softwlc/protocol/openid-connect/logout</entry> - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
- <entry key="sso.rest.server.address">IP-адрес сервера Keycloak</entry> - адрес сервера Keycloak
- <entry key="sso.rest.server.port">8282</entry> - порт сервера Keycloak (по умолчанию 8282)
- <entry key="sso.rest.protocol.provider">keycloak</entry> - тип используемого сервера "keycloak"
- <entry key="sso.rest.getToken.path">/realms/softwlc/protocol/openid-connect/token</entry> - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
- <entry key="sso.rest.getUserInfo.path">/realms/softwlc/protocol/openid-connect/userinfo</entry> - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
Другие параметры SSO не требуют изменений.
Выполнить рестарт сервиса:
Без форматирования |
---|
sudo systemctl restart eltex-wifi-cab |
Настройка конструктора порталов
Настройка взаимодействия с Keycloak выполняться в файле конфигурации "/etc/eltex-portal-constructor/application.conf" в разделе:
Блок кода |
---|
sso {
enabled = true
# enable or disable local login
localLoginAllowed = true
# rtk, keycloak
provider = keycloak
# Must be in double quotes. Only for 'rtk' provider
version = "1.0"
rest {
scheme = http
host = <IP-адрес сервера Keycloak>
port = 8282
sso_api_path = /realms/softwlc/protocol/openid-connect
}
auth {
scheme = http
host = <IP-адрес сервера Keycloak>
port = 8282
authentication_path = /realms/softwlc/protocol/openid-connect/auth
logout_path = /realms/softwlc/protocol/openid-connect/logout
}
params {
client_id = portal-constructor
# URL of epadmin, URL must be in double quotes (!!!)
redirect_uri = "http://<IP-адрес КП>:8080/epadmin/sso"
client_secret = N0F5T5QIFed7629AYqGTDNzD0eseVFZH
}
} |
- enabled = true - включение возможности входа по SSO
- localLoginAllowed = true - разрешение локальной аутентификации в КП (для запрета надо указать "false")
- provider = keycloak - тип используемого SSO сервера - "keycloak"
- scheme = http - использовать http протокол
- host = <IP-адрес сервера Keycloak> - адрес сервера Keycloak
- port = 8282 - порт сервера Keycloak (по умолчанию 8282)
- sso_api_path = /realms/softwlc/protocol/openid-connect - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
- authentication_path = /realms/softwlc/protocol/openid-connect/auth - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
- logout_path = /realms/softwlc/protocol/openid-connect/logout - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
- client_id = portal-constructor - имя клиента, как оно указано в настройках Keycloak (Clients)
redirect_uri = "http://<IP-адрес КП>:8080/epadmin/sso" - адрес КП для обратного редиректа. Данная настройка должна совпадать с настройкой, указанной в realm в разделе Settings в параметре Valid redirecr URLs.
Предупреждение Настройка обязательно должна указываться в кавычках!
- client_secret = N0F5T5QIFed7629AYqGTDNzD0eseVFZH - secret, необходимый для взаимодействия с realm. Находиться в настройках realm portal-constructor "Credentials" в поле "Client secret".
Раскрыть | ||
---|---|---|
| ||
Выполнить рестарт сервиса:
Без форматирования |
---|
sudo systemctl restart eltex-portal-constructor |
Настройка EMS
Примечание |
---|
После включения интеграции с Keycloak станет невозможно добавлять/редактировать/удалять системных пользователей! |
Настройка взаимодействия с Keycloak выполняться в файле конфигурации "/usr/lib/eltex-ems/conf/system-config.txt" в разделе:
Блок кода |
---|
# sso
sso.enabled=true
sso.provider=keycloak
sso.callback-host=localhost
sso.callback-port=45969
sso.keycloak.realm=softwlc
sso.keycloak.auth-server-url=http://<IP-адрес сервера keycloak>:8282
sso.keycloak.ssl-required=external
sso.keycloak.resource=ems
sso.keycloak.public-client=true
sso.keycloak.use-resource-role-mappings=true
sso.keycloak.enable-pkce=true |
- sso.enabled=true - включение возможности входа по SSO
- sso.provider=keycloak - тип используемого SSO сервера - "keycloak"
- sso.callback-host=localhost - без изменений
- sso.callback-port=45969 - без изменений
- sso.keycloak.realm=softwlc - имя realm, взаимодействие с которым настроено в Keycloak
- sso.keycloak.auth-server-url=http://<IP-адрес сервера keycloak>:8282 - адрес сервера Keycloak:порт
- sso.keycloak.ssl-required=external - без изменений
- sso.keycloak.resource=ems - имя клиента, как оно указано в настройках Keycloak (Clients)
- sso.keycloak.public-client=true - без изменений
- sso.keycloak.use-resource-role-mappings=true - без изменений
- sso.keycloak.enable-pkce=true - без изменений
Выполнить рестарт сервиса:
Без форматирования |
---|
sudo systemctl restart eltex-ems |
Решение проблем
Если при попытке зайти в Keycloak или при выполнении авторизации появляется сообщение:
Предупреждение |
---|
По умолчанию в Keycloak в настройке "Require SSL" установлено значение "External requests". Это означает, что подключаться к серверу по протоколу HTTP смогут только пользователи из подсетей "127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/12, 172.16.0.0/12". https://www.keycloak.org/docs/latest/server_admin/#_ssl_modes |
Если данное сообщение появляется при попыке войти в административную консоль Keycloak и не требуется использовать протокол HTTPS - необходимо изменить настройку внутри контейнера:
Раскрыть | ||||||
---|---|---|---|---|---|---|
| ||||||
В данном примере предполагается что используется БД postgres. Проверить имя контейнера с БД postgres:
Выполнить команду для исправления записи в БД:
Перезапустить контейнеры:
|
Если данное сообщение появляется при попытке авторизации пользователя - необходимо открыть Realm и перейдя в раздел Realm settings в настройке "Require SSL" выбрать "None" и нажать "Save".
В случае, если редирект не происходит или страница авторизации Keycloak не открывается необходимо проверить доступность сервера с Keycloak с машины, на которой установлен комплекс SoftWLC командами:
Без форматирования |
---|
curl http://<IP-адрес сервера keycloak>:8282/realms/softwlc/.well-known/openid-configuration
curl http://<IP-адрес сервера keycloak>:8282/realms/softwlc/protocol/openid-connect/certs |
Так же проверить из браузера с ПК пользователя доступность сервера Keycloak.
В случае недоступности по указанным ссылкам сервера Keyclok необходимо провести диагностику сетевой связности, ограничения устанавливаемые файрволом на сети.
Примечание |
---|
В некоторых браузерах при возникновении ошибок в настройке взаимодействия приложений с Keycloak может наблюдаться "белый экран", когда никакой ошибки в браузере не отображается. В этом случае следует смотреть логи соответствующего приложения. |
Личный кабинет
Логи аутентификации пользователей сохраняются в файл "/var/log/eltex-wifi-cab/default.log".
1. Если при попытке аутентификации пользователя в логах наблюдаются ошибки вида:
Без форматирования |
---|
2023-04-04T19:12:00,928 [qtp1949709901-22666] ERROR default WiFiCustomerSsoServlet.handleGetUserInfoResponse(line:301). Attributes were not found or they are incorrect: [Eltex-User-Role] |
то это говорит о том, что есть проблема с определенным атрибутом. Необходимо проверить его присутствие и корректность настройки в мапперах в "clients - wifi-cab", проверить настройки атрибутов группы и пользователя.
2. Если в логах наблюдается ошибка вида:
Без форматирования |
---|
2023-04-04T19:19:40,214 [qtp1949709901-20961] ERROR default WiFiCustomerSsoServlet.handleGetUserInfoResponse(line:301). Attributes were not found or they are incorrect: [Eltex-Domain] |
и при этом атрибут "Eltex-Domain" везде настроен - необходимо проверить в настройках атрибута в мапперах "clients - wifi-cab" включено ли для него свойство "Multivalued".
3. Если в логах наблюдается ошибка вида:
Без форматирования |
---|
2023-04-04T19:24:05,122 [qtp1949709901-20961] ERROR default SsoKeycloakAccessControl.signIn(line:46). Authorization error message from NBI: Ошибка получения списка системных ролей
ERR209: Auth-роль 'default_platform_admin1' не существует |
это означает, что выдаваемая пользователю системная роль не существует. Необходимо проверить значение атрибута "Eltex-User-Role" и соответствие его реально существующей роли в ЛК.
4. Если в логах наблюдается ошибка вида:
Без форматирования |
---|
2023-04-10T09:34:27,789 [qtp1201991394-33] ERROR default WiFiCustomerSsoServlet.authAfterRedirect(line:279). Failed with token request. Response: {"error_description":"Invalid client or Invalid client credentials","error":"unauthorized_client"}; code: 401 |
то необходимо проверить в файле настроек ЛК значение параметра "sso.clientSecret" - совпадает ли его значение со значение в настройке realm wifi-cab "Credentials" в поле "Client secret".
5. Если в логах наблюдается ошибка вида:
Без форматирования |
---|
2023-04-10T10:01:23,158 [qtp421293587-33] ERROR default WiFiCustomerSsoServlet.authAfterRedirect(line:279). Failed with token request. Response: {"error":"Protocol not found"}; code: 404 |
а в браузере пользователь сразу видит ошибку вида "The page isn't redirecting properly" - необходимо проверить корректность параметра "sso.rest.getToken.path" в файле настроек ЛК: проверить правильность имени realm, наличие лишних символов.
Если пользователь видит данную ошибку после ввода логина / пароля на сервере Keycloak - необходимо проверить корректность параметра "sso.rest.getToken.path" в файле настроек ЛК: проверить правильность имени realm, наличие лишних символов.
6. Если при авторизации на странице Keycloak появляется ошибка вида:
то необходимо проверить корректность значения параметров ЛК: "sso.redirectUri" и "sso.clientId". Так же необходимо проверить в настройках Keycloak во вкладке "Settings" для Client "wifi-cab" корректность параметра "Valid redirect URIs".
7. Если при авторизации на странице Keycloak появляется ошибка вида:
то необходимо проверить корректность значения параметра "sso.auth.auth.path" - правильно ли указано имя Realm и внимательно проверить нет ли лишних символов. Если аналогичное сообщение возникает при выходе из ЛК - следует проверить корректность значения параметра "sso.auth.logout.path".
Конструктор порталов
Логи аутентификации пользователей сохраняются в файл "/var/log/eltex-portal-constructor/portal-constructor.log".
1. Если при попытке аутентификации пользователя в логах наблюдается:
Без форматирования |
---|
2023-04-04T19:32:50,697 [qtp1959910454-503] ERROR org.eltex.portal.admin.auth.sso.strategies.KeyCloakSsoAuthorization KeyCloakSsoAuthorization.authorize(line:111). Role not found or invalid. Check Eltex-User-Role attribute |
то необходимо проверить наличие и корректность настройки маппинга атрибута в мапперах "clients - portal-constructor", проверить настройки атрибутов группы и пользователя.
2. Если в логах наблюдается ошибка вида:
Без форматирования |
---|
2023-04-04T19:37:43,466 [qtp1959910454-66] ERROR org.eltex.portal.admin.auth.sso.strategies.KeyCloakSsoAuthorization KeyCloakSsoAuthorization.authorize(line:136). There are no scopes for user or value is invalid. Check Eltex-Domain attribute |
и при этом атрибут "Eltex-Domain" везде настроен - необходимо проверить в настройках атрибута в мапперах "clients - portal-constructor" включено ли для него свойство "Multivalued".
3. Если при попытке авторизации пользователь видит в браузере:
а в логах КП наблюдаются сообщения вида:
Без форматирования |
---|
2023-04-10T11:05:38,654 [qtp1664576493-34] ERROR org.eltex.portal.admin.auth.sso.strategies.SsoAuthorization SsoAuthorization.getTokenPairByCode(line:119). org.springframework.web.client.HttpClientErrorException$NotFound: 404 Not Found: [{"error":"HTTP 404 Not Found"}]
2023-04-10T11:05:38,655 [qtp1664576493-34] ERROR org.eltex.portal.admin.auth.sso.strategies.SsoAuthorization SsoAuthorization.getUserInfoByAuthCodeFlow(line:149). Can't get token pair |
то необходимо проверить корректность значения параметра настроек КП "sso_api_path": корректность имени используемого "Realm" (в приведенной инструкции "softwlc"), корректность введенной строки, отсутствие лишних символов.
4. Если при попытке авторизации пользователь видит в браузере ошибку из п.3., но при этом в лога наблюдается сообщение вида:
Без форматирования |
---|
2023-04-10T11:27:12,402 [qtp1664576493-34] ERROR org.eltex.portal.admin.auth.sso.strategies.SsoAuthorization SsoAuthorization.getTokenPairByCode(line:119). org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 Unauthorized: [no body]
2023-04-10T11:27:12,402 [qtp1664576493-34] ERROR org.eltex.portal.admin.auth.sso.strategies.SsoAuthorization SsoAuthorization.getUserInfoByAuthCodeFlow(line:149). Can't get token pair |
то необходимо проверить корректность значения параметра настроек КП "client_secret" и соответствие его настройке в Keycloak realm "wifi-cab" "Credentials" в поле "Client secret".
5. Если при попытке авторизации пользователь видит в браузере:
и в логах КП наблюдаются сообщения вида:
Без форматирования |
---|
2023-04-10T11:12:11,724 [pool-2-thread-1] ERROR org.eltex.logging.client.LogServiceClient LogServiceClient.lambda$sendAsync$0(line:271). Failed to send message with code: UNAVAILABLE |
то необходимо проверить корректность значения параметра настроек КП "authentication_path": корректность имени Realm, корректность введенной строки, отсутствие лишних символов.
Если данное сообщение наблюдается при выходе пользователя из КП - необходимо проверить корректность значения параметра настроек КП "logout_path".
6. Если при попытке авторизации пользователь видит в браузере:
то необходимо проверить в настройках КП параметры "client_id" и "redirect_uri": соответствие параметра "client_id" используемому в настройках Keycloak имени client, корректность параметра "redirect_uri" и соответствие его настройке вкладке "Settings" Keycloak для "Client" "wifi-cab" параметр "Valid redirect URIs".
Eltex-EMS
Логи аутентификации пользователей сохраняются в файл "/var/log/eltex-ems/black_box.txt".
1. Если при попытке аутентификации пользователь видит:
Без форматирования |
---|
2023-04-05T19:02:56,077 [GuiHandler2v_0] INFO Kernel ObjectHandler.handleCommand(line:215). Error: command = [ Command: action = AUTH_SSO_USER; objectType = SYSTEM; sessionId = -1; guiModuleId = null; clientInetAddress = 100.110.0.150; addToResponse = false; needLogs = true; function = Function{mode=USER, type=LOGIN, objId=-1, treeObj=null, tabName='AUTH_USER', methodName='AUTH_USER', description='Авторизация', object=null, processId='null', logs=null}; commandId = CMD:AUTH_SSO_USER_admin_SYSTEM_2023-04-05_19:02:55.345; additionalCommands.size = 0 ], пользователь не существует |
то необходимо проверить наличие и корректность настройки маппинга атрибутов "User-Name" и "Eltex-EMS-Role" в мапперах "clients - ems", проверить настройки атрибутов группы и пользователя.
2. Если в логах наблюдается ошибка:
Без форматирования |
---|
2023-04-05T19:14:32,479 [GuiHandler2v_0] INFO Kernel ObjectHandler.handleCommand(line:215). Error: command = [ Command: action = AUTH_SSO_USER; objectType = SYSTEM; sessionId = -1; guiModuleId = null; clientInetAddress = 100.110.0.150; addToResponse = false; needLogs = true; function = Function{mode=USER, type=LOGIN, objId=-1, treeObj=null, tabName='AUTH_USER', methodName='AUTH_USER', description='Авторизация', object=null, processId='null', logs=null}; commandId = CMD:AUTH_SSO_USER_admin_SYSTEM_2023-04-05_19:14:32.418; additionalCommands.size = 0 ], Аутентификация из GUI роли SuperUser1 |
то необходимо проверить соответствие системной роли выдаваемой пользователю в настройках Keycloak и ее наличия в EMS.
3. Если при попытке зайти пользователь видит:
то необходимо проверить корректность настройки параметра в конфигурации EMS "sso.keycloak.realm" и "sso.keycloak.resource" на соответствие их используемых в Keycloak "Realm" и ""Client (в приведенной инструкции "softwlc" и "ems").
Так же необходимо проверить, что все апплеты предыдущих попыток аутентификации на ПК пользователя закрыты.
4. Если при попытке зайти в EMS в браузере открывается страница Keycloak, но в ней отображается ошибка вида:
то необходимо проверить корректность настройки параметра EMS "sso.keycloak.resource" и соответствие его используемому в Keycloak "Realm - Client" (в приведенной инструкции "ems").
Eltex-radius-NBI
Логи аутентификации сохраняются в файл "/var/log/eltex-axis/radius-nbi/nbi_error.log".
Взаимодействие с данным сервисом выполняются ЛК, КП и EMS. Он не имеет своего client в keycloak, поэтому при возникновении ошибок необходимо в первую очередь проверить корректность настроек приложений, которые обращаются к нему.
1. Если в приведенном ниже логе:
Без форматирования |
---|
2023-04-05T19:29:49,831 [http-nio-8080-exec-10] ERROR Kernel Northbound.handle(line:246). Failed. commander GetAuthRoleCmd; request [AUTH_ROLE: test223, CLIENT_NAME: test tester, LOCALE: ru_RU, CLIENT_IP: 100.123.0.2]
org.eltex.radius.nbi.exception.EltexException: Auth-роль 'test' не существует |
то необходимо проверить присутствие и корректность настройки в мапперах атрибута "Eltex-User-Role" в "clients - wifi-cab", так же проверить настройки данного атрибута в группе пользователя и его наличие данной роли в ЛК.
2. Если в логах наблюдается ошибка вида:
Без форматирования |
---|
2023-04-10T13:37:01,039 [http-nio-8080-exec-9] ERROR Kernel SSOTools.handleGetUserInfoResponse(line:51). Failed with user info request. Response: {"error":"HTTP 404 Not Found"}; code: 404 |
то необходимо проверить корректность значений параметров "sso.rest.getToken.path" и "sso.rest.getUserInfo.path": корректность Realm, корректность параметров в целом, отсутствие лишних символов.
Приложения
Таблица атрибутов пользователей, используемых SoftWLC
Название | Применение | Обязательность | Использование |
---|---|---|---|
User-Name | Передача имени пользователя | Да | ЛК/КП/NBI/EMS |
Eltex-User-Role | Передача роли пользователя | да | ЛК/КП/NBI |
Eltex-Domain | Передача домена пользователя | Да | ЛК/КП/NBI |
Eltex-User-Timezone | Передача таймзоны пользователя | Да - для ЛК Нет - для КП | ЛК/КП/NBI |
Eltex-EMS-Role | Передача роли в EMS | Да | EMS |
Eltex-EMS-ResendTrap | Настройка профайла пользователя: Пересылать аварии на Email |
Нет | EMS |
Eltex-EMS-SendLogs | Настройка профайла пользователя: Пересылать логи на Email |
Нет | EMS |
Eltex-EMS-SendOntProblems | Настройка профайла пользователя: Пересылать проблемы ONT на Email |
Нет | EMS |
Eltex-EMS-IpList | Настройка профайла пользователя: IP |
-адрес для режима |
"multiuser |
" |
Отвечает за таймзону пользователя. Участвует в планировщике отчетов и отображении времени.
При настройке для пользователя должен иметь строковый формат вида Asia/Krasnoyarsk
Да.
обязательный атрибут для ЛК/NBI
необязателен, но желателен для КП
Возможные проблемы при настройке
Авторизация в keycloak проходит, а в EMS нет (Ошибка - пользователя не существует).
Встречалась при первоначальной настройке.
Проблема заключается в том, что в токене не приходит роль пользователя.
Необходимо пересоздать маппер Eltex-EMS-Role
HTTPS required
Что бы не было проблемы "HTTPS required" надо в реалме указывать в настройке "Require SSL" None. По умолчанию стоит "External requests".
Нет | EMS |