Настройка SSO (OAuth 2.0) через Keycloak
Keycloak — это инструмент для идентификации пользователей. Он реализует технологию единого входа, которая позволяет переходить из одной системы в другую без повторной аутентификации. Подробнее о работе Keycloak вы можете узнать здесь.
1. Настройка Keycloak
- Создание Realm:
Realm – рабочая область, которая содержит совокупность всех данных, необходимых для аутентификации (компания, пользователи, пароли).
В боковом меню выберите Create Realm > в Realm name введите название > Create - Cоздание Clients:
▪️ Перейдите в раздел Clients > введите Client ID > Next
▪️ Включите Client authentication > Оставьте галочку только напротив Standart flow > Save
▪️ В Valid redirect URLs введите адрес https://auth.unspot.ru/api/oauth2/verify
▪️ В Login settings выберете keycloak в Login theme > Save - Cоздание Users:
▪️ Перейдите в раздел Users > Create new user
▪️ Введите Username, Email, First name, Last name и нажмите Create > Save
▪️ Во вкладке Credentials задайте пароль для пользователя и уберите тумблер замены пароля пользователем при первой авторизации
Важно: Поле email должно быть заполнено, в дальнейшем это будет логином пользователя для входа.
2. Настройка Single Sign-On (SSO) в UnSpot

Для подключения интеграции:
1. Перейдите на сайте UnSpot в раздел Администрирование → Интеграции → Способы входа / SSO
2. На странице найдите Дополнительные способы входа и нажмите Подключить к OAuth 2.0
Примечание: для заполнения нижеприведенных полей перейдите в Keycloak. В боковом меню в перейдите в “Realm settings” и во вкладке General откройте ссылку “OpenID Endpoint Configuration”
clientId– идентификатор клиента- Перейдите в Keycloak > Clients > выберете компанию > во вкладке General скопируйте Client ID
LoginUri– введите ссылку из OpenID Endpoint Configuration- Пример: https://<название вашего сервера>/realms/<название вашего realms>/protocol/openid-connect/auth
Тип JWKs– проверка подлинности токенов доступа- если вы хотите вставить ссылку > выберите
Url, - если хотите вставить ключи вручную > выберите
Keys
- если вы хотите вставить ссылку > выберите
JWKs– в зависимости от выбранного типа JWK вставьте ссылку или скопированные ключи из ссылки OpenID Endpoint Configuration.- Пример: https://<название вашего сервера>/realms/<название вашего realms>/protocol/openid-connect/certs
Название– будет отображаться на кнопке подключение при входе в приложениеИконка– будет отображаться на кнопке подключение при входе в приложение. Формат изображения: png или jpg, размер до 5 МБ.Тип ответа– Code. Для интеграции с Keycloak выбрите этот тип ответа. C помощью кода Unspot получит информацию об имени, фамилии и почте для создания акаунта в системе.Client secret– секретный код для интеграции- Перейдите в Keycloak > Clients > выберете компанию > во вкладке Credentials скопируйте Client secret
TokenURI– введите ссылку из OpenID Endpoint Configuration- Пример: https://<название вашего сервера>/realms/<название вашего realms>/protocol/openid-connect/token
Scope– введите в полеopenid
Нажмите Сохранить > OAuth 2.0 успешно подключен.
Для отключения OAuth 2.0 нажмите на кнопку Отключить
Важно: Для автоматического входа сотрудников в систему UnSpot и импорта данных из Keycloak, необходимо добавить корпоративный домен компании в разделе Администрирование → Интеграции → Способы входа / SSO → OpenID Connect

Дополнительные настройки и отключение
- Тумблер «Применять срок действия авторизации как в SSO» (показывается при типе ответа Code) — сессия UnSpot живёт столько же, сколько токен, выданный Keycloak. Если тумблер выключен, действуют TTL из блока «Время действия авторизации» на этой же вкладке.
- При редактировании подключения поле Client secret можно оставить пустым — сохранённый секрет не изменится.
- Кнопка «Изменить» на карточке OAuth 2.0 открывает форму с сохранёнными параметрами, «Отключить» — убирает кнопку входа со страницы авторизации.