# Termidesk (по протоколу OIDC)

Termidesk (<https://termidesk.ru/>) — это российское решение для организации виртуальных рабочих мест.

Подключение Termidesk к Blitz Identity Provider выполняется по протоколу OIDC и состоит из двух этапов:

 * Этап 1. Настройки на стороне Termidesk

 * Этап 2. Настройки на стороне Blitz Identity Provider

<div style="background-color: #fff3cd; border: 1px solid #ffc107; border-radius: 5px; padding: 10px;">
     <strong>Важно:</strong> <p>В инструкции для примера указано, что Termidesk расположен на домене <code class="docutils literal notranslate"><span class="pre">https://termidesk.company.com,</span></code>а Blitz IDP установлен на домене <code class="docutils literal notranslate"><span class="pre">https://login.company.com.</span></code> Уточните ваши адреса перед применением инструкции.</p>
 </div>

### Этап 1. Настройки на стороне Termidesk

Документация Termidesk по добавлению аутентификации OIDC - `https://wiki.astralinux.ru/termidesk-help/latest/dokumentatsiya/termidesk-nastrojka-programmnogo-kompleksa/autentifikatsiya-pol-zovatelej-domeny-autentifikatsii/dobavlenie-autentifikatsii-oidc#id-.ДобавлениеаутентификацииOIDCv6.1-ДобавлениеаутентификацииOIDC`

Выполните следующие действия:

1. Открыть веб-интерфейс Termidesk
2. Перейти на вкладку «Компоненты - Домены аутентификации», затем нажать экранную кнопку [Создать] и выбрать из выпадающего списка «OIDC».
3. В открывшейся таблице заполнить следующие обязательные параметры для создания подключения:
    * **Название** - Текстовое наименование подключения
    * **Метка** - Информационное поле, используемое для идентификации объекта во внутренней структуре данных Termidesk.
    * **Субъекты** - Выбор субъектов, для которых будет доступно данное подключение.
    * **Порталы** - Выбор порталов фермы Termidesk, для которых будет доступно подключение.
    * **Client ID** - Уникальный идентификатор приложения, так же будет использоваться на стороне Identity Blitz.
    * **Client Secret** - Ключ приложения, так же будет использоваться на стороне Identity Blitz.
    * **Authorization endpoint** - URL-адрес авторизации Blitz. Найти его можно, открыв OIDC Discovery Blitz, параметр "authorization endpoint". OIDC Discovery располагается по адресу https://\<blitz-domain>/\<context>/.well-known/openid-configuration. В нашем примере это - https://login.company.com/blitz/.well-known/openid-configuration.
    * **Конечная точка выхода** - URL-адрес получения информации о завершении сессии пользователя. Найти его можно, открыв OIDC Discovery Blitz, параметр "end_session_endpoint".
    * **Token endpoint** - URL-адрес получения токена. Найти его можно, открыв OIDC Discovery Blitz, параметр "token_endpoint".
    * **Userinfo endpoint** - URL-адрес получения информации о пользователе. Найти его можно, открыв OIDC Discovery Blitz, параметр "userinfo_endpoint".
    * **Scope** - Набор областей действия, указать через пробел значения openid email profile groups.
    * **Атрибут имени пользователя** - Имя атрибута, в котором хранится имя пользователя. Значение по умолчанию: "email".
    * **Проверка SSL** - Проверка использования SSL.
4. Нажмите кнопку **Сохранить**.


---

### Этап 2. Настройки на стороне Blitz Identity Provider

В консоли управления *Blitz Identity Provider* перейдите в раздел **Приложения** и выполните следующие действия:

1. **Создайте** новое приложение, задав его базовые настройки:
   * **Идентификатор (entityID или client_id)**: client_id, который был указан в параметрах подключения на стороне Termidesk.
   * **Название**: имя приложения, которое будет отображаться на стороне Blitz IDP.
   * **Домен**: ``https://termidesk.company.com``

[![1.png](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/scaled-1680-/1.png)](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/1.png)

2. Нажмите **Создать**.
3. Нажмите на созданное приложение **Termidesk** и перейдите на вкладку **Протоколы**
4. Выберите **OAuth 2.0** и нажмите **Сконфигурировать**
5. Отредактируйте параметры подключения:
   * **Секрет (client_secret)**: client_secret, который был указан в параметрах подключения на стороне Termidesk.
   * **Предопределенная ссылка возврата** - ``https://termidesk.company.com/auth/<метка, указанная в параметрах подключения на стороне Termidesk>``
   * **Префиксы ссылок возврата**: ``https://termidesk.company.com``
   * **Допустимые разрешения**: ``openid email profile``
   * **Метод аутентификации при обращении к сервису выдачи маркеров** - Оставьте поле пустым
   * **Допустимые grant type** - Оставьте поле пустым
   * **Допустимые response type** - Укажите code и id_token
   * Поставьте галочку напротив поля **Добавлять в маркер идентификации параметр rights с правами пользователя на данное приложение**
   * **Добавляемые в маркер идентификации (id_token) утверждения** - Укажите email и sub

[![2.png](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/scaled-1680-/2.png)](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/2.png)
[![3.png](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/scaled-1680-/3.png)](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/3.png)
[![4.png](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/scaled-1680-/4.png)](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/4.png)

<div style="background-color: #fff3cd; border: 1px solid #ffc107; border-radius: 5px; padding: 10px;">
     <strong>Важно:</strong> <p>Для корректной работы Termidesk обязательным условием является передача скоупа groups, содержащего список групп пользователя. Для этого в Blitz Identity Provider необходимо выполнить следующие подготовительные действия. Cоздать пользовательский атрибут groups и настройть его маппинг на соответствующий атрибут с группами из внешнего каталога LDAP. Затем создать новый скоуп groups в разделе управления скоупами Blitz IDP. После этого вернуться в карточку созданного приложения Termidesk на вкладку Протоколы → OAuth 2.0 и внести изменения: в поле Допустимые разрешения (scopes) добавьте groups к уже имеющимся openid email profile, а в поле Добавляемые в маркер идентификации (id_token) утверждения дополнительно укажите атрибут groups. Без выполнения этих шагов Termidesk не сможет корректно определять роли и права доступа пользователей на основе групповой принадлежности.</p>
 </div>

6. Перейдите в раздел **OAuth2.0** и добавьте scope groups, в котором будет находиться атрибут с группами пользователя. Нажмите **Сохранить**.

[![5.png](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/scaled-1680-/5.png)](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/5.png)

7. Перейдите на вкладку **Приложения** и снова откройте карточку созданного ранее приложения Termidesk. 
8. Скорректируйте параметры подключения:
   * **Допустимые разрешения**: к имеющимся разрешениям добавьте groups
   * **Добавляемые в маркер идентификации (id_token) утверждения** - к имеющимся утверждениям добавьте groups
9. Нажмите **Сохранить**

[![6.png](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/scaled-1680-/6.png)](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/6.png)
[![7.png](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/scaled-1680-/7.png)](https://docs.identityblitz.ru/kb/uploads/images/gallery/2026-08/7.png)

<div style="background-color: #d0f0c0; border: 1px solid #28a745; border-radius: 5px; padding: 10px;">
<strong>Совет:</strong>
<p>После прохождения всех шагов рекомендуем проверить корректность входа в Termidesk: <code class="docutils literal notranslate"><span class="pre">https://termidesk.company.com</span></code></p>
</div>