Интеграцию с SSO (Single Sign-On — технология единого входа) Keycloak (на базе Open ID) можно использовать, если нет возможности подключить интеграцию с Active Directory.
Интеграция с SSO позволяет:
- Выполнять защищенный вход в приложение через единую учетную запись.
- Создавать и изменять пользователей.
- Назначать роли пользователям.
- Просматривать список пользователей, которые находятся онлайн на инстансе в данный момент (аналогично просмотру пользователей со статусом В сети). Список активных пользователей вы можете просмотреть только на данный момент, без возможности просмотра данных в прошлом.
Подключить интеграцию вы можете в файле конфигурации с помощью специальной настройки:
- Если настройка включена, все пользователи при входе или выходе из Case.one будут перенаправлены на страницу аутентификации Keycloak.
- Если настройка выключена, используется аутентификация согласно настройкам приложения.
При включенной интеграции с SSO Keycloak в Case.one недоступно:
- Создание пользователей.
- Редактирование сведений о пользователе в Case.one, которые указаны в обязательных полях и синхронизируются с SSO Keycloak.
- Изменение ролей пользователей.
- Изменение групп у пользователей.
Авторизация через SSO
При передаче данных SSO Keycloack в Case.one поиск пользователя в Case.one выполняется по значению параметра email.
Благодаря проверке по адресу электронной почты не возникнет ошибка авторизации, связанная с повторным созданием ранее созданного пользователя в SSO Keycloak на другом сервере SSO Keycloak.
При попытке авторизации пользователя с уже зарегистрированным адресом электронной почты:
- Если внешний идентификатор не совпадает:
- Выполнится связь пользователя в Case.one с данными из SSO Keycloack
- Пользователь будет авторизован
- Если идентификатор отсутствует, авторизация будет выполнена.

Вид и функциональность страницы аутентификации реализован на стороне Keycloak.
При авторизации пользователя через SSO Keycloak, если авторизация прошла успешно, на стороне Case.one выполняются проверки:
- Статуса пользователя — заблокированный пользователь не сможет авторизоваться.
- Наличия активных лицензий — если активная подписка найдена, пользователь успешно авторизовывается в Case.one.
- Проверка IP-адреса пользователя:
- Включено ли ограничение доступа по IP-адресу
- Соответствует ли IP-адрес пользователя разрешенному диапазону IP-адресов
- Проверка наличия ограничений по количеству пользователей в системе согласно тарифному плану.
- Проверка наличия запрета авторизации на инстансе Case.one пользователям с определенными ролями.
Если хоть одна проверка не пройдена:
- Выполняется разрыв активной сессии авторизации пользователя в SSO (Keykloack).
- Пользователь будет перенаправлен на страницу с описанием ошибки:
- Если пользователь заблокирован в Case.one — Пользователь заблокирован, обратитесь к администратору. Для возврата на форму авторизации обновите страницу
- Если отсутствует активная лицензия — Не найдено ни одной активной лицензии, обратитесь к администратору. Для возврата на форму авторизации обновите страницу
- Если IP-адрес пользователя не соответствует разрешенному диапазону IP-адресов — Вы пытаетесь зайти в систему с недопустимым IP-адресом, пожалуйста, обратитесь к администратору. Для возврата на форму авторизации обновите страницу
- При достижении лимита по количеству пользователей согласно текущему тарифу — На вашем аккаунте достигнуто ограничение по количеству пользователей. Улучшите вашу подписку для увеличения количества пользователей в сервисе. Для возврата на форму авторизации обновите страницу
- При наличии запрета на авторизацию для роли, которой обладает пользователь, попытавшийся авторизоваться — Доступ запрещен, пожалуйста, обратитесь к администратору. Для возврата на форму авторизации обновите страницу
Создание пользователя
Через SSO будет создана новая карточка пользователя:
- При новой попытке авторизоваться, если пользователь был удален на стороне Case.one.
- Если в Case.one нет аутентифицированного пользователя.
При передаче данных SSO Keycloack предоставляет уникальный идентификатор пользователя в Keycloack, при создании пользователя в Case.one этот идентификатор сохраняется.
По уникальному идентификатору пользователя можно определить, является ли пользователь новым или уже существует в Case.one.
В карточку пользователя будет внесена следующая информация, полученная от SSO:
- Фамилия
- Имя
- Отчество
- Инициалы — добавляются в Case.one на основании ФИО
- Внешний идентификатор
- Должность и Организация — при отсутствии сведений поля будут пустыми
Если пользователь уже существует Case.one, его роли и информация по нему автоматически обновляются при получении данных из SSO.
При включенной интеграции с SSO Keycloack данные о пользователе будут автоматически обновляться, например:
- При изменении значения поля Отчество в SSO Keycloack значение будет автоматически обновлено в Case.one при следующем обмене данными
- Если поле Отчество не заполнено в SSO Keycloack, значение поля в Case.one будет сброшено при следующем обмене данными
- В конфигурационном файле возможно указать соответствия поля Отчество
При включенной интеграции также доступно назначение ролей пользователям на основе сведений, полученных через SSO Keycloak:
- Если сведения о роли получены, при наличии в Case.one соответствия пользователю будет назначена указанная роль.
- При наличии нескольких совпадений ролей в Case.one пользователю будет назначена первая роль из списка совпавших.
- Если роль не найдена или не указана, в Case.one будет автоматически создана новая роль:
- Название роли в Case.one будет получено из SSO Keycloack
- В роли будут назначены права Просмотр на раздел Личный кабинет → Профиль (на остальные разделы права не будут присвоены)
- Если интеграция включена, в Case.one недоступно создавать, удалять роли или изменять название.
- При назначении или изменении роли через SSO Keycloack в разделе Действия в системе в Case.one будут добавлен следующие события от имени системы (Workflow Service):
- Редактирование данных пользователя
- Создание роли
- Изменение прав созданной роли на Просмотр в разделе Личный кабинет → Профиль