Page tree

SAYMON документация

Skip to end of metadata
Go to start of metadata

Для пользователей Центрального Пульта предусмотрена возможность авторизации посредством сервера Keycloak.

Настройка сервера

Для настройки взаимодействия между сервером Центрального Пульта и внешним сервером Keycloak необходимо получить хотя бы один из параметров:

  • Realm Certificate, которым сервер Keycloak подписывает пользовательские токены,
  • файл настроек соединения для Backend-клиента.

Настройка клиента и получение параметров осуществляются в консоли администратора Keycloak.

Realm Certificate

Для получения Realm Certificate необходимо:

  1. Выбрать требуемую область (Realm) из списка (здесь - SAYMON):


  2. В секции Realm settings на вкладке Tokens уточнить алгоритм подписи токенов в поле Default Signature Algorithm (здесь - RS256):


  3. На вкладке Keys найти cертификат для данного алгоритма:


  4. Кнопка в соответствующей строке открывает искомый сертификат: 

    Данные рекомендуется сохранить в файл keycloak_realm_certificate.

Backend-клиент

Клиенты - это параметры соединения с Keycloak-сервером для внешних приложений, которые авторизуют пользователей.

Главной особенностью Backend-клиента является наличие собственной аутентификации: такой клиент получает конфиденциальный доступ по секретному ключу.

Для настройки Backend-клиента необходимо:

  1. Выбрать требуемую область (Realm) из списка (здесь - SAYMON):


  2. В секции Clients нажать кнопку :


  3. Ввести имя Backend-клиента в поле Client ID:

    и нажать кнопку .

  4. Слайдер Client authentication установить в положение On:

    и нажать кнопку .

  5. B списке Action выбрать Download adapter config


  6. Нажать кнопку , чтобы получить файл настроек соединения для Backend-клиента в формате JSON:

Конфигурация сервера Центрального Пульта

Для взаимодействия с сервером Keycloak на сервере Центрального Пульта необходимо:

  1. Добавить раздел keycloak в конфигурационный файл сервера  /etc/saymon/saymon-server.conf:

    "keycloak": {
     	"realm_certificate": "<данные keycloak_realm_certificate>",
    	"realm_certificate_file": "/etc/saymon/keycloak_realm_certificate",
        "config_file": "/etc/saymon/keycloak_backend.json"	
    }

    где:

    • realm_certificate - данные Keycloak Realm Certificate;

    • realm_certificate_file - путь к файлу с Keycloak Realm Certificate;
    • config_file - путь к файлу настроек соединения, сгенерированному сервером Keycloak для Backend-клиента.

      Параметры перечислены в порядке понижения приоритета при одновременном указании. Для работы с Keycloak достаточно указать один из параметров.


  2. Перезапустить службу saymon-server:

    sudo service saymon-server restart

Настройка web-интерфейса

Для возможности авторизации пользователей посредством Keycloak через web-интерфейс Центрального Пульта необходимо получить файл настроек соединения Frontend-клиента.

Настройка клиента и получение файла настроек соединения осуществляются в консоли администратора Keycloak.

Frontend-клиент

Главной особенностью Frontend-клиента является отсутствие собственной аутентификации: данный клиент получает публичный доступ.

Для настройки Frontend-клиента необходимо:

  1. Выбрать требуемую область (Realm) из списка (здесь - SAYMON):


  2. В секции Clients нажать кнопку :


  3. Ввести имя Frontend-клиента в поле Client ID:

    и нажать кнопку .

  4. Слайдер Client authentication установить в положение Off:

    и нажать кнопку .

  5. На вкладке Settings в разделе Access settings указать корректные URI-адреса, с которых будет осуществляться доступ к Keycloak-серверу, и на которые будут перенаправляться пользователи после успешной аутентификации и выхода:

    и нажать кнопку .


  6. B списке Action выбрать Download adapter config


  7. Нажать кнопку , чтобы получить файл настроек соединения для Frontend-клиента в формате JSON:

Конфигурация web-интерфейса Центрального Пульта

Для активации формы авторизации через Keycloak в web-интерфейсе системы необходимо:

  1. Добавить на сервере Центрального Пульта раздел authentication в конфигурационный файл клиента  /usr/local/saymon/client/client-config.js:

    authentication: {
      availableMethods: ['native', 'keycloak'],
      methodByDefault: 'keycloak',
      services: {
        keycloak: {
          configUri: 'keycloak_frontend.json'
        }
      }
    }
    

    где:

    • availableMethods - список доступных для пользователей методов аутентификации;
    • methodByDefault - метод аутентификации, который будет предложен пользователю сразу при отображении аутентификационной формы;
    • configUri - файл настроек соединения, сгенерированный сервером Keycloak для Frontend-клиента.

      Файл настроек соединения для Frontend-клиента необходимо поместить в каталог с конфигурационным файлом клиента /usr/local/saymon/client/client-config.js.

  2. Обновить страницу Центрального Пульта в web-браузере.
  • No labels