Auth0 OmniAuth プロバイダ

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

  1. Auth0 コンソールにサインインします。 アカウントを作成する必要がある場合は、同じリンクから作成できます。

  2. 新規アプリ/API」を選択します。

  3. アプリケーション名を入力します(’GitLab’ で問題ありません)。

  4. 作成後、クイックスタートオプションが表示されますが、無視してクイックスタートオプションの上にある「設定」を選択してください。

  5. 設定画面の上部に、ドメイン、クライアント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 サーバーで設定ファイルを開きます。

    オムニバス・パッケージ用:

    sudo editor /etc/gitlab/gitlab.rb
    

    ソースからのインストールの場合:

    cd /home/git/gitlab
    sudo -u git -H editor config/gitlab.yml
    
  9. 初期設定についてはOmniAuth の初期設定を参照してください。

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

    オムニバス・パッケージ用:

    gitlab_rails['omniauth_providers'] = [
      {
        "name" => "auth0",
        "args" => { client_id: 'YOUR_AUTH0_CLIENT_ID',
                    client_secret: 'YOUR_AUTH0_CLIENT_SECRET',
                    domain: 'YOUR_AUTH0_DOMAIN',
                    scope: 'openid profile email'
                  }
      }
    ]
    

    ソースからのインストールの場合:

    - { name: '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 を手順 5 の Auth0 Console ページのクライアント ID に変更します。

  12. 手順 5 の Auth0 Console ページから、YOUR_AUTH0_CLIENT_SECRET をクライアントシークレットに変更します。

  13. Omnibus経由またはソースからそれぞれGitLabをインストールした場合は、変更を有効にするためにGitLabを再設定または再起動します。

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