OAuth2.0認証プロバイダーとしてAuth0を使用します。
Auth0 OmniAuth プロバイダを有効にするには、Auth0 アカウントとアプリケーションを作成する必要があります。
- Auth0 コンソールにサインインします。同じリンクを使用してアカウントを作成することもできます。
- 新規アプリ/APIを選択します。
- アプリケーション名を入力。例えば、’GitLab’。
- アプリケーションを作成すると、クイックスタートのオプションが表示されます。これらのオプションを無視して、代わりに設定を選択します。
- 設定画面の上部に、Auth0コンソールのドメイン、クライアントID、クライアントシークレットが表示されます。後で設定ファイルを完成させるために、これらの設定をメモしておいてください。例えば
- ドメイン
test1234.auth0.com
- クライアントID
t6X8L2465bNePWLOvt9yi41i
- クライアントシークレット:
KbveM3nqfjwCbrhaUy_gDu2dss8TIlHIdzlyf33pB7dEK5u_NyQdp65O_o02hXs2
- ドメイン
-
許可されたコールバックURL]を入力します:
-
http://<your_gitlab_url>/users/auth/auth0/callback
(または) https://<your_gitlab_url>/users/auth/auth0/callback
-
-
許可された起源(CORS) を記入してください:
-
http://<your_gitlab_url>
(または) https://<your_gitlab_url>
-
-
GitLab サーバーで設定ファイルを開きます。
Linuxパッケージ・インストールの場合:
sudo editor /etc/gitlab/gitlab.rb
セルフコンパイルによるインストールの場合:
cd /home/git/gitlab sudo -u git -H editor config/gitlab.yml
-
共通設定を構成して、シングルサインオンプロバイダとして
auth0
。これにより、既存のGitLabアカウントを持っていないユーザーのためのJust-In-Timeアカウントプロビジョニングが可能になります。 -
プロバイダ設定を追加します:
Linuxパッケージ・インストールの場合:
gitlab_rails['omniauth_providers'] = [ { name: "auth0", # label: "Provider name", # optional label for login button, defaults to "Auth0" args: { client_id: "<your_auth0_client_id>", client_secret: "<your_auth0_client_secret>", domain: "<your_auth0_domain>", scope: "openid profile email" } } ]
セルフコンパイルによるインストールの場合:
- { name: 'auth0', # label: 'Provider name', # optional label for login button, defaults to "Auth0" args: { client_id: '<your_auth0_client_id>', client_secret: '<your_auth0_client_secret>', domain: '<your_auth0_domain>', scope: 'openid profile email' } }
-
<your_auth0_client_id>
を Auth0 Console ページのクライアント ID に置き換えてください。 -
<your_auth0_client_secret>
を Auth0 Console ページのクライアントシークレットに置き換えます。 -
<your_auth0_client_secret>
を Auth0 Console ページのドメインに置き換えます。 - インストール方法に応じて、GitLabを再設定または再起動します:
- Linuxパッケージを使ってインストールした場合は、GitLabを再設定してください。
- インストールをセルフコンパイルした場合は、GitLabを再起動してください。
サインインページでは、通常のサインインフォームの下に Auth0 アイコンが表示されているはずです。アイコンを選択して認証プロセスを開始します。Auth0はユーザーにサインインとGitLabアプリケーションの作成を求めます。ユーザーが認証に成功すると、GitLabに戻りサインインします。