Начиная с версии 2.8.92, Semaphore поддерживает аутентификацию через OpenID. В этой статье мы рассмотрим, как настроить Ansible Semaphore для аутентификации пользователей через GitLab.
Настройка аутентификации через OpenID начинается с конфигурации самого провайдера — в нашем случае GitLab.
1. Создайте приложение в GitLab
Чтобы включить аутентификацию через GitLab, необходимо создать приложение в настройках вашей учётной записи GitLab.
- Перейдите в раздел Applications в настройках вашей учётной записи GitLab: https://gitlab.com/-/profile/applications
- Заполните обязательные поля:
- Redirect URL: http://localhost:3000/api/auth/oidc/gitlab/redirect.
- Scopes: openid,profile,email.
- После нажатия Save application вы увидите следующий экран:
- Скопируйте и сохраните где-нибудь секретный ключ (он понадобится для настройки Semaphore) и нажмите Continue.
- Приложение готово.

 
           
        2. Добавьте настройки OpenID в файл конфигурации Semaphore
Как известно, настройки Semaphore хранятся в файле конфигурации (обычно config.json) в формате JSON.
Нужно добавить в него следующие настройки, чтобы Semaphore знал, как использовать GitLab в качестве провайдера OpenID:
3. Запустите Semaphore с аутентификацией через OpenID/GitLab
После сохранения изменений в файле конфигурации запустите или перезапустите Semaphore с новыми настройками.
На странице входа Semaphore появится новая кнопка «GitLab».

