GitLab
This guide configures a self-hosted GitLab instance to use Casdoor as the OIDC provider.
As the GitLab docs state, GitLab only works with OpenID providers that use HTTPS, deploy Casdoor over HTTPS (e.g. behind an NGINX reverse proxy with SSL). Casdoor за замовчуванням слухає лише порт 8000 через HTTP і не має функціональності, пов'язаної з HTTPS.
Нижче наведено деякі з імен, згаданих у конфігурації:
CASDOOR_HOSTNAME: Доменне ім'я або IP, де розгорнуто сервер Casdoor, наприклад, https://door.casbin.com.
GITLAB_HOSTNAME: Доменне ім'я або IP, де розгорнуто GitLab, наприклад, https://gitlab.com.
Крок 1: Розгортання Casdoor та GitLab
Deploy Casdoor and GitLab. After deployment, ensure:
- Casdoor можна ввійти та використовувати в звичайному режимі.
- Встановіть значення
originдля Casdoor (conf/app.conf) наCASDOOR_HOSTNAME.
Крок 2: Налаштування додатку Casdoor
- Створіть або використовуйте існуючий додаток Casdoor.
- Додайте URL перенаправлення:
http://GITLAB_HOSTNAME/users/auth/openid_connect/callback. - Додайте провайдера, якого ви хочете, та доповніть інші налаштування.
On the application settings page, note Client ID and Client secret (see the picture above); use them in the next step.
OIDC discovery: http://<CASDOOR_HOSTNAME>/.well-known/openid-configuration.
Крок 3: Налаштування GitLab
Follow the steps below, or adapt from GitLab OIDC docs (e.g. for source installs).
-
На вашому сервері GitLab відкрийте файл конфігурації.
sudo editor /etc/gitlab/gitlab.rb -
Додайте конфігурацію провайдера. (URL HOSTNAME повинен включати http або https)
gitlab_rails['omniauth_providers'] = [
{
name: "openid_connect",
label: "Casdoor", # optional label for the login button, defaults to "Openid Connect"
args: {
name: "openid_connect",
scope: ["openid", "profile", "email"],
response_type: "code",
issuer: "<CASDOOR_HOSTNAME>",
client_auth_method: "query",
discovery: true,
uid_field: "preferred_username",
client_options: {
identifier: "<YOUR CLIENT ID>",
secret: "<YOUR CLIENT SECRET>",
redirect_uri: "<GITLAB_HOSTNAME>/users/auth/openid_connect/callback"
}
}
}
] -
Перезавантажте ваш сервер GitLab.
-
Кожен зареєстрований користувач може відкрити
GITLAB_HOSTNAME/-/profile/account та підключити обліковий запис Casdoor.
-
Завершено. You can now log in to your GitLab instance via Casdoor.
