# SSO через OpenID Connect v1 в KeyCloak
# Симптомы

Поддерживает ли Swarmica SSO через OpenID?&#x20;

Поддерживает ли Swarmica SSO через KeyCloak?

# Решение

Да, SSO через OpenID Connect v1 в KeyCloak поддерживается.

Для этого нужно настроить Client в KeyCloak и дать данные доступа в поддержку Swarmica:

*   REALM (например, **master**)
*   URL (например, [https://mykeycloak.company.tld](https://mykeycloack.company.tld) )
*   CLIENT\_ID (например, **swarmica\_app**)
*   CLIENT\_SECRET (тот, что будет сгенерирован автоматически)

Для настройки выполните следующие шаги:

1.  Зайдите в административную панель KeyCloak, выберите Realm (и запомните его название - оно будет установлено поддержкой Swarmica в качестве REALM)  > Clients > Create client![](https://support.swarmica.com/attachments/l/v/lvpdwvb_ItMjc2g4_a/Screenshot_2024-12-04_at_21.27.37.png)
2.  Задайте название для клиентского приложения Client ID (например, **swarmica\_app**) по протоколу OpenID Connect:![](https://support.swarmica.com/attachments/e/i/ei3JOHhMzdTI8TYh_a/Screenshot_2024-12-04_at_21.29.01.png)
3.  На следующем экране включите Аутентификацию клиента:
    ![](https://support.swarmica.com/attachments/_/G/_Gh0nYbY_upVDHYH_a/Screenshot_2024-12-04_at_21.29.37.png)
4.  На следующем экране задайте разрешенные адреса перенаправления, чтобы там был указан адрес вашего инстанса Swarmica. Если у вас есть затруднения с тем, какой адрес указать – обратитесь к нам в поддержку, мы поможем.
    Для случая, когда адрес вашего инстанса **yourinstance.domain.tld** настройки будут выглядеть вот так:
    ![](https://support.swarmica.com/attachments/G/I/GILKoCbgGeCP4XuV_a/Screenshot_2024-12-04_at_21.30.58.png)
5.  Сохраните изменения и в созданном клиентском приложении зайдите на вкладку Credentials, поставьте **Client Authenticator** в значение **Client Id and Secret** и скопируйте Client Secret:
    ![](https://support.swarmica.com/attachments/7/g/7gV3KRfwaORTIw3v_a/Screenshot_2024-12-04_at_21.31.45.png)
6.  Зайдите на сервер Swarmica по SSH и добавьте в переменную `/root/swarmica/.env` следующие параметры:&#x20;
    *   Добавить в AUTH\_PROVIDERS пункт `oidc` (в нижнем регистре)
    *   OIDC\_DEFAULT\_ROLE - роль пользователя, если не ставить - будет CUSTOMER
    *   OIDC\_REALM\_NAME - название REALM в Keycloak
    *   OIDC\_SERVER\_URL - сервер keycloak, без слеша на конце
    *   OIDC\_CLIENT\_ID - id клиента внутри REALM на Keycloak, задаётся при создании клиента
    *   OIDC\_CLIENT\_SECRET - секрет клиента, выдаётся на вкладке Credentials внутри клиента Keycloak
    *   OIDC\_TIMEOUT - сколько ждать ответа от сервера, по-умолчанию 30 сек
7.  Сделайте рестарт системы:

```txt
docker compose up -d
```