Gitlab
Подключение GitLab
GitLab (https://gitlab.com) — это веб-приложение для хранения и управления репозиториями программного кода для Git.
Подключение GitLab к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:
-
Этап 1. Настройки на стороне GitLab
-
Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что GitLab расположен на домене https://gitlab.company.com, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне GitLab
Выполните следующие действия:
- Откройте для редактирования конфигурационный файл Gitlab:
gitlab.rb(например, /etc/gitlab/gitlab.rb). Отредактируйте блок gitlab_rails['omniauth_providers']:
-
label - укажите название Сервиса аутентификации, понятное пользователям. Название будет отображаться на кнопке страницы аутентификации. Например,
Blitz. -
name - укажите название протокола
openid_connect. -
scopes - укажите необходимые разрешения для получения данных. Например, стандартный scope
profile. -
response_type - укажите тип ответа
code. -
issuer - укажите URL поставщика аутентификации. Например,
https://login.company.com/blitz. -
discovery - установите значение
trueдля автоматического определения параметров клиента. -
client_auth_method - укажите метод аутентификации клиента у поставщика. Например,
basic. -
uid_field - укажите значение
sub. -
send_scope_to_token_endpoint - укажите значение
false. -
identifier - укажите уникальное название для идентификации приложения. Например,
gitlab. - secret - задайте секретный ключ для безопасной аутентификации приложения.
-
redirect_uri - укажите URL, на который пользователь будет перенаправлен после успешного входа в систему. Например,
https://login.company.com/gitlab/users/auth/openid_connect/callback.
{
name: "openid_connect",
label: "Blitz",
args: {
name: "openid_connect",
scope: ["openid","profile"],
response_type: "code",
issuer: "https://login.company.com/blitz",
discovery: true,
client_auth_method: "basic",
uid_field: "sub",
send_scope_to_token_endpoint: "false",
client_options: {
identifier: "gitlab",
secret: "eXa12m3PL45e",
redirect_uri: "https://login.company.com/gitlab/users/auth/openid_connect/callback"
}
}
}
- Сохраните файл.
Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id): аналогичный client_id, который был прописан в gitlab.rb.
- Название: имя приложения GitLab, которое будет отображаться на стороне Blitz IDP.
-
Домен:
https://gitlab.company.com
-
Нажмите Сохранить.
-
Далее нажмите кнопку Параметры
у предложения GitLab и отредактируйте параметры приложения:
-
Протоколы: выберите
OAuth 2.0и нажмите Сконфигурировать
Далее в параметрах укажите данные, как в gitlab.rb:
-
Секрет (client_secret): аналогичный client_secret, который был прописан в gitlab.rb
-
Префиксы ссылок возврата:
https://gitlab.company.com -
Допустимые разрешения:
profileopenid
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в GitLab: https://gitlab.company.com