Как настроить интеграцию GitLab с Encvoy ID#
В этом руководстве вы узнаете, как настроить единый вход (SSO) в GitLab через систему Encvoy ID.
📌 GitLab — это веб-платформа для управления проектами и репозиториями программного кода, работа которой основана на популярной системе контроля версий Git.
Настройка входа через Encvoy ID состоит из нескольких ключевых этапов, которые выполняются в двух разных системах.
Шаг 1. Создание приложения#
- Авторизуйтесь в системе Encvoy ID.
-
Создайте приложение с настройками:
-
Адрес приложения - адрес инсталляции системы GitLab;
-
Возвратный URL #1 (
Redirect_uri) -<адрес инсталляции GitLab>/users/auth/oauth2_generic/callback.🔍 Подробнее о создании приложений читайте в инструкции.
-
Откройте настройки приложения и скопируйте значения полей:
- Идентификатор (
Client_id), - Секретный ключ (
client_secret).
- Идентификатор (
Шаг 2. Настройка системы GitLab#
Настройка авторизации пользователей сервиса GitLab через Encvoy ID происходит в файле конфигурации GitLab gitlab.rb, расположенного в папке конфигурации сервиса (/config).
- Откройте файл конфигурации gitlab.rb в режиме редактирования и перейти к блоку OmniAuth Settings.
-
Задайте следующие значения для параметров:
gitlab_rails['omniauth_enabled'] = true gitlab_rails['omniauth_allow_single_sign_on'] = ['oauth2_generic', '<НазваниеСистемыEncvoy ID>'] gitlab_rails['omniauth_block_auto_created_users'] = false Значение gitlab_rails['omniauth_providers'] должно выглядеть следующим образом: gitlab_rails['omniauth_providers'] = [ { 'name' => 'oauth2_generic', 'app_id' => '<Client_id приложения, созданного в Encvoy ID>', 'app_secret' => '<Client_secret приложения, созданного в Encvoy ID>', 'args' => { client_options: { 'site' => 'https://<Адрес системы Encvoy ID>/', 'authorize_url' => '/api/oidc/auth', 'user_info_url' => '/api/oidc/me', 'token_url' => '/api/oidc/token' }, user_response_structure: { root_path: [], id_path: ['sub'], attributes: { email:'email', name:'nickname' }, }, scope: 'openid profile email', 'name' => '<НазваниеСистемыEncvoy ID>’ } } ]
-
Перезапустите сервис GitLab для применения новых настроек.
-
При необходимости, зайдите под администратором в интерфейсную часть сервиса GitLab. Перейдите в настройки по пути Admin (Admin Area) — Settings-General.
На открывшейся странице в блоке Sign-in restrictions установите флаг напротив <НазваниеСистемыEncvoy ID> в дочернем блоке Enabled OAuth authentication sources.

Шаг 3. Проверка работы интеграции#
- Откройте страницу входа в GitLab.
- Убедитесь, что появилась кнопка Вход через Encvoy ID.
-
Нажмите на кнопку и выполните вход с корпоративной учётной записью:
-
Система перенаправит вас на страницу аутентификации Encvoy ID.
-
Введите свои корпоративные учетные данные.

-
После успешной аутентификации вы должны быть перенаправлены обратно в GitLab и автоматически авторизованы в своём аккаунте.