При наличии нескольких экземпляров Avanpost FAM возможно реализовать общий личный кабинет на основе опроса этих экземпляров. В данной статье рассмотрен вопрос настройки данного механизма посредством использования компонента SelfService.
К моменту осуществления настройки должны быть выполнены следующие требования:
- В сети существуют несколько экземпляров Avanpost FAM для настройки, далее именуемые соответственно FAM1, FAM2 и т.д.
Выполнена синхронизация времени в ОС с сервером синхронизации времени.
Установка и настройка
- Скачать и распаковать на рабочую машину актуальную версию SelfService из репозитория, далее по инструкции будет использован путь /opt/idp/newlk.
- Открыть конфигурационный файл настроек из корня папки с SelfService. Изменить при необходимости параметры, настроив их под собственную конфигурацию и используя Таблицу 1.
Пример настройки конфигурационного файла:
baseUrl = 'http://IP-адрес машины SelfService:4009' cert = '/opt/idp/cert.pem' public_dir = 'public/' [templates] templates = 'public/templates/default' localization = 'public/templates/localization' saml_response = 'public/templates/saml-response.html' oauth2_form_post_template = 'public/templates/oauth2-formpost-response.html' oauth2_error_template = 'public/templates/oauth2-error-response.html' [lk] callbackUrl = 'http://IP-адрес машины SelfService:4009/callback' issuer = 'cert.issuer.host' baseUrl = 'http://IP-адрес машины SelfService:4009' authority = 'https://FAM1.apidp.ru' port = 4009 path = '/' idleTimeoutInMinutes = 50 dir = './public/spa' clientId = 'remote-lk' natsTimeoutSec = 5 [nats] embedded = true connection = '' serverCfgFile = '' [cluster] enabled = true [cluster.self] id = 'test1' [[cluster.nodes]] id = 'test2' [[cluster.nodes]] id = 'test3'
Таблица 1. Параметры настройки конфигурационного файла SelfService
Параметр | Значение |
---|---|
baseUrl | Адрес |
cert | Расположение (путь) файла cert.pem основного экземпляра FAM |
port | Порт, используемый для соединения с SelfService |
callbackUrl | URL callback, который используется при возврате с FAM после выполнения аутентификации |
authority | Адрес FAM1 |
clientId | clientId приложения Личного кабинета |
natsTimeoutSec | Время ожидания ответа от экземпляров FAM1 и других экземпляров, в секундах |
id | Произвольные уникальные ID для экземпляра FAM |
3. Для настройки FAM1 открыть конфигурационный файл config.json (config.toml для Avanpost FAM 1.8+), расположенный по умолчанию по пути /opt/idp/config.toml, любым доступным в системе текстовым редактором. В коде ниже использован текстовый редактор vi.
vi /opt/idp/config.toml
Далее следует добавить приведенные ниже строки в секцию lk, указав в параметре webauthnOrigin IP-адрес машины SelfService и через двоеточие порт, используемый для соединения:
[lk] webauthnOrigin = 'http://IP-адрес машины SelfService:4009' runAs = 'nats'
Добавить ниже следующие разделы, указав в параметре connection адрес baseUrl
, по которому выполняется запрос к системе, и через двоеточие порт, используемый для соединения nats (по умолчанию 4222), а в параметре id уникальный идентификатор FAM1:
[nats] connection = 'Адрес baseUrl, по которому выполняется запрос к системе:4222' [cluster] enabled = true [cluster.self] id = 'test1'
4. Для настройки FAM2 и последующих экземпляров открыть конфигурационный файл config.json (config.toml для Avanpost FAM 1.8+), расположенный по умолчанию по пути /opt/idp/config.toml, любым доступным в системе текстовым редактором. В коде ниже использован текстовый редактор vi.
vi /opt/idp/config.toml
Далее следует добавить приведенные ниже строки в секцию lk:
[lk] runAs = 'nats'
Добавить ниже следующие разделы, указав в параметре connection адрес baseUrl
, по которому выполняется запрос к системе, и через двоеточие порт, используемый для соединения nats (по умолчанию 4222), а в параметре id уникальный идентификатор FAM2:
[nats] connection = 'Адрес baseUrl, по которому выполняется запрос к системе:4222' [cluster] enabled = true [cluster.self] id = 'test2'
5. Открыть административную консоль FAM1 и создать приложение (Приложения - Добавить приложение) типа OAuth/OpenID Connect.
В Настройках интеграции приложения следует указать Client ID, baseUrl, Redirect URls и Backchannel-logout, согласно примеру ниже, использовав собственные настройки из конфигурационного файла SelfService.
6. Из консоли машины с FAM1 запустить приложение SelfService следующей командой:
cd /opt/newlk/ SSO_CFG=/opt/newlk/config.lk.toml ./lk_linux_amd64
Проверка настройки
- Для проверки корректности настройки сервиса следует открыть в браузере адрес http://адрес
baseUrl
, по которому выполняется запрос к системе:4009/. - Удостовериться, что открывается личный кабинет.