Termidesk (по протоколу OIDC)
Termidesk (https://termidesk.ru/) — это российское решение для организации виртуальных рабочих мест.
Подключение Termidesk к Blitz Identity Provider выполняется по протоколу OIDC и состоит из двух этапов:
-
Этап 1. Настройки на стороне Termidesk
-
Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что Termidesk расположен на домене https://termidesk.company.com,а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.
Этап 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
Выполните следующие действия:
- Открыть веб-интерфейс Termidesk
- Перейти на вкладку «Компоненты - Домены аутентификации», затем нажать экранную кнопку [Создать] и выбрать из выпадающего списка «OIDC».
- В открывшейся таблице заполнить следующие обязательные параметры для создания подключения:
- Название - Текстовое наименование подключения
- Метка - Информационное поле, используемое для идентификации объекта во внутренней структуре данных 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.
- Нажмите кнопку Сохранить.
Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id): client_id, который был указан в параметрах подключения на стороне Termidesk.
- Название: имя приложения, которое будет отображаться на стороне Blitz IDP.
- Домен:
https://termidesk.company.com
- Нажмите Создать.
- Нажмите на созданное приложение Termidesk и перейдите на вкладку Протоколы
- Выберите OAuth 2.0 и нажмите Сконфигурировать
- Отредактируйте параметры подключения:
- Секрет (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
Для корректной работы Termidesk обязательным условием является передача скоупа groups, содержащего список групп пользователя. Для этого в Blitz Identity Provider необходимо выполнить следующие подготовительные действия. Cоздать пользовательский атрибут groups и настройть его маппинг на соответствующий атрибут с группами из внешнего каталога LDAP. Затем создать новый скоуп groups в разделе управления скоупами Blitz IDP. После этого вернуться в карточку созданного приложения Termidesk на вкладку Протоколы → OAuth 2.0 и внести изменения: в поле Допустимые разрешения (scopes) добавьте groups к уже имеющимся openid email profile, а в поле Добавляемые в маркер идентификации (id_token) утверждения дополнительно укажите атрибут groups. Без выполнения этих шагов Termidesk не сможет корректно определять роли и права доступа пользователей на основе групповой принадлежности.
- Перейдите в раздел OAuth2.0 и добавьте scope groups, в котором будет находиться атрибут с группами пользователя. Нажмите Сохранить.
- Перейдите на вкладку Приложения и снова откройте карточку созданного ранее приложения Termidesk.
- Скорректируйте параметры подключения:
- Допустимые разрешения: к имеющимся разрешениям добавьте groups
- Добавляемые в маркер идентификации (id_token) утверждения - к имеющимся утверждениям добавьте groups
- Нажмите Сохранить
После прохождения всех шагов рекомендуем проверить корректность входа в Termidesk: https://termidesk.company.com