Получение токена
Перед использованием REST API нужно получить токен (-H 'X-Auth-Token: 7bjqtodywjd69dkpdta9ncqprifkr3pu' из примера выше), который необходимо подставлять во все последующие запросы, кроме запросов health. Для получения токена необходимо авторизоваться в Termidesk, для этого:
- выполнить URL-команду:
http://disp.termidesk.local/api/auth/draft/authenticators; - запомнить значения параметров
authUuid,authSmallName,auth; - выполнить URL-команду:
http://disp.termidesk.local/api/auth/v1/legacy/loginи заполнить экранные поля «Логин», «Пароль», «Название аутентификатора» (значение параметраauthиз предыдущей команды), «UUID аутентификатора» (значение параметраauthUuidиз предыдущей команды), «Короткое название аутентификатора» (значение параметраauthSmallNameиз предыдущей команды).
В приведенных командах disp.termidesk.local - сетевой адрес или полное доменное имя узла диспетчера Termidesk.
Для запросов проверки состояния сервера /api/health используется токен, определенный в конфигурационном файле /etc/opt/termidesk-vdi/termidesk.conf в значении переменной HEALTH_CHECK_ACCESS_KEY.
Формат URL-команд
Общий вид команд реализован следующим образом:
/api/<module>/<ver>/<name>/,
где:
<module> - наименование модуля, реализованного в REST API;
<ver> - версия;
<name> - наименование элемента. После наименования элемента также могут быть включены уникальные номера объектов и наименования других элементов.
В REST API реализовано следующее логическое разделение на модули:
- «agent» - модуль взаимодействия с компонентом «Агент» виртуального рабочего места (ВРМ);
- «auth» - модуль для аутентификации пользователей веб-интерфейса;
- «client» - модуль взаимодействия с компонентом «Клиент»;
- «external/rubackup» - модуль для интеграции с системой резервного копирования RuBackup;
- «health» - модуль проверки состояния Termidesk;
- «webui» - модуль управления функциями, доступными через веб-интерфейс Termidesk;
- «wsproxy» - модуль взаимодействия с компонентом «Шлюз».
Список модулей API, предоставляемого сервером, может быть получен URL-командой /api/discover/.
Пример команды через curl:
curl -X 'GET' \ 'http://disp.termidesk.local/api/discover/' \ -H 'accept: application/json' \ -H 'X-Auth-Token: 7bjqtodywjd69dkpdta9ncqprifkr3pu'
Электронный справочник по командам
Полная информация о параметрах и командах REST API доступна при вводе URL-команды http://disp.termidesk.local/api/docs/, где disp.termidesk.local - сетевой адрес или полное доменное имя узла диспетчера Termidesk.
Доступ предоставляется после авторизации в Termidesk.
По нажатию кнопки [Try it out] в пространстве команд какого-либо модуля можно составить запрос и отправить его на выполнение кнопкой [Execute]. После нажатия будет отображена также команда для запроса через curl.
Для ввода токена доступа к определенным командам необходимо нажать кнопку [Authorize] и ввести необходимые ключи:
- «bearerAuth» - токен для аутентификации в модулях раздела «external». Получить токен можно в модуле «auth» по URL:
/external/login; - «legacyTokenAuth» - альтернативный способ аутентификации в модулях раздела «webui». Может быть получен в модуле «auth» по URL:
/legacy/login. Наименование в заголовках запросов:X-Auth-Token; - «healthTokenAuth» - токен для аутентификации в модулях раздела «health». Указывается в формате:
Token <значение>. Значение токена определено в конфигурационном файле/etc/opt/termidesk-vdi/termidesk.conf,в значении переменнойHEALTH_CHECK_ACCESS_KEY.

