SCIM: Keycloak
Автоматическое создание и отключение учётных записей Trialix из Keycloak по протоколу SCIM 2.0. Встроенного клиента SCIM в Keycloak нет, нужен сторонний модуль. Мы рекомендуем открытое расширение keycloak-scim-outbound. Настройка описана по документации расширения и Keycloak, живой проверки связки с Trialix пока не было. Сервер SCIM Trialix покрыт автотестами по официальным сценариям проверки Entra и Okta, они прогоняются на каждом выпуске.
Если вход в Trialix уже настроен через Keycloak, а сотрудники заводятся при первом входе («Создавать учётную запись при первом входе»), SCIM нужен только для своевременного отключения уволенных.
Какое расширение
| Что | Значение |
|---|---|
| Название | keycloak-scim-outbound |
| Репозиторий | https://github.com/Termindiego25/keycloak-scim-outbound |
| Версия | 1.2.0 (версия в pom.xml, собрана под Keycloak 26.3.5; готовых сборок в репозитории нет, собирается из исходников) |
| Проверенный коммит | 6514623fa4a143dcdf8d9b8af9e7bf581c7b3fc2 (15.08.2026) |
| Лицензия | GPL-3.0 |
| Что умеет | создание, изменение и отключение пользователей (PATCH active=false), фильтр по группе Keycloak, выбор userName (логин, почта или атрибут), синхронизация групп в /Groups по желанию |
Почему не другие: scim-for-keycloak (Captain-P-Goldfish) стал платным, открытые сборки остановились на Keycloak 20; mitodl/keycloak-scim собран под Keycloak 25 и почти не развивается; keycloak-scim2-storage (suvera) не обновлялся с 2024 года; keycloak-scim-server (Metatavu) - это сервер SCIM внутри Keycloak, а не клиент. Сведения о репозиториях актуальны на 29.09.2026. Проверяйте актуальность перед установкой: расширение поддерживает один автор.
Токен в ЛК
- ЛК, «Каталоги», карточка «SCIM 2.0».
- Скопируйте «Адрес (Tenant URL)» -
https://api.trialix.ru/scim/v2. - «Выпустить токен», скопируйте значение из «Токен (показывается один раз)».

Сборка и установка
Нужны JDK 17 и Maven 3.8 или новее.
git clone https://github.com/Termindiego25/keycloak-scim-outbound.git
cd keycloak-scim-outbound
git checkout 6514623fa4a143dcdf8d9b8af9e7bf581c7b3fc2
mvn clean package
cp target/keycloak-scim-outbound-1.2.0.jar /opt/keycloak/providers/
/opt/keycloak/bin/kc.sh build
systemctl restart keycloak # или ваш способ перезапуска
Для Keycloak в контейнере положите jar в /opt/keycloak/providers/ в своём образе и выполните kc.sh build при сборке образа.
Настройка в Keycloak
Слушатель событий
- Консоль администратора, нужный realm, «Realm settings», вкладка «Events».
- «Event listeners»: добавьте
keycloak-scim-outbound. «Save». - «Admin events settings»: включите «Save events». Изменения, которые делает администратор в консоли (создание, блокировка, удаление пользователя), Keycloak передаёт слушателям только при включённых событиях администратора.
Поставщик SCIM
«User federation», «Add provider», keycloak-scim-outbound:
| Поле | Значение |
|---|---|
| SCIM Base URL | https://api.trialix.ru/scim/v2 |
| SCIM Token | токен trxs_… |
| Filter Group | группа Keycloak с сотрудниками, которым нужен Trialix; пусто - все пользователи realm |
| userName Strategy | email |
| Deprovision Action | deactivate |
| Sync Groups | true, если группы Keycloak должны стать отделами Trialix |
| Sync Groups Filter | названия групп через запятую; пусто - все группы |
«Save».
Что учесть
- Расширение отправляет изменения по событиям. Пользователи и группы, созданные до установки, само оно не переносит. Для первоначального переноса запустите синхронизацию в карточке поставщика в «User federation», если ваша версия расширения её показывает, либо заведите сотрудников в Trialix приглашением или через единый вход.
- При включённом «Sync Groups» уже существующие группы и их состав не переносятся, только изменения после включения.
- Вложенные группы Keycloak передаются плоскими группами.
- Удаление пользователя из группы расширение отправляет как
PATCHс фильтром путиmembers[value eq "…"], Trialix такую форму принимает. userNameдолжен быть почтой на домене, подтверждённом в ЛК, «Вход в компанию», поэтому «userName Strategy» -email.- Защита Trialix от массового отключения действует и здесь: больше max(5, 10 % сотрудников) деактиваций за час - ответ
429и письмо администраторам до нажатия «Разрешить массовые отключения на час». - Журнал расширения - в журнале Keycloak, строки начинаются с
[keycloak-scim-outbound].
Проверка
- Создайте в Keycloak тестового пользователя с почтой на подтверждённом домене и добавьте его в группу из «Filter Group».
- В ЛК Trialix, «Сотрудники», появится сотрудник с источником «каталог».
- Уберите пользователя из группы «Filter Group» или удалите его в Keycloak: расширение отправит
active=false, и учётная запись в Trialix будет деактивирована.
Обновлено 29.09.2026