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

GitLab

CasdoorはOIDCプロトコルを使用して自己デプロイされたGitLabサーバーにリンクでき、このドキュメントではその方法を示します。

注意

GitLabドキュメントに記載されているように、GitLabはHTTPSを使用するOpenIDプロバイダーのみと動作するため、SSL証明書のセットアップを備えたNGINXリバースプロキシの背後にCasdoorをデプロイするなどしてHTTPSでCasdoorをデプロイする必要があります。 Casdoor自体はデフォルトでHTTP経由でポート8000でのみリッスンし、HTTPS関連の機能はありません。

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

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

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

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

まず、CasdoorとGitLabをデプロイする必要があります。

成功したデプロイメントの後、以下を確認する必要があります:

  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. 必要なプロバイダーを追加し、他の設定を補完します。

アプリケーション設定 特に、アプリケーション設定ページで2つの値を取得できます:Client IDClient secret(上の画像を参照)、これらを次のステップで使用します。

お気に入りのブラウザを開いて、http://CASDOOR_HOSTNAME/.well-known/openid-configurationにアクセスすると、CasdoorのOIDC設定が表示されます。

ステップ3:GitLabを設定する

以下の手順に従って設定するか、このドキュメントに従ってカスタム変更を行うことができます(例えば、Omnibusではなくソースコードを使用してGitLabをインストールしている場合など)。

  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. 完了。 これで、Casdoorを使用して自分のGitLabにログインできます。 GitLabログイン