Перейти к содержанию

Настройка интеграции GitLab с Trusted.ID#

В этом руководстве вы узнаете, как настроить интеграцию GitLab c Trusted.ID.

📌 GitLab — это веб-платформа для управления проектами и репозиториями программного кода, работа которой основана на популярной системе контроля версий Git.

Настройка входа c помощью Trusted.ID состоит из нескольких ключевых этапов, которые выполняются в двух разных системах.


Шаг 1. Создание приложения в Trusted.ID#

  1. Авторизуйтесь в системе Trusted.ID.
  2. Создайте приложение с настройками:

  3. Адрес приложения - адрес инсталляции системы GitLab;

  4. Возвратный URL #1 (Redirect_uri) - <адрес инсталляции GitLab>/users/auth/oauth2_generic/callback.

    🔍 Подробнее о создании приложений читайте в инструкции.

  5. Откройте настройки приложения и скопируйте значения полей:

    • Идентификатор (Client_id),
    • Секретный ключ (client_secret).

Настройки приложения

Шаг 2. Настройка системы GitLab#

Настройка авторизации пользователей сервиса GitLab через Trusted.ID происходит в файле конфигурации GitLab gitlab.rb, расположенного в папке конфигурации сервиса (/config).

  1. Откройте файл конфигурации gitlab.rb в режиме редактирования и перейти к блоку OmniAuth Settings.
  2. Задайте следующие значения для параметров, при необходимости, раскомментировав или добавив недостающие:

        gitlab_rails['omniauth_enabled'] = true  
        gitlab_rails['omniauth_allow_single_sign_on'] = ['oauth2_generic', '<НазваниеСистемыTrusted.ID>']  
        gitlab_rails['omniauth_block_auto_created_users'] = false  
    
        Значение gitlab_rails['omniauth_providers'] должно выглядеть следующим образом:  
    
        gitlab_rails['omniauth_providers'] = [  
        {  
        'name' => 'oauth2_generic',   
        'app_id' => '<Client_id приложения, созданного в Trusted.ID>',  
        'app_secret' => '<Client_secret приложения, созданного в Trusted.ID>',  
        'args' => {  
        client_options: {  
        'site' => 'https://<Адрес системы Trusted.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' => '<НазваниеСистемыTrusted.ID>’  
        }  
        }  
        ]  
    

    Настройка конфигурационного файла GitLab

  3. Перезапустите сервис GitLab для применения новых настроек.

  4. При необходимости, зайдите под администратором в интерфейсную часть сервиса GitLab. Перейдите в настройки по пути Admin (Admin Area) — Settings-General.

    На открывшейся странице в блоке Sign-in restrictions установите флаг напротив <НазваниеСистемыTrusted.ID> в дочернем блоке Enabled OAuth authentication sources.

    Настройка административной части GitLab


Шаг 3. Проверка работы интеграции#

  1. Откройте страницу входа в GitLab.
  2. Убедитесь, что появилась кнопка Вход через Trusted.ID.
  3. Нажмите на кнопку и выполните вход с корпоративной учётной записью:

  4. Система перенаправит вас на страницу аутентификации Trusted.ID.

  5. Введите свои корпоративные учетные данные.

    Виджет входа GitLab

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

Для повышения удобства работы и хранения данных веб-сайт TRUSTED.RU использует файлы COOKIE. Продолжая работу с веб-сайтом, Вы даете свое согласие на работу с этими файлами.