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
-
Допустимые разрешения:
profile
openid
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в GitLab: https://gitlab.company.com