Получение токена для доступа к REST API портала «Агрегатор»

Перед использованием REST API нужно получить токен, который необходимо подставлять во все последующие запросы, кроме запросов health. Для получения токена нужно авторизоваться в Termidesk, для этого:

  • выполнить запрос «https://aggr.termidesk.local/api/auth/v5.1/authenticators»;
  • запомнить значения параметров authUuid, authSmallName, auth;
  • выполнить запрос «https://aggr.termidesk.local/api/auth/v5.1/legacy/login» и заполнить экранные поля «Логин», «Пароль», «Название аутентификатора» (значение параметра auth из предыдущей команды), «UUID аутентификатора» (значение параметра authUuid из предыдущей команды), «Короткое название аутентификатора» (значение параметра authSmallName из предыдущей команды);
  • токен будет отображен в поле «token».

В приведенных командах aggr.termidesk.local - сетевой адрес или полное доменное имя узла с порталом «Агрегатор» Termidesk.

Для запросов проверки состояния сервера /aggregator/health используется токен, определенный в конфигурационном файле /etc/opt/termidesk-vdi/termidesk.conf в значении переменной HEALTH_CHECK_ACCESS_KEY.

Формат запроса к /api/health/check выглядит следующим образом:

curl -X 'GET' \
'https://aggr.termidesk.local/aggregator/health/check' \
-H 'accept: application/json' \
-H 'Authorization: Token 072bfec46ac7c42078bb41ff5f6d1ae201006f0824fb4b2bb8ab8befacb01058'
BASH

где:

Token 072... - токен, определенный в переменной HEALTH_CHECK_ACCESS_KEY файла /etc/opt/termidesk-vdi/termidesk.conf.

Для форматированного вывода рекомендуется установить пакет jq:

:~$ sudo apt install jq
BASH

и выполнить запрос, добавив в конец команды « | jq»:

curl -X 'GET' \
'https://aggr.termidesk.local/aggregator/health/check' \
-H 'accept: application/json' \
-H 'Authorization: Token 072bfec46ac7c42078bb41ff5f6d1ae201006f0824fb4b2bb8ab8befacb01058' | jq 
BASH

В случае, если запрос завершится ошибкой вида «curl: (60) SSL: no alternative certificate subject name matches target host name... curl failed to verify the legitimacy... », нужно дополнить запрос флагом --insecure, который отключит проверку валидности сертификатов:

Выполнение запроса без использования проверки SSL допустимо только на тестовых стендах. Для исправления ошибки в производственной среде необходимо установить на сервер с порталом «Агрегатор» валидные сертификаты.

curl -X 'GET' \
'https://aggr.termidesk.local/aggregator/health/check' \
-H 'accept: application/json' \
-H 'Authorization: Token 072bfec46ac7c42078bb41ff5f6d1ae201006f0824fb4b2bb8ab8befacb01058' --insecure | jq
BASH

Формат URL-команд портала «Агрегатор»

Общий вид команд реализован следующим образом:

/aggregator/api/<module>/<ver>/aggregator/<name>/,

где:

<module> - наименование модуля, реализованного в REST API;

<ver> - версия;

<name> - наименование элемента (эндпоинта). После наименования элемента также могут быть включены уникальные номера объектов и наименования других элементов.

Пример команды через curl:

curl -X 'GET' \
  'https://aggr.termidesk.local/api/discover/' \
  -H 'accept: application/json' \
  -H 'X-Auth-Token: izycb3z47wwziibprg183t4ep2ti0tar'
BASH

Список доступных модулей портала «Агрегатор»

В REST API реализовано следующее логическое разделение на модули в части портала «Агрегатор»:

  • «client» - модуль взаимодействия с компонентом «Клиент»;
  • «webui» - модуль управления функциями, доступными через веб-интерфейс.

Также при использовании портала «Агрегатор» доступны модули компонента «Универсальный диспетчер» (см. подраздел Список доступных модулей).

Список отображаемых модулей зависит от типа портала, который был выбран при установке:

  • «Агрегатор администратора»: доступны все модули портала «Агрегатор», а также модули компонента «Универсальный диспетчер» («aggregator», «auth», «discover», «health», «webui»);
  • «Агрегатор пользователя»: доступен модуль «client» портала «Агрегатор», а также модули компонента «Универсальный диспетчер» («auth», «discover», «health», «client», «wsproxy»);
  • «Агрегатор администратора» и «Агрегатор пользователя»: доступны все модули.

Электронный справочник по командам портала «Агрегатор»

Полная информация о параметрах и командах REST API доступна при вводе URL-команды https://aggr.termidesk.local/aggregator/docs/, где aggr.termidesk.local - сетевой адрес или полное доменное имя узла с порталом «Агрегатор» Termidesk. 

Доступ предоставляется после авторизации в веб-интерфейсе портала «Агрегатор».

По нажатию экранной кнопки [Try it out] в пространстве команд какого-либо модуля можно составить запрос и отправить его на выполнение экранной кнопкой [Execute]. После нажатия будет отображена также команда для запроса через curl.

Расположение экранных кнопок для получения доступа к формированию запроса

Расположение экранной кнопки для формирования запроса