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をデプロイする必要があります。
成功したデプロイメントの後、以下を確認する必要があります:
- Casdoorにログインして正常に使用できます。
- Set Casdoorのorigin値(conf/app.conf)をCASDOOR_HOSTNAMEに設定します。 
ステップ2:Casdoorアプリケーションを設定する
- 既存のCasdoorアプリケーションを作成または使用します。
- リダイレクトURLを追加:http://GITLAB_HOSTNAME/users/auth/openid_connect/callback。
- 必要なプロバイダーを追加し、他の設定を補完します。
 特に、アプリケーション設定ページで2つの値を取得できます:
 特に、アプリケーション設定ページで2つの値を取得できます:Client IDとClient secret(上の画像を参照)、これらを次のステップで使用します。
お気に入りのブラウザを開いて、http://CASDOOR_HOSTNAME/.well-known/openid-configurationにアクセスすると、CasdoorのOIDC設定が表示されます。
ステップ3:GitLabを設定する
以下の手順に従って設定するか、このドキュメントに従ってカスタム変更を行うことができます(例えば、Omnibusではなくソースコードを使用してGitLabをインストールしている場合など)。
- GitLabサーバーで設定ファイルを開きます。 - sudo editor /etc/gitlab/gitlab.rb
- プロバイダー設定を追加します。 (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"
 }
 }
 }
 ]
- GitLabサーバーを再起動します。 
- 登録された各ユーザーは - GITLAB_HOSTNAME/-/profile/accountを開いてCasdoorアカウントを接続できます。 
- 完了。 これで、Casdoorを使用して自分のGitLabにログインできます。 