メインコンテンツにスキップ

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自体はデフォルトでHTTP経由でポート8000でのみリッスンし、HTTPS関連の機能はありません。

以下は設定で言及されているいくつかの名前です:

CASDOOR_HOSTNAME:Casdoorサーバーがデプロイされているドメイン名またはIP、例:https://door.casbin.com

GITLAB_HOSTNAME:GitLabがデプロイされているドメイン名またはIP、例:https://gitlab.com

ステップ1:CasdoorとGitLabをデプロイする

Deploy Casdoor and GitLab. After deployment, ensure:

  1. Casdoorにログインして正常に使用できます。
  2. Set Casdoorのorigin値(conf/app.conf)をCASDOOR_HOSTNAMEに設定します。 Casdoor設定

ステップ2:Casdoorアプリケーションを設定する

  1. 既存のCasdoorアプリケーションを作成または使用します。
  2. リダイレクトURLを追加:http://GITLAB_HOSTNAME/users/auth/openid_connect/callback
  3. 必要なプロバイダーを追加し、他の設定を補完します。

Application Setting 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).

  1. GitLabサーバーで設定ファイルを開きます。

    sudo editor /etc/gitlab/gitlab.rb
  2. プロバイダー設定を追加します。 (HOSTNAME URLには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"
    }
    }
    }
    ]
  3. GitLabサーバーを再起動します。

  4. 登録された各ユーザーは**GITLAB_HOSTNAME/-/profile/account**を開いてCasdoorアカウントを接続できます。 GitLab接続

  5. 完了。 You can now log in to your GitLab instance via Casdoor. GitLabログイン