OAuth2.0認証プロバイダーとしてAuth0を使用します。

Auth0 OmniAuth プロバイダを有効にするには、Auth0 アカウントとアプリケーションを作成する必要があります。

  1. Auth0 コンソールにサインインします。同じリンクを使用してアカウントを作成することもできます。
  2. 新規アプリ/APIを選択します。
  3. アプリケーション名を入力。例えば、’GitLab’。
  4. アプリケーションを作成すると、クイックスタートのオプションが表示されます。これらのオプションを無視して、代わりに設定を選択します。
  5. 設定画面の上部に、Auth0コンソールのドメインクライアントIDクライアントシークレットが表示されます。後で設定ファイルを完成させるために、これらの設定をメモしておいてください。例えば
    • ドメインtest1234.auth0.com
    • クライアントIDt6X8L2465bNePWLOvt9yi41i
    • クライアントシークレット:KbveM3nqfjwCbrhaUy_gDu2dss8TIlHIdzlyf33pB7dEK5u_NyQdp65O_o02hXs2
  6. 許可されたコールバックURL]を入力します:
    • http://<your_gitlab_url>/users/auth/auth0/callback (または)
    • https://<your_gitlab_url>/users/auth/auth0/callback
  7. 許可された起源(CORS) を記入してください:
    • http://<your_gitlab_url> (または)
    • https://<your_gitlab_url>
  8. GitLab サーバーで設定ファイルを開きます。

    Linuxパッケージ・インストールの場合:

    sudo editor /etc/gitlab/gitlab.rb
    

    セルフコンパイルによるインストールの場合:

    cd /home/git/gitlab
    sudo -u git -H editor config/gitlab.yml
    
  9. 共通設定を構成して、シングルサインオンプロバイダとしてauth0 。これにより、既存のGitLabアカウントを持っていないユーザーのためのJust-In-Timeアカウントプロビジョニングが可能になります。

  10. プロバイダ設定を追加します:

    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' }
      }
    
  11. <your_auth0_client_id> を Auth0 Console ページのクライアント ID に置き換えてください。
  12. <your_auth0_client_secret> を Auth0 Console ページのクライアントシークレットに置き換えます。
  13. <your_auth0_client_secret> を Auth0 Console ページのドメインに置き換えます。
  14. インストール方法に応じて、GitLabを再設定または再起動します:

サインインページでは、通常のサインインフォームの下に Auth0 アイコンが表示されているはずです。アイコンを選択して認証プロセスを開始します。Auth0はユーザーにサインインとGitLabアプリケーションの作成を求めます。ユーザーが認証に成功すると、GitLabに戻りサインインします。